From 35a338a9f937e0842a434665f4fa15e2812a0b79 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Thu, 31 Oct 2019 18:33:29 +0000 Subject: [PATCH] 2.3.7 release build, docs, changelog and events demo page updated --- CHANGELOG.md | 5 + README-zh_CN.md | 2 +- README.md | 24 +- dist/vue-grid-layout.common.js | 499 ++++++++++++++++++---------- dist/vue-grid-layout.common.js.map | 2 +- dist/vue-grid-layout.umd.js | 499 ++++++++++++++++++---------- dist/vue-grid-layout.umd.js.map | 2 +- dist/vue-grid-layout.umd.min.js | 2 +- dist/vue-grid-layout.umd.min.js.map | 2 +- examples/02-events.js | 6 +- package.json | 12 +- 11 files changed, 675 insertions(+), 380 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8356ddcb..5b4cbc51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 2.3.7 (Oct 31, 2019) + +* renamed 'resized' event emitted when the container changes size (browser window or other), introduced in #337, fixes #358 +* bugfix on layout-ready event + ## 2.3.6 (Sep 11, 2019) * reverted grid item w and h previous rounding change, fixes #355 diff --git a/README-zh_CN.md b/README-zh_CN.md index ebb322a1..65074738 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -6,7 +6,7 @@ vue-grid-layout是一个类似于[Gridster](http://dsmorse.github.io/gridster.js/)的栅格布局系统, 适用于Vue.js。 **灵感源自于 [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** -### **当前版本:** 2.3.6 (支持 Vue 2.2+) +### **当前版本:** 2.3.7 (支持 Vue 2.2+) ### **Vue 2.1.10 及以下请使用 [2.1.3](https://github.com/jbaysolutions/vue-grid-layout/tree/2.1.3)** ### **Vue 1 请使用 [1.0.3](https://github.com/jbaysolutions/vue-grid-layout/tree/1.0.3)** diff --git a/README.md b/README.md index 2ec205aa..9edea4d2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ vue-grid-layout is a grid layout system, like [Gridster](http://dsmorse.github.io/gridster.js/), for Vue.js. **Heavily inspired in [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** -### **Current version:** 2.3.6 (Supports Vue 2.2+) +### **Current version:** 2.3.7 (Supports Vue 2.2+) ### **For Vue 2.1.10 and below use version [2.1.3](https://github.com/jbaysolutions/vue-grid-layout/tree/2.1.3)** ### **For Vue 1 use version [1.0.3](https://github.com/jbaysolutions/vue-grid-layout/tree/1.0.3)** @@ -481,6 +481,7 @@ Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/ @resize="resizeEvent" @move="moveEvent" @resized="resizedEvent" + @container-resized="containerResizedEvent" @moved="movedEvent"> {{item.i}} @@ -604,6 +605,27 @@ Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/ }, ``` +* **containerResizedEvent** + + Container Resized event + + Every time the grid item/layout container changes size (browser window or other) + +```javascript + /** + * + * @param i the item id/index + * @param newH new height in grid rows + * @param newW new width in grid columns + * @param newHPx new height in pixels + * @param newWPx new width in pixels + * + */ + containerResizedEvent: function(i, newH, newW, newHPx, newWPx){ + console.log("CONTAINER RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); + }, +``` + ## Contribute diff --git a/dist/vue-grid-layout.common.js b/dist/vue-grid-layout.common.js index 9a8eb30a..652368ca 100644 --- a/dist/vue-grid-layout.common.js +++ b/dist/vue-grid-layout.common.js @@ -1764,7 +1764,7 @@ $export($export.P + $export.F * (fails(function () { /***/ "584a": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.9' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -2207,7 +2207,7 @@ NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { /***/ "8378": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.9' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -4425,12 +4425,12 @@ var web_dom_iterable = __webpack_require__("ac6a"); var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"4e668661-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=1dcc0fd5& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=e827a502& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-item",class:_vm.classObj,style:(_vm.style)},[_vm._t("default"),(_vm.resizableAndNotStatic)?_c('span',{ref:"handle",class:_vm.resizableHandleClass}):_vm._e()],2)} var staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=1dcc0fd5& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=e827a502& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -5603,17 +5603,17 @@ var interact = __webpack_require__("fb3a"); }, rowHeight: function rowHeight() { this.createStyle(); - this.emitResized(); + this.emitContainerResized(); }, cols: function cols() { this.tryMakeResizable(); this.createStyle(); - this.emitResized(); + this.emitContainerResized(); }, containerWidth: function containerWidth() { this.tryMakeResizable(); this.createStyle(); - this.emitResized(); + this.emitContainerResized(); }, x: function x(newVal) { this.innerX = newVal; @@ -5625,13 +5625,11 @@ var interact = __webpack_require__("fb3a"); }, h: function h(newVal) { this.innerH = newVal; - this.createStyle(); - this.emitResized(); + this.createStyle(); // this.emitContainerResized(); }, w: function w(newVal) { this.innerW = newVal; - this.createStyle(); - this.emitResized(); + this.createStyle(); // this.emitContainerResized(); }, renderRtl: function renderRtl() { // console.log("### renderRtl"); @@ -5732,7 +5730,7 @@ var interact = __webpack_require__("fb3a"); this.style = style; }, - emitResized: function emitResized() { + emitContainerResized: function emitContainerResized() { // this.style has width and height with trailing 'px'. The // resized event is without them var styleProps = {}; @@ -5745,7 +5743,7 @@ var interact = __webpack_require__("fb3a"); styleProps[prop] = matches[1]; } - this.$emit("resized", this.i, this.h, this.w, styleProps.height, styleProps.width); + this.$emit("container-resized", this.i, this.h, this.w, styleProps.height, styleProps.width); }, handleResize: function handleResize(event) { if (this.static) return; @@ -6277,12 +6275,12 @@ var component = normalizeComponent( ) /* harmony default export */ var GridItem = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"4e668661-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=336c4f92& -var GridLayoutvue_type_template_id_336c4f92_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} -var GridLayoutvue_type_template_id_336c4f92_staticRenderFns = [] +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=bff27f1c& +var GridLayoutvue_type_template_id_bff27f1c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} +var GridLayoutvue_type_template_id_bff27f1c_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=336c4f92& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=bff27f1c& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -6691,6 +6689,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, watch: { width: function width(newval, oldval) { + var self = this; this.$nextTick(function () { var _this = this; @@ -6950,8 +6949,8 @@ var GridLayoutvue_type_style_index_0_lang_css_ = __webpack_require__("e279"); var GridLayout_component = normalizeComponent( components_GridLayoutvue_type_script_lang_js_, - GridLayoutvue_type_template_id_336c4f92_render, - GridLayoutvue_type_template_id_336c4f92_staticRenderFns, + GridLayoutvue_type_template_id_bff27f1c_render, + GridLayoutvue_type_template_id_bff27f1c_staticRenderFns, false, null, null, @@ -6972,9 +6971,9 @@ var GridLayout_component = normalizeComponent( var VueGridLayout = { // ResponsiveGridLayout, GridLayout: GridLayout, - GridItem: GridItem // module.exports = VueGridLayout; + GridItem: GridItem +}; // module.exports = VueGridLayout; -}; Object.keys(VueGridLayout).forEach(function (name) { external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(name, VueGridLayout[name]); }); @@ -6995,7 +6994,7 @@ Object.keys(VueGridLayout).forEach(function (name) { /***/ (function(module, exports, __webpack_require__) { /** - * interact.js 1.5.4 + * interact.js 1.6.3 * * Copyright (c) 2012-2019 Taye Adeyemi * Released under the MIT License. @@ -7031,7 +7030,9 @@ var _interactions = _interopRequireDefault(_$interactions_23({})); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -7307,7 +7308,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } @@ -7334,7 +7335,10 @@ function install(scope) { var listeners = {}; for (var _i = 0; _i < methodNames.length; _i++) { - var method = methodNames[_i]; + var _ref; + + _ref = methodNames[_i]; + var method = _ref; listeners[method] = doOnInteractions(method, scope); } @@ -7390,10 +7394,10 @@ function install(scope) { type: 'blur', listener: function listener(event) { for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref; + var _ref2; - _ref = scope.interactions.list[_i2]; - var interaction = _ref; + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; interaction.documentBlur(event); } } @@ -7450,10 +7454,10 @@ function install(scope) { function releasePointersOnRemovedEls() { // for all inactive touch interactions with pointers down for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref2; + var _ref3; - _ref2 = scope.interactions.list[_i3]; - var interaction = _ref2; + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { continue; @@ -7461,11 +7465,11 @@ function install(scope) { var _loop = function _loop() { - _ref3 = interaction.pointers[_i4]; - var pointer = _ref3; + _ref4 = interaction.pointers[_i4]; + var pointer = _ref4; - if (!scope.documents.some(function (_ref4) { - var doc = _ref4.doc; + if (!scope.documents.some(function (_ref5) { + var doc = _ref5.doc; return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); })) { // remove the pointer from the interaction @@ -7474,7 +7478,7 @@ function install(scope) { }; for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { - var _ref3; + var _ref4; _loop(); } @@ -7499,10 +7503,10 @@ function doOnInteractions(method, scope) { scope.prevTouchTime = scope.now(); for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { - var _ref5; + var _ref6; - _ref5 = event.changedTouches[_i5]; - var changedTouch = _ref5; + _ref6 = event.changedTouches[_i5]; + var changedTouch = _ref6; var pointer = changedTouch; var pointerId = _pointerUtils["default"].getPointerId(pointer); @@ -7580,10 +7584,10 @@ function getInteraction(searchDetails) { }); } -function onDocSignal(_ref6, signalName) { - var doc = _ref6.doc, - scope = _ref6.scope, - options = _ref6.options; +function onDocSignal(_ref7, signalName) { + var doc = _ref7.doc, + scope = _ref7.scope, + options = _ref7.options; var docEvents = scope.interactions.docEvents; var eventMethod = signalName.indexOf('add') === 0 ? _events["default"].add : _events["default"].remove; @@ -7602,12 +7606,12 @@ function onDocSignal(_ref6, signalName) { var eventOptions = options && options.events; for (var _i7 = 0; _i7 < docEvents.length; _i7++) { - var _ref7; + var _ref8; - _ref7 = docEvents[_i7]; - var _ref8 = _ref7, - type = _ref8.type, - listener = _ref8.listener; + _ref8 = docEvents[_i7]; + var _ref9 = _ref8, + type = _ref9.type, + listener = _ref9.listener; eventMethod(doc, type, listener, eventOptions); } } @@ -7646,7 +7650,9 @@ var _scope = _$scope_24({}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -7756,16 +7762,16 @@ function () { _loop(key); } - var _loop2 = function _loop2(key) { - Object.defineProperty(_this._proxy, key, { + var _loop2 = function _loop2(_key) { + Object.defineProperty(_this._proxy, _key, { value: function value() { - return that[key].apply(that, arguments); + return that[_key].apply(that, arguments); } }); }; - for (var key in _ProxyMethods) { - _loop2(key); + for (var _key in _ProxyMethods) { + _loop2(_key); } this._signals.fire('new', { @@ -8462,7 +8468,9 @@ var is = _interopRequireWildcard(_$is_57); var _window = ___interopRequireDefault_48(_$window_66); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -8541,9 +8549,11 @@ var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); var __is_51 = ___interopRequireWildcard_51(_$is_57); -var ___window_51 = ___interopRequireDefault_51(_$window_66); +var ___window_51 = ___interopRequireWildcard_51(_$window_66); + +function ___getRequireWildcardCache_51() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; } -function ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -8603,17 +8613,13 @@ var getParent = function getParent(el) { function indexOfDeepestElement(elements) { var deepestZoneParents = []; - var dropzoneParents = []; - var dropzone; var deepestZone = elements[0]; var index = deepestZone ? 0 : -1; - var parent; - var child; var i; var n; for (i = 1; i < elements.length; i++) { - dropzone = elements[i]; // an element might belong to multiple selector dropzones + var dropzone = elements[i]; // an element might belong to multiple selector dropzones if (!dropzone || dropzone === deepestZone) { continue; @@ -8634,18 +8640,34 @@ function indexOfDeepestElement(elements) { deepestZone = dropzone; index = i; continue; + } // compare zIndex of siblings + + + if (dropzone.parentNode === deepestZone.parentNode) { + var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0; + var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0; + + if (dropzoneZIndex >= deepestZIndex) { + deepestZone = dropzone; + index = i; } + continue; + } // populate the ancestry array for the latest deepest dropzone + + if (!deepestZoneParents.length) { - parent = deepestZone; + var _parent = deepestZone; + var parentParent = void 0; - while (getParent(parent) && getParent(parent) !== parent.ownerDocument) { - deepestZoneParents.unshift(parent); - parent = getParent(parent); + while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { + deepestZoneParents.unshift(_parent); + _parent = parentParent; } - } // if this element is an svg element and the current deepest is - // an HTMLElement + } + var parent = void 0; // if this element is an svg element and the current deepest is an + // HTMLElement if (deepestZone instanceof ___domObjects_51["default"].HTMLElement && dropzone instanceof ___domObjects_51["default"].SVGElement && !(dropzone instanceof ___domObjects_51["default"].SVGSVGElement)) { if (dropzone === deepestZone.parentNode) { @@ -8657,7 +8679,7 @@ function indexOfDeepestElement(elements) { parent = dropzone; } - dropzoneParents = []; + var dropzoneParents = []; while (parent.parentNode !== parent.ownerDocument) { dropzoneParents.unshift(parent); @@ -8671,13 +8693,13 @@ function indexOfDeepestElement(elements) { } var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; - child = parents[0].lastChild; + var child = parents[0].lastChild; while (child) { if (child === parents[1]) { deepestZone = dropzone; index = i; - deepestZoneParents = []; + deepestZoneParents = dropzoneParents; break; } else if (child === parents[2]) { break; @@ -8778,7 +8800,9 @@ var arr = ___interopRequireWildcard_49(_$arr_47); var __is_49 = ___interopRequireWildcard_49(_$is_57); -function ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_49() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function clone(source) { var dest = {}; @@ -8827,7 +8851,8 @@ function pointerExtend(dest, source) { } pointerExtend.prefixedPropREs = { - webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/ + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ }; var ___default_60 = pointerExtend; _$pointerExtend_60["default"] = ___default_60; @@ -8866,7 +8891,9 @@ var __is_61 = ___interopRequireWildcard_61(_$is_57); var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); -function ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_61() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -9140,7 +9167,9 @@ var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_52() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -9152,7 +9181,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } @@ -9247,7 +9276,10 @@ function addDelegate(selector, context, type, listener, optionalArg) { }; // add delegate listener functions for (var _i2 = 0; _i2 < documents.length; _i2++) { - var doc = documents[_i2]; + var _ref; + + _ref = documents[_i2]; + var doc = _ref; add(doc, type, delegateListener); add(doc, type, delegateUseCapture, true); } @@ -9350,15 +9382,15 @@ function delegateListener(event, optionalArg) { fakeEvent.currentTarget = element; for (var _i3 = 0; _i3 < listeners.length; _i3++) { - var _ref; + var _ref2; - _ref = listeners[_i3]; + _ref2 = listeners[_i3]; - var _ref2 = _ref, - _ref3 = _slicedToArray(_ref2, 3), - fn = _ref3[0], - capture = _ref3[1], - passive = _ref3[2]; + var _ref3 = _ref2, + _ref4 = _slicedToArray(_ref3, 3), + fn = _ref4[0], + capture = _ref4[1], + passive = _ref4[2]; if (capture === !!options.capture && passive === options.passive) { fn(fakeEvent); @@ -9477,7 +9509,9 @@ var _extend = ___interopRequireDefault_63(_$extend_53); var __is_63 = ___interopRequireWildcard_63(_$is_57); -function ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_63() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -9489,21 +9523,21 @@ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object. function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } -function getStringOptionResult(value, interactable, element) { +function getStringOptionResult(value, target, element) { if (value === 'parent') { return (0, _$domUtils_51.parentNode)(element); } if (value === 'self') { - return interactable.getRect(element); + return target.getRect(element); } return (0, _$domUtils_51.closest)(element, value); } -function resolveRectLike(value, interactable, element, functionArgs) { +function resolveRectLike(value, target, element, functionArgs) { if (__is_63.string(value)) { - value = getStringOptionResult(value, interactable, element); + value = getStringOptionResult(value, target, element); } else if (__is_63.func(value)) { value = value.apply(void 0, _toConsumableArray(functionArgs)); } @@ -9588,7 +9622,9 @@ var ___extend_59 = ___interopRequireDefault_59(_$extend_53); var __is_59 = ___interopRequireWildcard_59(_$is_57); -function ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_59() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -9891,7 +9927,9 @@ var _Signals = ___interopRequireDefault_56(_$Signals_46); function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_56() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function warnOnce(method, message) { var warned = false; // eslint-disable-next-line no-shadow @@ -9975,7 +10013,9 @@ var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_ function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_14() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -10060,6 +10100,11 @@ function () { } } } + }, { + key: "getRect", + value: function getRect(_element) { + return null; + } }]); return Eventable; @@ -10098,7 +10143,9 @@ var _Eventable = ___interopRequireDefault_16(_$Eventable_14); function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_16() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -10385,7 +10432,7 @@ function () { } // delegated event else if (__is_16.string(this.target)) { ___events_16["default"]["".concat(addRemove, "Delegate")](this.target, this._context, type, listener, options); - } // remove listener from this Interatable's element + } // remove listener from this Interactable's element else { ___events_16["default"][addRemove](this.target, type, listener, options); } @@ -10532,7 +10579,9 @@ var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_17() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -11011,7 +11060,9 @@ _$interactionFinder_22["default"] = void 0; var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); -function ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_22() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var finder = { methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'], @@ -11192,7 +11243,9 @@ var __arr_1 = ___interopRequireWildcard_1(_$arr_47); var __is_1 = ___interopRequireWildcard_1(_$is_57); -function ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_1() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } ___scope_1.ActionName.Drag = 'drag'; @@ -11354,7 +11407,9 @@ var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); var __arr_2 = ___interopRequireWildcard_2(_$arr_47); -function ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_2() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -11494,7 +11549,9 @@ var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_3() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_3(scope) { var actions = scope.actions, @@ -12031,7 +12088,9 @@ var ___scope_4 = _$scope_24({}); var __utils_4 = ___interopRequireWildcard_4(_$utils_56); -function ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_4() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -12195,7 +12254,9 @@ var __is_6 = ___interopRequireWildcard_6(_$is_57); function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_6() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } ___scope_6.ActionName.Resize = 'resize'; @@ -12211,6 +12272,7 @@ function __install_6(scope) { }); interactions.signals.on('action-start', start); interactions.signals.on('action-move', __move_6); + interactions.signals.on('action-end', end); interactions.signals.on('action-start', updateEventAxes); interactions.signals.on('action-move', updateEventAxes); resize.cursors = initCursors(browser); @@ -12490,7 +12552,7 @@ function start(_ref2) { return; } - var startRect = interaction.rect; + var startRect = (0, ___extend_6["default"])({}, interaction.rect); var resizeOptions = interaction.interactable.options.resize; /* * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge @@ -12517,7 +12579,12 @@ function start(_ref2) { interaction.resizeRects = { start: startRect, - current: (0, ___extend_6["default"])({}, startRect), + current: { + left: startRect.left, + right: startRect.right, + top: startRect.top, + bottom: startRect.bottom + }, inverted: (0, ___extend_6["default"])({}, startRect), previous: (0, ___extend_6["default"])({}, startRect), delta: { @@ -12529,6 +12596,7 @@ function start(_ref2) { height: 0 } }; + iEvent.edges = interaction.prepared.edges; iEvent.rect = interaction.resizeRects.inverted; iEvent.deltaRect = interaction.resizeRects.delta; } @@ -12625,12 +12693,25 @@ function __move_6(_ref3) { iEvent.deltaRect = deltaRect; } -function updateEventAxes(_ref4) { - var interaction = _ref4.interaction, - iEvent = _ref4.iEvent, - action = _ref4.action; +function end(_ref4) { + var iEvent = _ref4.iEvent, + interaction = _ref4.interaction; - if (action !== 'resize' || !interaction.resizeAxes) { + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function updateEventAxes(_ref5) { + var iEvent = _ref5.iEvent, + interaction = _ref5.interaction, + action = _ref5.action; + + if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) { return; } @@ -12735,7 +12816,9 @@ var ___raf_7 = ___interopRequireDefault_7(_$raf_62); function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_7() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_7(scope) { var interactions = scope.interactions, @@ -12979,7 +13062,9 @@ _$InteractableMethods_8["default"] = void 0; var __is_8 = ___interopRequireWildcard_8(_$is_57); -function ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_8() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_8(scope) { var Interactable = scope.Interactable, @@ -13179,7 +13264,9 @@ var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_9() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_9(scope) { var interact = scope.interact, @@ -13230,6 +13317,7 @@ function __install_9(scope) { interaction.stop(); } else { interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); } } }); @@ -13350,7 +13438,9 @@ function prepare(interaction, _ref4, scope) { var action = _ref4.action, interactable = _ref4.interactable, element = _ref4.element; - action = action || {}; + action = action || { + name: null + }; // clear previous target element cursor if (interaction.interactable && interaction.interactable.options.styleCursor) { setCursor(interaction.element, '', scope); @@ -13360,23 +13450,7 @@ function prepare(interaction, _ref4, scope) { interaction.element = element; __utils_9.copyAction(interaction.prepared, action); interaction.rect = interactable && action.name ? interactable.getRect(element) : null; - - if (interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor) { - var cursor = ''; - - if (action) { - var cursorChecker = interactable.options[action.name].cursorChecker; - - if (__utils_9.is.func(cursorChecker)) { - cursor = cursorChecker(action, interactable, element); - } else { - cursor = scope.actions[action.name].getCursor(action); - } - } - - setCursor(interaction.element, cursor || '', scope); - } - + setInteractionCursor(interaction, scope); scope.autoStart.signals.fire('prepared', { interaction: interaction }); @@ -13453,6 +13527,30 @@ function setCursor(element, cursor, scope) { scope.autoStart.cursorElement = cursor ? element : null; } +function setInteractionCursor(interaction, scope) { + var interactable = interaction.interactable, + element = interaction.element, + prepared = interaction.prepared; + + if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) { + return; + } + + var cursor = ''; + + if (prepared.name) { + var cursorChecker = interactable.options[prepared.name].cursorChecker; + + if (__utils_9.is.func(cursorChecker)) { + cursor = cursorChecker(prepared, interactable, element, interaction._interacting); + } else { + cursor = scope.actions[prepared.name].getCursor(prepared); + } + } + + setCursor(interaction.element, cursor || '', scope); +} + var ___default_9 = { id: 'auto-start/base', install: __install_9, @@ -13480,7 +13578,9 @@ var _base = ___interopRequireDefault_10(_$base_9); function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_10() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_10(scope) { scope.autoStart.signals.on('before-start', function (_ref) { @@ -13686,7 +13786,9 @@ var __is_21 = ___interopRequireWildcard_21(_$is_57); /* removed: var _$window_66 = require("@interactjs/utils/window"); */; -function ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_21() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -13821,7 +13923,9 @@ var __is_25 = ___interopRequireWildcard_25(_$is_57); var ___window_25 = ___interopRequireDefault_25(_$window_66); -function ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_25() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -13964,6 +14068,8 @@ Object.defineProperty(_$base_30, "__esModule", { _$base_30.startAll = startAll; _$base_30.setAll = setAll; _$base_30.prepareStates = prepareStates; +_$base_30.setCoords = setCoords; +_$base_30.restoreCoords = restoreCoords; _$base_30.makeModifier = makeModifier; _$base_30["default"] = void 0; @@ -13975,7 +14081,7 @@ function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___it function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function ___iterableToArrayLimit_30(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; } @@ -13999,11 +14105,11 @@ function __install_30(scope) { }; }); interactions.signals.on('before-action-start', function (arg) { - __start_30(arg, arg.interaction.coords.start.page); + __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page); }); interactions.signals.on('action-resume', function (arg) { stop(arg); - __start_30(arg, arg.interaction.coords.cur.page); + __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords); __beforeMove_30(arg); }); interactions.signals.on('after-action-move', restoreCoords); @@ -14014,7 +14120,7 @@ function __install_30(scope) { interactions.signals.on('stop', stop); } -function __start_30(_ref2, pageCoords) { +function __start_30(_ref2, pageCoords, prevCoords) { var interaction = _ref2.interaction, phase = _ref2.phase; var interactable = interaction.interactable, @@ -14047,12 +14153,12 @@ function __start_30(_ref2, pageCoords) { startOffset: startOffset, states: states, preEnd: false, - requireEndOnly: false + requireEndOnly: false, + prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page) }; interaction.modifiers.states = states; interaction.modifiers.result = null; startAll(arg); - arg.pageCoords = (0, ___extend_30["default"])({}, interaction.coords.start.page); var result = interaction.modifiers.result = setAll(arg); return result; } @@ -14074,17 +14180,12 @@ function startAll(arg) { } function setAll(arg) { - var interaction = arg.interaction, - _arg$modifiersState = arg.modifiersState, - modifiersState = _arg$modifiersState === void 0 ? interaction.modifiers : _arg$modifiersState, - _arg$prevCoords = arg.prevCoords, - prevCoords = _arg$prevCoords === void 0 ? modifiersState.result ? modifiersState.result.coords : interaction.coords.prev.page : _arg$prevCoords, + var prevCoords = arg.prevCoords, phase = arg.phase, preEnd = arg.preEnd, requireEndOnly = arg.requireEndOnly, rect = arg.rect, - skipModifiers = arg.skipModifiers; - var states = skipModifiers ? arg.states.slice(skipModifiers) : arg.states; + states = arg.states; arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); arg.rect = (0, ___extend_30["default"])({}, rect); var result = { @@ -14129,7 +14230,7 @@ function setAll(arg) { rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; } - result.changed = prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; + result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; return result; } @@ -14140,17 +14241,19 @@ function __beforeMove_30(arg) { skipModifiers = arg.skipModifiers; var interactable = interaction.interactable, element = interaction.element; + var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states; + var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page); var modifierResult = setAll({ interaction: interaction, interactable: interactable, element: element, preEnd: preEnd, phase: phase, - pageCoords: interaction.coords.cur.page, + pageCoords: arg.modifiedCoords || interaction.coords.cur.page, + prevCoords: prevCoords, rect: interaction.rect, - states: interaction.modifiers.states, - requireEndOnly: false, - skipModifiers: skipModifiers + states: states, + requireEndOnly: false }); interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same // cordinates as before @@ -14159,6 +14262,18 @@ function __beforeMove_30(arg) { return false; } + if (arg.modifiedCoords) { + var page = interaction.coords.cur.page; + var adjustment = { + x: arg.modifiedCoords.x - page.x, + y: arg.modifiedCoords.y - page.y + }; + modifierResult.coords.x += adjustment.x; + modifierResult.coords.y += adjustment.y; + modifierResult.delta.x += adjustment.x; + modifierResult.delta.y += adjustment.y; + } + setCoords(arg); } @@ -14212,9 +14327,9 @@ function stop(arg) { var modifierArg = (0, ___extend_30["default"])({ states: states, interactable: interaction.interactable, - element: interaction.element + element: interaction.element, + rect: null }, arg); - restoreCoords(arg); for (var _i4 = 0; _i4 < states.length; _i4++) { var _ref6; @@ -14280,8 +14395,8 @@ function prepareStates(modifierList) { function setCoords(arg) { var interaction = arg.interaction, phase = arg.phase; - var curCoords = arg.curCoords || interaction.coords.cur; - var startCoords = arg.startCoords || interaction.coords.start; + var curCoords = interaction.coords.cur; + var startCoords = interaction.coords.start; var _interaction$modifier = interaction.modifiers, result = _interaction$modifier.result, startDelta = _interaction$modifier.startDelta; @@ -14428,16 +14543,18 @@ _$inertia_26["default"] = void 0; /* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; -var ___base_26 = ___interopRequireDefault_26(_$base_30); +var ___base_26 = ___interopRequireWildcard_26(_$base_30); var __utils_26 = ___interopRequireWildcard_26(_$utils_56); var ___raf_26 = ___interopRequireDefault_26(_$raf_62); -function ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } - function ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } +function ___getRequireWildcardCache_26() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + _$InteractEvent_15.EventPhase.Resume = 'resume'; _$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart'; @@ -14453,17 +14570,14 @@ function __install_26(scope) { upCoords: {}, timeout: null }; - }); // FIXME proper signal typing - + }); interactions.signals.on('before-action-end', function (arg) { return release(arg, scope); }); interactions.signals.on('down', function (arg) { return resume(arg, scope); }); - interactions.signals.on('stop', function (arg) { - return __stop_26(arg); - }); + interactions.signals.on('stop', __stop_26); defaults.perAction.inertia = { enabled: false, resistance: 10, @@ -14500,7 +14614,8 @@ function resume(_ref2, scope) { }), interaction._now()); // fire appropriate signals var signalArg = { - interaction: interaction + interaction: interaction, + phase: _$InteractEvent_15.EventPhase.Resume }; scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event @@ -14540,17 +14655,18 @@ function release(_ref3, scope) { var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; var modifierArg = { interaction: interaction, - pageCoords: __utils_26.extend({}, interaction.coords.cur.page), + pageCoords: interaction.coords.cur.page, states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { return __utils_26.extend({}, modifierStatus); }), preEnd: true, - prevCoords: undefined, - requireEndOnly: null + prevCoords: null, + requireEndOnly: null, + phase: _$InteractEvent_15.EventPhase.InertiaStart }; // smoothEnd if (inertiaPossible && !inertia) { - modifierArg.prevCoords = interaction.prevEvent.page; + modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; modifierArg.requireEndOnly = false; modifierResult = ___base_26["default"].setAll(modifierArg); @@ -14564,8 +14680,10 @@ function release(_ref3, scope) { } __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur); + (0, ___base_26.setCoords)(modifierArg); interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element); + (0, ___base_26.restoreCoords)(modifierArg); state.t0 = now; state.active = true; state.allowResume = options.allowResume; @@ -14580,7 +14698,7 @@ function release(_ref3, scope) { __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); modifierArg.pageCoords.x += state.xe; modifierArg.pageCoords.y += state.ye; - modifierArg.prevCoords = undefined; + modifierArg.prevCoords = null; modifierArg.requireEndOnly = true; modifierResult = ___base_26["default"].setAll(modifierArg); state.modifiedXe += modifierResult.delta.x; @@ -14737,7 +14855,9 @@ var __is_33 = ___interopRequireWildcard_33(_$is_57); var ___rect_33 = ___interopRequireDefault_33(_$rect_63); -function ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_33() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -15081,7 +15201,9 @@ _$pointer_37["default"] = void 0; var __utils_37 = ___interopRequireWildcard_37(_$utils_56); -function ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_37() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __start_37(arg) { var interaction = arg.interaction, @@ -15230,8 +15352,9 @@ function __set_37(arg) { } function getOrigin(arg) { - var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, [arg.interaction.element])); - var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, arg.interaction.element, arg.interaction.prepared.name); + var element = arg.interaction.element; + var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element])); + var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name); return origin; } @@ -15267,7 +15390,9 @@ var __is_38 = ___interopRequireWildcard_38(_$is_57); var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); -function ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_38() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -15275,7 +15400,7 @@ function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___it function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function ___iterableToArrayLimit_38(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; } @@ -15619,7 +15744,9 @@ var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_40() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var signals = new __utils_40.Signals(); var simpleSignals = ['down', 'up', 'cancel']; @@ -16308,7 +16435,9 @@ var ___events_28 = ___interopRequireDefault_28(_$events_52); function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_28() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /** @module interact */ var globalEvents = {}; @@ -16688,7 +16817,9 @@ var _interact = ___interopRequireWildcard_27(_$interact_28); function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_27() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __init_27(window) { _interact.scope.init(window); @@ -16732,7 +16863,7 @@ function __init_27(window) { } // eslint-disable-next-line no-undef -_interact["default"].version = "1.5.4"; +_interact["default"].version = "1.6.3"; var ___default_27 = _interact["default"]; _$interact_27["default"] = ___default_27; @@ -16752,7 +16883,7 @@ function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___it function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function ___iterableToArrayLimit_64(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; } @@ -16843,7 +16974,9 @@ var snappers = ___interopRequireWildcard_29(_$snappers_65); function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_29() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___typeof_29(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_29(obj); } @@ -16865,9 +16998,9 @@ function __init_29(win) { var ___default_29 = ___interact_29["default"]; _$index_29.exports["default"] = ___default_29; -___interact_29["default"]['default'] = ___interact_29["default"]; // tslint:disable-line no-string-literal - -___interact_29["default"]['init'] = __init_29; // tslint:disable-line no-string-literal +___interact_29["default"]["default"] = ___interact_29["default"] // tslint:disable-line no-string-literal +; +___interact_29["default"].init = __init_29; // tslint:disable-line no-string-literal if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { _$index_29.exports = ___interact_29["default"]; diff --git a/dist/vue-grid-layout.common.js.map b/dist/vue-grid-layout.common.js.map index f2fba3fe..49fbff3e 100644 --- a/dist/vue-grid-layout.common.js.map +++ b/dist/vue-grid-layout.common.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?3ef2","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?6d12","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"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e,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,oBAAoB,QAAQ,SAAS,aAAa,cAAc,cAAc,YAAY,WAAW,YAAY,gBAAgB,sBAAsB;;AAEtM;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtNa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAE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B;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACda;;AAEb,kBAAkB,mBAAO,CAAC,MAAU;;AAEpC;AACA;AACA;AACA;AACA;;A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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzIA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,YAAY,mBAAO,CAAC,MAAU;AAC9B,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,SAAS,mBAAO,CAAC,MAAc;AAC/B,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,MAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA,oEAAoE,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAa;AACvB;;;;;;;;ACpEA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;;ACFD;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,MAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD,0BAA0B,4BAA4B,oBAAoB,WAAW,YAAY;;AAEnJ;AACA,sDAAsD,wBAAwB,0BAA0B,kBAAkB,kBAAkB,yBAAyB,2BAA2B,oBAAoB,WAAW,YAAY;;AAE3O;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,eAAe,EAAE;AACzF,8DAA8D,kCAAkC,0BAA0B,yDAAyD,iDAAiD,EAAE;AACtO,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,iBAAiB,YAAY,aAAa,aAAa,kBAAkB,WAAW,YAAY;AAClK;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kBAAkB,sBAAsB,wBAAwB;AAC3G;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc,WAAW,UAAU;AAC7K,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB;AAC7H,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,SAAS,QAAQ;AAC/E,8DAA8D,aAAa,cAAc;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtoBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,eAAe;AACxE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,KAVA;AAWA;AACA;AACA,KAbA;AAcA;AACA;AACA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA,KAzBA;AA0BA;AACA;AACA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA;AACA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AAjEA,GA3NA;AA8RA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GA9RA;AA+TA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,eA9CA,yBA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AAC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CA;AACA;AACA,KA5BA;AA6BA;AACA;AACA;AADA;AAGA,KAjCA;AAkCA;AACA;AACA;AACA;;AACA;AACA,KAvCA;AAwCA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,6CADA,CAEA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;;AACA;AACA;AAAA;AAAA;AAAA,mBACA;AAAA;AAAA,SADA;AAGA,8CAJA,CAMA;;AACA;AACA;AACA;AAAA,cACA,iBADA;AAEA;AACA;AACA;AACA,WAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AAEA,OAZA,MAYA;AACA;AACA;AACA,SAFA;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACA,KAzIA;AA2IA;AACA,wBA5IA,kCA4IA;AAEA;AACA,oEAHA,CAKA;;AACA,6EACA,6DAPA,CASA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EAVA,CAoBA;;AACA,2CArBA,CAuBA;;AACA;AAEA;AACA;AACA,KAxKA;AA0KA;AACA,0BA3KA,oCA2KA;AACA;AACA;AACA,KA9KA;AAgLA;AACA,kBAjLA,0BAiLA,MAjLA,EAiLA,cAjLA,EAiLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AAnMA;AApNA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,8CAAM;AACR,EAAE,uDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;;;;;ACnBxB;AACA;CAEA;;AAGA,IAAMsH,aAAa,GAAG;AAClB;AACAC,YAAU,EAAVA,UAFkB;AAGlBC,UAAQ,EAARA,QAHkB,CAMtB;;AANsB,CAAtB;AAQAvG,MAAM,CAACD,IAAP,CAAYsG,aAAZ,EAA2B3G,OAA3B,CAAmC,UAAAwC,IAAI,EAAI;AACvCsE,wDAAG,CAACC,SAAJ,CAAcvE,IAAd,EAAoBmE,aAAa,CAACnE,IAAD,CAAjC;AACH,CAFD;AAIemE,4DAAf;;;AClBA;AAAA;AAAwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,GAAG,IAAsD,EAAE,mBAAmB,KAAK,UAAiO,CAAC,aAAa;AAC/U,0DAA0D,MAAM,mBAAmB,eAAe,UAAU,UAAU;AACtH;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+DAA+D;;AAE/D,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAEzd,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,2CAA2C,qDAAqD,oBAAoB,EAAE,OAAO,mDAAmD,6CAA6C,mBAAmB,4DAA4D,gBAAgB,gCAAgC,EAAE,mBAAmB,GAAG,EAAE,mDAAmD;;AAEza,2CAA2C,kEAAkE,kCAAkC,4BAA4B,EAAE,eAAe;;AAE5L,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,0DAA0D,QAAQ;AAClE;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,OAAO;AACP,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAEvZ,+BAA+B,oCAAoC;;AAEnE,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;;AAEA;AACA;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;;AAE1B,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAEzd,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,2DAA2D;;AAE5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,6BAA6B;;AAE7B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,MAAM;;AAEN,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ,eAAe;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;;AAEA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,aAAa;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAEzd,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD,uJAAuJ;;AAEvJ;AACA,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,qBAAqB;AAClC,2BAA2B;;AAE3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAEvZ,+BAA+B,oCAAoC;;AAEnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;;AAEA;AACA,KAAK;AACL,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,8CAA8C,YAAY;AAC1D;AACA;AACA,iDAAiD;;AAEjD,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA,mBAAmB,gCAAgC;AACnD;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kCAAkC,iFAAiF;;AAEnH,+BAA+B,wEAAwE;;AAEvG,iCAAiC,+HAA+H;;AAEhK,kCAAkC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEpK;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,uBAAuB;AAC3C;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,6BAA6B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B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CA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,yCAAyC,aAAa;AACtD;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,mBAAmB;AACnB,gBAAgB,gBAAgB;AAChC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gBAAgB;AAChB,qBAAqB;AACrB;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,sBAAsB,uBAAuB;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;;AAE7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO,iDAAiD,+EAA+E,aAAa,EAAE,qCAAqC;;AAEpL,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD;AAChD,kDAAkD;AAClD,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W,sCAAsC,6FAA6F;;AAEnI,mCAAmC,wEAAwE;;AAE3G,qCAAqC,+HAA+H;;AAEpK,sCAAsC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAExK,qDAAqD,0CAA0C,0DAA0D,EAAE;;AAE3J,+CAA+C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE/T,iEAAiE,0EAA0E,kEAAkE,oBAAoB;;AAEjO,qDAAqD,8EAA8E,aAAa,EAAE,yCAAyC;;AAE3L,2CAA2C,uBAAuB,uFAAuF,EAAE,aAAa;;AAExK,iCAAiC,oGAAoG,gDAAgD,GAAG,+BAA+B;;AAEvN,8CAA8C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,2DAA2D;;AAEvY,oCAAoC,gFAAgF,iBAAiB,UAAU,GAAG,kCAAkC;;AAEpL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB,kBAAkB,gCAAgC;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;;AAEA,qBAAqB,2BAA2B;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB,mBAAmB,oCAAoC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,mFAAmF;;AAEnF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C,4CAA4C;AAC5C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8DAA8D;;AAE9D,kEAAkE;;AAElE,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gDAAgD;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,sEAAsE;;AAEtE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA,kEAAkE;;AAElE,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uCAAuC,gGAAgG;;AAEvI,oCAAoC,wEAAwE;;AAE5G,sCAAsC,+HAA+H;;AAErK,uCAAuC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEzK;;AAEA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE5Z,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,8BAA8B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+EAA+E;;AAE/E;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,SAAS,uBAAuB;;AAEhC;AACA;AACA;AACA,oEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,sBAAsB;;AAEzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,cAAc;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE5Z,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,iCAAiC;AACtD;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,gBAAgB;AACzD,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,MAAM;AACN,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO,sDAAsD,+EAA+E,aAAa,EAAE,0CAA0C;;AAE9L,kCAAkC,qGAAqG,gDAAgD,GAAG,gCAAgC;;AAE1N,4CAA4C,uBAAuB,uFAAuF,EAAE,aAAa;;AAEzK,+CAA+C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,4DAA4D;;AAEzY,qCAAqC,iFAAiF,iBAAiB,UAAU,GAAG,mCAAmC;;AAEvL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;;AAEA,uCAAuC;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iEAAiE;;AAEjE;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4DAA4D;;AAE5D;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yFAAyF;AACzF,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,+EAA+E;;AAE/E,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB;AACnB,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sKAAsK;;AAEtK;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qFAAqF;;AAErF,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;;AAEA,mEAAmE;;;AAGnE,+CAA+C;;;AAG/C,gDAAgD;;;AAGhD,sCAAsC;;;AAGtC,oCAAoC;;;AAGpC,kDAAkD;;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH,mDAAmD;;;AAGnD,+CAA+C;;;AAG/C,MAAM,KAA6B,EAAE,EAElC;;AAEH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE5Z,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,iEAAiE;;AAEjE,8CAA8C;;AAE9C,KAAK,MAAwB,GAAG,SAAW;AAC3C;AACA;;AAEA;AACA;;AAEA,CAAC;;;AAGD;;;;;;;;AC/pTA;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,gBAAgB,mBAAO,CAAC,MAAW;;AAEnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA","file":"vue-grid-layout.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=1dcc0fd5&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=336c4f92&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.5.4\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var method = methodNames[_i];\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref;\n\n _ref = scope.interactions.list[_i2];\n var interaction = _ref;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i3];\n var interaction = _ref2;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref3 = interaction.pointers[_i4];\n var pointer = _ref3;\n\n if (!scope.documents.some(function (_ref4) {\n var doc = _ref4.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref3;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref5;\n\n _ref5 = event.changedTouches[_i5];\n var changedTouch = _ref5;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref6, signalName) {\n var doc = _ref6.doc,\n scope = _ref6.scope,\n options = _ref6.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref7;\n\n _ref7 = docEvents[_i7];\n var _ref8 = _ref7,\n type = _ref8.type,\n listener = _ref8.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(key) {\n Object.defineProperty(_this._proxy, key, {\n value: function value() {\n return that[key].apply(that, arguments);\n }\n });\n };\n\n for (var key in _ProxyMethods) {\n _loop2(key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireDefault_51(_$window_66);\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var dropzoneParents = [];\n var dropzone;\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var parent;\n var child;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n }\n\n if (!deepestZoneParents.length) {\n parent = deepestZone;\n\n while (getParent(parent) && getParent(parent) !== parent.ownerDocument) {\n deepestZoneParents.unshift(parent);\n parent = getParent(parent);\n }\n } // if this element is an svg element and the current deepest is\n // an HTMLElement\n\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = [];\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var doc = documents[_i2];\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref;\n\n _ref = listeners[_i3];\n\n var _ref2 = _ref,\n _ref3 = _slicedToArray(_ref2, 3),\n fn = _ref3[0],\n capture = _ref3[1],\n passive = _ref3[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, interactable, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return interactable.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, interactable, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, interactable, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interatable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = interaction.rect;\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: (0, ___extend_6[\"default\"])({}, startRect),\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction updateEventAxes(_ref4) {\n var interaction = _ref4.interaction,\n iEvent = _ref4.iEvent,\n action = _ref4.action;\n\n if (action !== 'resize' || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {};\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n\n if (interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor) {\n var cursor = '';\n\n if (action) {\n var cursorChecker = interactable.options[action.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(action, interactable, element);\n } else {\n cursor = scope.actions[action.name].getCursor(action);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n }\n\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n arg.pageCoords = (0, ___extend_30[\"default\"])({}, interaction.coords.start.page);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var interaction = arg.interaction,\n _arg$modifiersState = arg.modifiersState,\n modifiersState = _arg$modifiersState === void 0 ? interaction.modifiers : _arg$modifiersState,\n _arg$prevCoords = arg.prevCoords,\n prevCoords = _arg$prevCoords === void 0 ? modifiersState.result ? modifiersState.result.coords : interaction.coords.prev.page : _arg$prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n skipModifiers = arg.skipModifiers;\n var states = skipModifiers ? arg.states.slice(skipModifiers) : arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: interaction.coords.cur.page,\n rect: interaction.rect,\n states: interaction.modifiers.states,\n requireEndOnly: false,\n skipModifiers: skipModifiers\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element\n }, arg);\n restoreCoords(arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = arg.curCoords || interaction.coords.cur;\n var startCoords = arg.startCoords || interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireDefault_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n }); // FIXME proper signal typing\n\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', function (arg) {\n return __stop_26(arg);\n });\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: __utils_26.extend({}, interaction.coords.cur.page),\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: undefined,\n requireEndOnly: null\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = undefined;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, [arg.interaction.element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, arg.interaction.element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.5.4\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"]['default'] = ___interact_29[\"default\"]; // tslint:disable-line no-string-literal\n\n___interact_29[\"default\"]['init'] = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?4238","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?3829","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"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e,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,oBAAoB,QAAQ,SAAS,aAAa,cAAc,cAAc,YAAY,WAAW,YAAY,gBAAgB,sBAAsB;;AAEtM;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtNa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAE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B;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACda;;AAEb,kBAAkB,mBAAO,CAAC,MAAU;;AAEpC;AACA;AACA;AACA;AACA;;A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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzIA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,YAAY,mBAAO,CAAC,MAAU;AAC9B,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,SAAS,mBAAO,CAAC,MAAc;AAC/B,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,MAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA,oEAAoE,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAa;AACvB;;;;;;;;ACpEA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;;ACFD;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,MAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD,0BAA0B,4BAA4B,oBAAoB,WAAW,YAAY;;AAEnJ;AACA,sDAAsD,wBAAwB,0BAA0B,kBAAkB,kBAAkB,yBAAyB,2BAA2B,oBAAoB,WAAW,YAAY;;AAE3O;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,eAAe,EAAE;AACzF,8DAA8D,kCAAkC,0BAA0B,yDAAyD,iDAAiD,EAAE;AACtO,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,iBAAiB,YAAY,aAAa,aAAa,kBAAkB,WAAW,YAAY;AAClK;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kBAAkB,sBAAsB,wBAAwB;AAC3G;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc,WAAW,UAAU;AAC7K,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB;AAC7H,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,SAAS,QAAQ;AAC/E,8DAA8D,aAAa,cAAc;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtoBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,eAAe;AACxE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,KAVA;AAWA;AACA;AACA,KAbA;AAcA;AACA;AACA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA,KAzBA;AA0BA;AACA;AACA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA;AACA;AACA,yBAFA,CAGA;AACA,KA3CA;AA4CA;AACA;AACA,yBAFA,CAGA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AAjEA,GA3NA;AA8RA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GA9RA;AA+TA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,wBA9CA,kCA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;A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AACA;;AAEA;AACA;AACA;AACA;AACA,KA5BA;AA6BA;AACA;AACA;AADA;AAGA,KAjCA;AAkCA;AACA;AACA;AACA;;AACA;AACA,KAvCA;AAwCA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,6CADA,CAEA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;;AACA;AACA;AAAA;AAAA;AAAA,mBACA;AAAA;AAAA,SADA;AAGA,8CAJA,CAMA;;AACA;AACA;AACA;AAAA,cACA,iBADA;AAEA;AACA;AACA;AACA,WAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AAEA,OAZA,MAYA;AACA;AACA;AACA,SAFA;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACA,KAzIA;AA2IA;AACA,wBA5IA,kCA4IA;AAEA;AACA,oEAHA,CAKA;;AACA,6EACA,6DAPA,CASA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EAVA,CAoBA;;AACA,2CArBA,CAuBA;;AACA;AAEA;AACA;AACA,KAxKA;AA0KA;AACA,0BA3KA,oCA2KA;AACA;AACA;AACA,KA9KA;AAgLA;AACA,kBAjLA,0BAiLA,MAjLA,EAiLA,cAjLA,EAiLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AAnMA;AArNA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,8CAAM;AACR,EAAE,uDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;;;;;ACnBxB;AACA;CAEA;;AAGA,IAAMsH,aAAa,GAAG;AAClB;AACAC,YAAU,EAAVA,UAFkB;AAGlBC,UAAQ,EAARA,QAAQA;AAHU,CAAtB,C,CAMA;;AAEAvG,MAAM,CAACD,IAAP,CAAYsG,aAAZ,EAA2B3G,OAA3B,CAAmC,UAAAwC,IAAI,EAAI;AACvCsE,wDAAG,CAACC,SAAJ,CAAcvE,IAAd,EAAoBmE,aAAa,CAACnE,IAAD,CAAjC;AACH,CAFD;AAIemE,4DAAf;;;AClBA;AAAA;AAAwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,GAAG,IAAsD,EAAE,mBAAmB,KAAK,UAAiO,CAAC,aAAa;AAC/U,0DAA0D,MAAM,mBAAmB,eAAe,UAAU,UAAU;AACtH;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+DAA+D;;AAE/D,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,2CAA2C,qDAAqD,oBAAoB,EAAE,OAAO,mDAAmD,6CAA6C,mBAAmB,4DAA4D,gBAAgB,gCAAgC,EAAE,mBAAmB,GAAG,EAAE,mDAAmD;;AAEza,2CAA2C,kEAAkE,kCAAkC,4BAA4B,EAAE,eAAe;;AAE5L,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,0DAA0D,QAAQ;AAClE;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,OAAO;AACP,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;;AAEA;AACA;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;;AAE1B,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,2DAA2D;;AAE5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,6BAA6B;;AAE7B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,MAAM;;AAEN,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ,eAAe;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;;AAEA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,aAAa;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD,uJAAuJ;;AAEvJ;AACA,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,qBAAqB;AAClC,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;;AAEA;AACA,KAAK;AACL,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,qBAAqB,wBAAwB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,8CAA8C,YAAY;AAC1D;AACA;AACA,iDAAiD;;AAEjD,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA,mBAAmB,gCAAgC;AACnD;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kCAAkC,iFAAiF;;AAEnH,+BAA+B,wEAAwE;;AAEvG,iCAAiC,+HAA+H;;AAEhK,kCAAkC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEpK;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,uBAAuB;AAC3C;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,6BAA6B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAE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AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,yCAAyC,aAAa;AACtD;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,mBAAmB;AACnB,gBAAgB,gBAAgB;AAChC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,O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AAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD;AAChD,kDAAkD;AAClD,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W,sCAAsC,6FAA6F;;AAEnI,mCAAmC,wEAAwE;;AAE3G,qCAAqC,+HAA+H;;AAEpK,sCAAsC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAExK,qDAAqD,0CAA0C,0DAA0D,EAAE;;AAE3J,+CAA+C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE/T,iEAAiE,0EAA0E,kEAAkE,oBAAoB;;AAEjO,qDAAqD,8EAA8E,aAAa,EAAE,yCAAyC;;AAE3L,2CAA2C,uBAAuB,uFAAuF,EAAE,aAAa;;AAExK,iCAAiC,oGAAoG,gDAAgD,GAAG,+BAA+B;;AAEvN,8CAA8C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,2DAA2D;;AAEvY,oCAAoC,gFAAgF,iBAAiB,UAAU,GAAG,kCAAkC;;AAEpL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB,kBAAkB,gCAAgC;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;;AAEA,qBAAqB,2BAA2B;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB,mBAAmB,oCAAoC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,mFAAmF;;AAEnF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8DAA8D;;AAE9D,kEAAkE;;AAElE,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gDAAgD;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,sEAAsE;;AAEtE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA,kEAAkE;;AAElE,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uCAAuC,gGAAgG;;AAEvI,oCAAoC,wEAAwE;;AAE5G,sCAAsC,+HAA+H;;AAErK,uCAAuC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEzK;;AAEA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE/gB,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,8BAA8B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+EAA+E;;AAE/E;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,SAAS,uBAAuB;;AAEhC;AACA;AACA;AACA;AACA,oEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,sBAAsB;;AAEzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,cAAc;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA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uFAAuF,EAAE,aAAa;;AAEzK,+CAA+C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,4DAA4D;;AAEzY,qCAAqC,iFAAiF,iBAAiB,UAAU,GAAG,mCAAmC;;AAEvL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;;AAEA,uCAAuC;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iEAAiE;;AAEjE;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4DAA4D;;AAE5D;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yFAAyF;AACzF,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,+EAA+E;;AAE/E,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB;AACnB,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sKAAsK;;AAEtK;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAA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","file":"vue-grid-layout.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=e827a502&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=bff27f1c&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.6.3\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var _ref;\n\n _ref = methodNames[_i];\n var method = _ref;\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref4 = interaction.pointers[_i4];\n var pointer = _ref4;\n\n if (!scope.documents.some(function (_ref5) {\n var doc = _ref5.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref4;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref6;\n\n _ref6 = event.changedTouches[_i5];\n var changedTouch = _ref6;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, signalName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref8;\n\n _ref8 = docEvents[_i7];\n var _ref9 = _ref8,\n type = _ref9.type,\n listener = _ref9.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(_key) {\n Object.defineProperty(_this._proxy, _key, {\n value: function value() {\n return that[_key].apply(that, arguments);\n }\n });\n };\n\n for (var _key in _ProxyMethods) {\n _loop2(_key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireWildcard_51(_$window_66);\n\nfunction ___getRequireWildcardCache_51() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n var dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (dropzone.parentNode === deepestZone.parentNode) {\n var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;\n\n if (dropzoneZIndex >= deepestZIndex) {\n deepestZone = dropzone;\n index = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest dropzone\n\n\n if (!deepestZoneParents.length) {\n var _parent = deepestZone;\n var parentParent = void 0;\n\n while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) {\n deepestZoneParents.unshift(_parent);\n _parent = parentParent;\n }\n }\n\n var parent = void 0; // if this element is an svg element and the current deepest is an\n // HTMLElement\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n var dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n var child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = dropzoneParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___getRequireWildcardCache_49() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___getRequireWildcardCache_61() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_52() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var _ref;\n\n _ref = documents[_i2];\n var doc = _ref;\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref2;\n\n _ref2 = listeners[_i3];\n\n var _ref3 = _ref2,\n _ref4 = _slicedToArray(_ref3, 3),\n fn = _ref4[0],\n capture = _ref4[1],\n passive = _ref4[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___getRequireWildcardCache_63() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___getRequireWildcardCache_59() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_56() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_14() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }, {\n key: \"getRect\",\n value: function getRect(_element) {\n return null;\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_16() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_17() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___getRequireWildcardCache_22() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___getRequireWildcardCache_1() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___getRequireWildcardCache_2() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_3() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___getRequireWildcardCache_4() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_6() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-end', end);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = (0, ___extend_6[\"default\"])({}, interaction.rect);\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: {\n left: startRect.left,\n right: startRect.right,\n top: startRect.top,\n bottom: startRect.bottom\n },\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction end(_ref4) {\n var iEvent = _ref4.iEvent,\n interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction updateEventAxes(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.interaction,\n action = _ref5.action;\n\n if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_7() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___getRequireWildcardCache_8() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_9() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {\n name: null\n }; // clear previous target element cursor\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n var interactable = interaction.interactable,\n element = interaction.element,\n prepared = interaction.prepared;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n return;\n }\n\n var cursor = '';\n\n if (prepared.name) {\n var cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_10() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___getRequireWildcardCache_21() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___getRequireWildcardCache_25() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.setCoords = setCoords;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords, prevCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page)\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var prevCoords = arg.prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n states = arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states;\n var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page);\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords: prevCoords,\n rect: interaction.rect,\n states: states,\n requireEndOnly: false\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n if (arg.modifiedCoords) {\n var page = interaction.coords.cur.page;\n var adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y\n };\n modifierResult.coords.x += adjustment.x;\n modifierResult.coords.y += adjustment.y;\n modifierResult.delta.x += adjustment.x;\n modifierResult.delta.y += adjustment.y;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null\n }, arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = interaction.coords.cur;\n var startCoords = interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_26() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n });\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', __stop_26);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction,\n phase: _$InteractEvent_15.EventPhase.Resume\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: interaction.coords.cur.page,\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: null,\n requireEndOnly: null,\n phase: _$InteractEvent_15.EventPhase.InertiaStart\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n (0, ___base_26.setCoords)(modifierArg);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n (0, ___base_26.restoreCoords)(modifierArg);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = null;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___getRequireWildcardCache_33() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___getRequireWildcardCache_37() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var element = arg.interaction.element;\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___getRequireWildcardCache_38() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_40() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_28() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_27() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.6.3\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_29() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"][\"default\"] = ___interact_29[\"default\"] // tslint:disable-line no-string-literal\n;\n___interact_29[\"default\"].init = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.js b/dist/vue-grid-layout.umd.js index 9346b0c3..89d97388 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -1773,7 +1773,7 @@ $export($export.P + $export.F * (fails(function () { /***/ "584a": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.9' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -2216,7 +2216,7 @@ NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { /***/ "8378": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.9' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -4434,12 +4434,12 @@ var web_dom_iterable = __webpack_require__("ac6a"); var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"4e668661-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=1dcc0fd5& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=e827a502& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-item",class:_vm.classObj,style:(_vm.style)},[_vm._t("default"),(_vm.resizableAndNotStatic)?_c('span',{ref:"handle",class:_vm.resizableHandleClass}):_vm._e()],2)} var staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=1dcc0fd5& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=e827a502& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -5612,17 +5612,17 @@ var interact = __webpack_require__("fb3a"); }, rowHeight: function rowHeight() { this.createStyle(); - this.emitResized(); + this.emitContainerResized(); }, cols: function cols() { this.tryMakeResizable(); this.createStyle(); - this.emitResized(); + this.emitContainerResized(); }, containerWidth: function containerWidth() { this.tryMakeResizable(); this.createStyle(); - this.emitResized(); + this.emitContainerResized(); }, x: function x(newVal) { this.innerX = newVal; @@ -5634,13 +5634,11 @@ var interact = __webpack_require__("fb3a"); }, h: function h(newVal) { this.innerH = newVal; - this.createStyle(); - this.emitResized(); + this.createStyle(); // this.emitContainerResized(); }, w: function w(newVal) { this.innerW = newVal; - this.createStyle(); - this.emitResized(); + this.createStyle(); // this.emitContainerResized(); }, renderRtl: function renderRtl() { // console.log("### renderRtl"); @@ -5741,7 +5739,7 @@ var interact = __webpack_require__("fb3a"); this.style = style; }, - emitResized: function emitResized() { + emitContainerResized: function emitContainerResized() { // this.style has width and height with trailing 'px'. The // resized event is without them var styleProps = {}; @@ -5754,7 +5752,7 @@ var interact = __webpack_require__("fb3a"); styleProps[prop] = matches[1]; } - this.$emit("resized", this.i, this.h, this.w, styleProps.height, styleProps.width); + this.$emit("container-resized", this.i, this.h, this.w, styleProps.height, styleProps.width); }, handleResize: function handleResize(event) { if (this.static) return; @@ -6286,12 +6284,12 @@ var component = normalizeComponent( ) /* harmony default export */ var GridItem = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"4e668661-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=336c4f92& -var GridLayoutvue_type_template_id_336c4f92_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} -var GridLayoutvue_type_template_id_336c4f92_staticRenderFns = [] +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=bff27f1c& +var GridLayoutvue_type_template_id_bff27f1c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} +var GridLayoutvue_type_template_id_bff27f1c_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=336c4f92& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=bff27f1c& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -6700,6 +6698,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, watch: { width: function width(newval, oldval) { + var self = this; this.$nextTick(function () { var _this = this; @@ -6959,8 +6958,8 @@ var GridLayoutvue_type_style_index_0_lang_css_ = __webpack_require__("e279"); var GridLayout_component = normalizeComponent( components_GridLayoutvue_type_script_lang_js_, - GridLayoutvue_type_template_id_336c4f92_render, - GridLayoutvue_type_template_id_336c4f92_staticRenderFns, + GridLayoutvue_type_template_id_bff27f1c_render, + GridLayoutvue_type_template_id_bff27f1c_staticRenderFns, false, null, null, @@ -6981,9 +6980,9 @@ var GridLayout_component = normalizeComponent( var VueGridLayout = { // ResponsiveGridLayout, GridLayout: GridLayout, - GridItem: GridItem // module.exports = VueGridLayout; + GridItem: GridItem +}; // module.exports = VueGridLayout; -}; Object.keys(VueGridLayout).forEach(function (name) { external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(name, VueGridLayout[name]); }); @@ -7004,7 +7003,7 @@ Object.keys(VueGridLayout).forEach(function (name) { /***/ (function(module, exports, __webpack_require__) { /** - * interact.js 1.5.4 + * interact.js 1.6.3 * * Copyright (c) 2012-2019 Taye Adeyemi * Released under the MIT License. @@ -7040,7 +7039,9 @@ var _interactions = _interopRequireDefault(_$interactions_23({})); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -7316,7 +7317,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } @@ -7343,7 +7344,10 @@ function install(scope) { var listeners = {}; for (var _i = 0; _i < methodNames.length; _i++) { - var method = methodNames[_i]; + var _ref; + + _ref = methodNames[_i]; + var method = _ref; listeners[method] = doOnInteractions(method, scope); } @@ -7399,10 +7403,10 @@ function install(scope) { type: 'blur', listener: function listener(event) { for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref; + var _ref2; - _ref = scope.interactions.list[_i2]; - var interaction = _ref; + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; interaction.documentBlur(event); } } @@ -7459,10 +7463,10 @@ function install(scope) { function releasePointersOnRemovedEls() { // for all inactive touch interactions with pointers down for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref2; + var _ref3; - _ref2 = scope.interactions.list[_i3]; - var interaction = _ref2; + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { continue; @@ -7470,11 +7474,11 @@ function install(scope) { var _loop = function _loop() { - _ref3 = interaction.pointers[_i4]; - var pointer = _ref3; + _ref4 = interaction.pointers[_i4]; + var pointer = _ref4; - if (!scope.documents.some(function (_ref4) { - var doc = _ref4.doc; + if (!scope.documents.some(function (_ref5) { + var doc = _ref5.doc; return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); })) { // remove the pointer from the interaction @@ -7483,7 +7487,7 @@ function install(scope) { }; for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { - var _ref3; + var _ref4; _loop(); } @@ -7508,10 +7512,10 @@ function doOnInteractions(method, scope) { scope.prevTouchTime = scope.now(); for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { - var _ref5; + var _ref6; - _ref5 = event.changedTouches[_i5]; - var changedTouch = _ref5; + _ref6 = event.changedTouches[_i5]; + var changedTouch = _ref6; var pointer = changedTouch; var pointerId = _pointerUtils["default"].getPointerId(pointer); @@ -7589,10 +7593,10 @@ function getInteraction(searchDetails) { }); } -function onDocSignal(_ref6, signalName) { - var doc = _ref6.doc, - scope = _ref6.scope, - options = _ref6.options; +function onDocSignal(_ref7, signalName) { + var doc = _ref7.doc, + scope = _ref7.scope, + options = _ref7.options; var docEvents = scope.interactions.docEvents; var eventMethod = signalName.indexOf('add') === 0 ? _events["default"].add : _events["default"].remove; @@ -7611,12 +7615,12 @@ function onDocSignal(_ref6, signalName) { var eventOptions = options && options.events; for (var _i7 = 0; _i7 < docEvents.length; _i7++) { - var _ref7; + var _ref8; - _ref7 = docEvents[_i7]; - var _ref8 = _ref7, - type = _ref8.type, - listener = _ref8.listener; + _ref8 = docEvents[_i7]; + var _ref9 = _ref8, + type = _ref9.type, + listener = _ref9.listener; eventMethod(doc, type, listener, eventOptions); } } @@ -7655,7 +7659,9 @@ var _scope = _$scope_24({}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -7765,16 +7771,16 @@ function () { _loop(key); } - var _loop2 = function _loop2(key) { - Object.defineProperty(_this._proxy, key, { + var _loop2 = function _loop2(_key) { + Object.defineProperty(_this._proxy, _key, { value: function value() { - return that[key].apply(that, arguments); + return that[_key].apply(that, arguments); } }); }; - for (var key in _ProxyMethods) { - _loop2(key); + for (var _key in _ProxyMethods) { + _loop2(_key); } this._signals.fire('new', { @@ -8471,7 +8477,9 @@ var is = _interopRequireWildcard(_$is_57); var _window = ___interopRequireDefault_48(_$window_66); -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -8550,9 +8558,11 @@ var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); var __is_51 = ___interopRequireWildcard_51(_$is_57); -var ___window_51 = ___interopRequireDefault_51(_$window_66); +var ___window_51 = ___interopRequireWildcard_51(_$window_66); + +function ___getRequireWildcardCache_51() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; } -function ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -8612,17 +8622,13 @@ var getParent = function getParent(el) { function indexOfDeepestElement(elements) { var deepestZoneParents = []; - var dropzoneParents = []; - var dropzone; var deepestZone = elements[0]; var index = deepestZone ? 0 : -1; - var parent; - var child; var i; var n; for (i = 1; i < elements.length; i++) { - dropzone = elements[i]; // an element might belong to multiple selector dropzones + var dropzone = elements[i]; // an element might belong to multiple selector dropzones if (!dropzone || dropzone === deepestZone) { continue; @@ -8643,18 +8649,34 @@ function indexOfDeepestElement(elements) { deepestZone = dropzone; index = i; continue; + } // compare zIndex of siblings + + + if (dropzone.parentNode === deepestZone.parentNode) { + var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0; + var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0; + + if (dropzoneZIndex >= deepestZIndex) { + deepestZone = dropzone; + index = i; } + continue; + } // populate the ancestry array for the latest deepest dropzone + + if (!deepestZoneParents.length) { - parent = deepestZone; + var _parent = deepestZone; + var parentParent = void 0; - while (getParent(parent) && getParent(parent) !== parent.ownerDocument) { - deepestZoneParents.unshift(parent); - parent = getParent(parent); + while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { + deepestZoneParents.unshift(_parent); + _parent = parentParent; } - } // if this element is an svg element and the current deepest is - // an HTMLElement + } + var parent = void 0; // if this element is an svg element and the current deepest is an + // HTMLElement if (deepestZone instanceof ___domObjects_51["default"].HTMLElement && dropzone instanceof ___domObjects_51["default"].SVGElement && !(dropzone instanceof ___domObjects_51["default"].SVGSVGElement)) { if (dropzone === deepestZone.parentNode) { @@ -8666,7 +8688,7 @@ function indexOfDeepestElement(elements) { parent = dropzone; } - dropzoneParents = []; + var dropzoneParents = []; while (parent.parentNode !== parent.ownerDocument) { dropzoneParents.unshift(parent); @@ -8680,13 +8702,13 @@ function indexOfDeepestElement(elements) { } var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; - child = parents[0].lastChild; + var child = parents[0].lastChild; while (child) { if (child === parents[1]) { deepestZone = dropzone; index = i; - deepestZoneParents = []; + deepestZoneParents = dropzoneParents; break; } else if (child === parents[2]) { break; @@ -8787,7 +8809,9 @@ var arr = ___interopRequireWildcard_49(_$arr_47); var __is_49 = ___interopRequireWildcard_49(_$is_57); -function ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_49() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function clone(source) { var dest = {}; @@ -8836,7 +8860,8 @@ function pointerExtend(dest, source) { } pointerExtend.prefixedPropREs = { - webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/ + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ }; var ___default_60 = pointerExtend; _$pointerExtend_60["default"] = ___default_60; @@ -8875,7 +8900,9 @@ var __is_61 = ___interopRequireWildcard_61(_$is_57); var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); -function ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_61() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -9149,7 +9176,9 @@ var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_52() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -9161,7 +9190,7 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } @@ -9256,7 +9285,10 @@ function addDelegate(selector, context, type, listener, optionalArg) { }; // add delegate listener functions for (var _i2 = 0; _i2 < documents.length; _i2++) { - var doc = documents[_i2]; + var _ref; + + _ref = documents[_i2]; + var doc = _ref; add(doc, type, delegateListener); add(doc, type, delegateUseCapture, true); } @@ -9359,15 +9391,15 @@ function delegateListener(event, optionalArg) { fakeEvent.currentTarget = element; for (var _i3 = 0; _i3 < listeners.length; _i3++) { - var _ref; + var _ref2; - _ref = listeners[_i3]; + _ref2 = listeners[_i3]; - var _ref2 = _ref, - _ref3 = _slicedToArray(_ref2, 3), - fn = _ref3[0], - capture = _ref3[1], - passive = _ref3[2]; + var _ref3 = _ref2, + _ref4 = _slicedToArray(_ref3, 3), + fn = _ref4[0], + capture = _ref4[1], + passive = _ref4[2]; if (capture === !!options.capture && passive === options.passive) { fn(fakeEvent); @@ -9486,7 +9518,9 @@ var _extend = ___interopRequireDefault_63(_$extend_53); var __is_63 = ___interopRequireWildcard_63(_$is_57); -function ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_63() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -9498,21 +9532,21 @@ function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object. function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } -function getStringOptionResult(value, interactable, element) { +function getStringOptionResult(value, target, element) { if (value === 'parent') { return (0, _$domUtils_51.parentNode)(element); } if (value === 'self') { - return interactable.getRect(element); + return target.getRect(element); } return (0, _$domUtils_51.closest)(element, value); } -function resolveRectLike(value, interactable, element, functionArgs) { +function resolveRectLike(value, target, element, functionArgs) { if (__is_63.string(value)) { - value = getStringOptionResult(value, interactable, element); + value = getStringOptionResult(value, target, element); } else if (__is_63.func(value)) { value = value.apply(void 0, _toConsumableArray(functionArgs)); } @@ -9597,7 +9631,9 @@ var ___extend_59 = ___interopRequireDefault_59(_$extend_53); var __is_59 = ___interopRequireWildcard_59(_$is_57); -function ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_59() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -9900,7 +9936,9 @@ var _Signals = ___interopRequireDefault_56(_$Signals_46); function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_56() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function warnOnce(method, message) { var warned = false; // eslint-disable-next-line no-shadow @@ -9984,7 +10022,9 @@ var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_ function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_14() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -10069,6 +10109,11 @@ function () { } } } + }, { + key: "getRect", + value: function getRect(_element) { + return null; + } }]); return Eventable; @@ -10107,7 +10152,9 @@ var _Eventable = ___interopRequireDefault_16(_$Eventable_14); function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_16() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -10394,7 +10441,7 @@ function () { } // delegated event else if (__is_16.string(this.target)) { ___events_16["default"]["".concat(addRemove, "Delegate")](this.target, this._context, type, listener, options); - } // remove listener from this Interatable's element + } // remove listener from this Interactable's element else { ___events_16["default"][addRemove](this.target, type, listener, options); } @@ -10541,7 +10588,9 @@ var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_17() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -11020,7 +11069,9 @@ _$interactionFinder_22["default"] = void 0; var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); -function ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_22() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var finder = { methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'], @@ -11201,7 +11252,9 @@ var __arr_1 = ___interopRequireWildcard_1(_$arr_47); var __is_1 = ___interopRequireWildcard_1(_$is_57); -function ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_1() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } ___scope_1.ActionName.Drag = 'drag'; @@ -11363,7 +11416,9 @@ var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); var __arr_2 = ___interopRequireWildcard_2(_$arr_47); -function ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_2() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -11503,7 +11558,9 @@ var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_3() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_3(scope) { var actions = scope.actions, @@ -12040,7 +12097,9 @@ var ___scope_4 = _$scope_24({}); var __utils_4 = ___interopRequireWildcard_4(_$utils_56); -function ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_4() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -12204,7 +12263,9 @@ var __is_6 = ___interopRequireWildcard_6(_$is_57); function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_6() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } ___scope_6.ActionName.Resize = 'resize'; @@ -12220,6 +12281,7 @@ function __install_6(scope) { }); interactions.signals.on('action-start', start); interactions.signals.on('action-move', __move_6); + interactions.signals.on('action-end', end); interactions.signals.on('action-start', updateEventAxes); interactions.signals.on('action-move', updateEventAxes); resize.cursors = initCursors(browser); @@ -12499,7 +12561,7 @@ function start(_ref2) { return; } - var startRect = interaction.rect; + var startRect = (0, ___extend_6["default"])({}, interaction.rect); var resizeOptions = interaction.interactable.options.resize; /* * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge @@ -12526,7 +12588,12 @@ function start(_ref2) { interaction.resizeRects = { start: startRect, - current: (0, ___extend_6["default"])({}, startRect), + current: { + left: startRect.left, + right: startRect.right, + top: startRect.top, + bottom: startRect.bottom + }, inverted: (0, ___extend_6["default"])({}, startRect), previous: (0, ___extend_6["default"])({}, startRect), delta: { @@ -12538,6 +12605,7 @@ function start(_ref2) { height: 0 } }; + iEvent.edges = interaction.prepared.edges; iEvent.rect = interaction.resizeRects.inverted; iEvent.deltaRect = interaction.resizeRects.delta; } @@ -12634,12 +12702,25 @@ function __move_6(_ref3) { iEvent.deltaRect = deltaRect; } -function updateEventAxes(_ref4) { - var interaction = _ref4.interaction, - iEvent = _ref4.iEvent, - action = _ref4.action; +function end(_ref4) { + var iEvent = _ref4.iEvent, + interaction = _ref4.interaction; - if (action !== 'resize' || !interaction.resizeAxes) { + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function updateEventAxes(_ref5) { + var iEvent = _ref5.iEvent, + interaction = _ref5.interaction, + action = _ref5.action; + + if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) { return; } @@ -12744,7 +12825,9 @@ var ___raf_7 = ___interopRequireDefault_7(_$raf_62); function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_7() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_7(scope) { var interactions = scope.interactions, @@ -12988,7 +13071,9 @@ _$InteractableMethods_8["default"] = void 0; var __is_8 = ___interopRequireWildcard_8(_$is_57); -function ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_8() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_8(scope) { var Interactable = scope.Interactable, @@ -13188,7 +13273,9 @@ var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_9() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_9(scope) { var interact = scope.interact, @@ -13239,6 +13326,7 @@ function __install_9(scope) { interaction.stop(); } else { interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); } } }); @@ -13359,7 +13447,9 @@ function prepare(interaction, _ref4, scope) { var action = _ref4.action, interactable = _ref4.interactable, element = _ref4.element; - action = action || {}; + action = action || { + name: null + }; // clear previous target element cursor if (interaction.interactable && interaction.interactable.options.styleCursor) { setCursor(interaction.element, '', scope); @@ -13369,23 +13459,7 @@ function prepare(interaction, _ref4, scope) { interaction.element = element; __utils_9.copyAction(interaction.prepared, action); interaction.rect = interactable && action.name ? interactable.getRect(element) : null; - - if (interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor) { - var cursor = ''; - - if (action) { - var cursorChecker = interactable.options[action.name].cursorChecker; - - if (__utils_9.is.func(cursorChecker)) { - cursor = cursorChecker(action, interactable, element); - } else { - cursor = scope.actions[action.name].getCursor(action); - } - } - - setCursor(interaction.element, cursor || '', scope); - } - + setInteractionCursor(interaction, scope); scope.autoStart.signals.fire('prepared', { interaction: interaction }); @@ -13462,6 +13536,30 @@ function setCursor(element, cursor, scope) { scope.autoStart.cursorElement = cursor ? element : null; } +function setInteractionCursor(interaction, scope) { + var interactable = interaction.interactable, + element = interaction.element, + prepared = interaction.prepared; + + if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) { + return; + } + + var cursor = ''; + + if (prepared.name) { + var cursorChecker = interactable.options[prepared.name].cursorChecker; + + if (__utils_9.is.func(cursorChecker)) { + cursor = cursorChecker(prepared, interactable, element, interaction._interacting); + } else { + cursor = scope.actions[prepared.name].getCursor(prepared); + } + } + + setCursor(interaction.element, cursor || '', scope); +} + var ___default_9 = { id: 'auto-start/base', install: __install_9, @@ -13489,7 +13587,9 @@ var _base = ___interopRequireDefault_10(_$base_9); function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_10() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __install_10(scope) { scope.autoStart.signals.on('before-start', function (_ref) { @@ -13695,7 +13795,9 @@ var __is_21 = ___interopRequireWildcard_21(_$is_57); /* removed: var _$window_66 = require("@interactjs/utils/window"); */; -function ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_21() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -13830,7 +13932,9 @@ var __is_25 = ___interopRequireWildcard_25(_$is_57); var ___window_25 = ___interopRequireDefault_25(_$window_66); -function ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_25() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -13973,6 +14077,8 @@ Object.defineProperty(_$base_30, "__esModule", { _$base_30.startAll = startAll; _$base_30.setAll = setAll; _$base_30.prepareStates = prepareStates; +_$base_30.setCoords = setCoords; +_$base_30.restoreCoords = restoreCoords; _$base_30.makeModifier = makeModifier; _$base_30["default"] = void 0; @@ -13984,7 +14090,7 @@ function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___it function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function ___iterableToArrayLimit_30(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; } @@ -14008,11 +14114,11 @@ function __install_30(scope) { }; }); interactions.signals.on('before-action-start', function (arg) { - __start_30(arg, arg.interaction.coords.start.page); + __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page); }); interactions.signals.on('action-resume', function (arg) { stop(arg); - __start_30(arg, arg.interaction.coords.cur.page); + __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords); __beforeMove_30(arg); }); interactions.signals.on('after-action-move', restoreCoords); @@ -14023,7 +14129,7 @@ function __install_30(scope) { interactions.signals.on('stop', stop); } -function __start_30(_ref2, pageCoords) { +function __start_30(_ref2, pageCoords, prevCoords) { var interaction = _ref2.interaction, phase = _ref2.phase; var interactable = interaction.interactable, @@ -14056,12 +14162,12 @@ function __start_30(_ref2, pageCoords) { startOffset: startOffset, states: states, preEnd: false, - requireEndOnly: false + requireEndOnly: false, + prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page) }; interaction.modifiers.states = states; interaction.modifiers.result = null; startAll(arg); - arg.pageCoords = (0, ___extend_30["default"])({}, interaction.coords.start.page); var result = interaction.modifiers.result = setAll(arg); return result; } @@ -14083,17 +14189,12 @@ function startAll(arg) { } function setAll(arg) { - var interaction = arg.interaction, - _arg$modifiersState = arg.modifiersState, - modifiersState = _arg$modifiersState === void 0 ? interaction.modifiers : _arg$modifiersState, - _arg$prevCoords = arg.prevCoords, - prevCoords = _arg$prevCoords === void 0 ? modifiersState.result ? modifiersState.result.coords : interaction.coords.prev.page : _arg$prevCoords, + var prevCoords = arg.prevCoords, phase = arg.phase, preEnd = arg.preEnd, requireEndOnly = arg.requireEndOnly, rect = arg.rect, - skipModifiers = arg.skipModifiers; - var states = skipModifiers ? arg.states.slice(skipModifiers) : arg.states; + states = arg.states; arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); arg.rect = (0, ___extend_30["default"])({}, rect); var result = { @@ -14138,7 +14239,7 @@ function setAll(arg) { rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; } - result.changed = prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; + result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; return result; } @@ -14149,17 +14250,19 @@ function __beforeMove_30(arg) { skipModifiers = arg.skipModifiers; var interactable = interaction.interactable, element = interaction.element; + var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states; + var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page); var modifierResult = setAll({ interaction: interaction, interactable: interactable, element: element, preEnd: preEnd, phase: phase, - pageCoords: interaction.coords.cur.page, + pageCoords: arg.modifiedCoords || interaction.coords.cur.page, + prevCoords: prevCoords, rect: interaction.rect, - states: interaction.modifiers.states, - requireEndOnly: false, - skipModifiers: skipModifiers + states: states, + requireEndOnly: false }); interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same // cordinates as before @@ -14168,6 +14271,18 @@ function __beforeMove_30(arg) { return false; } + if (arg.modifiedCoords) { + var page = interaction.coords.cur.page; + var adjustment = { + x: arg.modifiedCoords.x - page.x, + y: arg.modifiedCoords.y - page.y + }; + modifierResult.coords.x += adjustment.x; + modifierResult.coords.y += adjustment.y; + modifierResult.delta.x += adjustment.x; + modifierResult.delta.y += adjustment.y; + } + setCoords(arg); } @@ -14221,9 +14336,9 @@ function stop(arg) { var modifierArg = (0, ___extend_30["default"])({ states: states, interactable: interaction.interactable, - element: interaction.element + element: interaction.element, + rect: null }, arg); - restoreCoords(arg); for (var _i4 = 0; _i4 < states.length; _i4++) { var _ref6; @@ -14289,8 +14404,8 @@ function prepareStates(modifierList) { function setCoords(arg) { var interaction = arg.interaction, phase = arg.phase; - var curCoords = arg.curCoords || interaction.coords.cur; - var startCoords = arg.startCoords || interaction.coords.start; + var curCoords = interaction.coords.cur; + var startCoords = interaction.coords.start; var _interaction$modifier = interaction.modifiers, result = _interaction$modifier.result, startDelta = _interaction$modifier.startDelta; @@ -14437,16 +14552,18 @@ _$inertia_26["default"] = void 0; /* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; -var ___base_26 = ___interopRequireDefault_26(_$base_30); +var ___base_26 = ___interopRequireWildcard_26(_$base_30); var __utils_26 = ___interopRequireWildcard_26(_$utils_56); var ___raf_26 = ___interopRequireDefault_26(_$raf_62); -function ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } - function ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } +function ___getRequireWildcardCache_26() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + _$InteractEvent_15.EventPhase.Resume = 'resume'; _$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart'; @@ -14462,17 +14579,14 @@ function __install_26(scope) { upCoords: {}, timeout: null }; - }); // FIXME proper signal typing - + }); interactions.signals.on('before-action-end', function (arg) { return release(arg, scope); }); interactions.signals.on('down', function (arg) { return resume(arg, scope); }); - interactions.signals.on('stop', function (arg) { - return __stop_26(arg); - }); + interactions.signals.on('stop', __stop_26); defaults.perAction.inertia = { enabled: false, resistance: 10, @@ -14509,7 +14623,8 @@ function resume(_ref2, scope) { }), interaction._now()); // fire appropriate signals var signalArg = { - interaction: interaction + interaction: interaction, + phase: _$InteractEvent_15.EventPhase.Resume }; scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event @@ -14549,17 +14664,18 @@ function release(_ref3, scope) { var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; var modifierArg = { interaction: interaction, - pageCoords: __utils_26.extend({}, interaction.coords.cur.page), + pageCoords: interaction.coords.cur.page, states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { return __utils_26.extend({}, modifierStatus); }), preEnd: true, - prevCoords: undefined, - requireEndOnly: null + prevCoords: null, + requireEndOnly: null, + phase: _$InteractEvent_15.EventPhase.InertiaStart }; // smoothEnd if (inertiaPossible && !inertia) { - modifierArg.prevCoords = interaction.prevEvent.page; + modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; modifierArg.requireEndOnly = false; modifierResult = ___base_26["default"].setAll(modifierArg); @@ -14573,8 +14689,10 @@ function release(_ref3, scope) { } __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur); + (0, ___base_26.setCoords)(modifierArg); interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element); + (0, ___base_26.restoreCoords)(modifierArg); state.t0 = now; state.active = true; state.allowResume = options.allowResume; @@ -14589,7 +14707,7 @@ function release(_ref3, scope) { __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); modifierArg.pageCoords.x += state.xe; modifierArg.pageCoords.y += state.ye; - modifierArg.prevCoords = undefined; + modifierArg.prevCoords = null; modifierArg.requireEndOnly = true; modifierResult = ___base_26["default"].setAll(modifierArg); state.modifiedXe += modifierResult.delta.x; @@ -14746,7 +14864,9 @@ var __is_33 = ___interopRequireWildcard_33(_$is_57); var ___rect_33 = ___interopRequireDefault_33(_$rect_63); -function ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_33() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -15090,7 +15210,9 @@ _$pointer_37["default"] = void 0; var __utils_37 = ___interopRequireWildcard_37(_$utils_56); -function ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_37() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __start_37(arg) { var interaction = arg.interaction, @@ -15239,8 +15361,9 @@ function __set_37(arg) { } function getOrigin(arg) { - var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, [arg.interaction.element])); - var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, arg.interaction.element, arg.interaction.prepared.name); + var element = arg.interaction.element; + var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element])); + var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name); return origin; } @@ -15276,7 +15399,9 @@ var __is_38 = ___interopRequireWildcard_38(_$is_57); var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); -function ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_38() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } @@ -15284,7 +15409,7 @@ function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___it function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function ___iterableToArrayLimit_38(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; } @@ -15628,7 +15753,9 @@ var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_40() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var signals = new __utils_40.Signals(); var simpleSignals = ['down', 'up', 'cancel']; @@ -16317,7 +16444,9 @@ var ___events_28 = ___interopRequireDefault_28(_$events_52); function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_28() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /** @module interact */ var globalEvents = {}; @@ -16697,7 +16826,9 @@ var _interact = ___interopRequireWildcard_27(_$interact_28); function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_27() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function __init_27(window) { _interact.scope.init(window); @@ -16741,7 +16872,7 @@ function __init_27(window) { } // eslint-disable-next-line no-undef -_interact["default"].version = "1.5.4"; +_interact["default"].version = "1.6.3"; var ___default_27 = _interact["default"]; _$interact_27["default"] = ___default_27; @@ -16761,7 +16892,7 @@ function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___it function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } -function ___iterableToArrayLimit_64(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; } @@ -16852,7 +16983,9 @@ var snappers = ___interopRequireWildcard_29(_$snappers_65); function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } -function ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } +function ___getRequireWildcardCache_29() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function ___typeof_29(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_29(obj); } @@ -16874,9 +17007,9 @@ function __init_29(win) { var ___default_29 = ___interact_29["default"]; _$index_29.exports["default"] = ___default_29; -___interact_29["default"]['default'] = ___interact_29["default"]; // tslint:disable-line no-string-literal - -___interact_29["default"]['init'] = __init_29; // tslint:disable-line no-string-literal +___interact_29["default"]["default"] = ___interact_29["default"] // tslint:disable-line no-string-literal +; +___interact_29["default"].init = __init_29; // tslint:disable-line no-string-literal if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { _$index_29.exports = ___interact_29["default"]; diff --git a/dist/vue-grid-layout.umd.js.map b/dist/vue-grid-layout.umd.js.map index 520090a7..e0788e8b 100644 --- a/dist/vue-grid-layout.umd.js.map +++ b/dist/vue-grid-layout.umd.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueGridLayout/webpack/universalModuleDefinition","webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?3ef2","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?6d12","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;AClFa;AACb,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD,qBAAqB,mBAAO,CAAC,MAAe;AAC5C,eAAe,mBAAO,CAAC,MAAQ;AAC/B,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;ACpEA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,SAAS,mBAAO,CAAC,MAAc;;AAE/B;AACA;AACA;AACA;AACA;;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;;;ACHa;AACb;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,kBAAkB,mBAAO,CAAC,MAAkB;;AAE5C;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAka;AACxb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;ACRlF,UAAU,mBAAO,CAAC,MAAe;AACjC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,gBAAgB,mBAAO,CAAC,MAAe;AACvC,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,UAAU,mBAAO,CAAC,MAAQ;AAC1B,qBAAqB,mBAAO,CAAC,MAAmB;AAChD;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAc;AAC/B,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAgB;;AAEtC,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACZA;AACA;AACA;AACA;;AAEa;;AAEb,sBAAsB,mBAAO,CAAC,MAAqB;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,oBAAoB,QAAQ,SAAS,aAAa,cAAc,cAAc,YAAY,WAAW,YAAY,gBAAgB,sBAAsB;;AAEtM;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtNa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;A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MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACd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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzIA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,YAAY,mBAAO,CAAC,MAAU;AAC9B,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,SAAS,mBAAO,CAAC,MAAc;AAC/B,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,MAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA,oEAAoE,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAa;AACvB;;;;;;;;ACpEA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;;ACFD;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,MAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD,0BAA0B,4BAA4B,oBAAoB,WAAW,YAAY;;AAEnJ;AACA,sDAAsD,wBAAwB,0BAA0B,kBAAkB,kBAAkB,yBAAyB,2BAA2B,oBAAoB,WAAW,YAAY;;AAE3O;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,eAAe,EAAE;AACzF,8DAA8D,kCAAkC,0BAA0B,yDAAyD,iDAAiD,EAAE;AACtO,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,iBAAiB,YAAY,aAAa,aAAa,kBAAkB,WAAW,YAAY;AAClK;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kBAAkB,sBAAsB,wBAAwB;AAC3G;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc,WAAW,UAAU;AAC7K,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB;AAC7H,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,SAAS,QAAQ;AAC/E,8DAA8D,aAAa,cAAc;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtoBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;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CA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA1NA;AA2NA;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,KAVA;AAWA;AACA;AACA,KAbA;AAcA;AACA;AACA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA,KAzBA;AA0BA;AACA;AACA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA;AACA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AAjEA,GA3NA;AA8RA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GA9RA;AA+TA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,eA9CA,yBA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAraA;AA/TA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5FuF;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,8D;;ACnBf,IAAI,8CAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,iEAAiE,oCAAoC,aAAa,4EAA4E,4CAA4C,+GAA+G;AACnc,IAAI,uDAAe;;;;;;;;;;;;;;;;ACDuD;AAC3D;AACf;AACA,IAAI,yBAAsB;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;ACdA;AAEA;;;;;;;;AAOA;;;;;;;;;;AAOO,SAASI,sBAAT,CAAgCC;AAAhC;AAAA,EAA0DxH;AAA1D;AAAA;AAAA;AAAqF;AAC1F,MAAMrC,MAAM,GAAG8J,eAAe,CAACD,WAAD,CAA9B;AACA,MAAIE,QAAQ,GAAG/J,MAAM,CAAC,CAAD,CAArB;;AACA,OAAK,IAAItB,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGqB,MAAM,CAA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AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KA5BA;AA6BA;AACA;AACA;AADA;AAGA,KAjCA;AAkCA;AACA;AACA;AACA;;AACA;AACA,KAvCA;AAwCA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,6CADA,CAEA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;;AACA;AACA;AAAA;AAAA;AAAA,mBACA;AAAA;AAAA,SADA;AAGA,8CAJA,CAMA;;AACA;AACA;AACA;AAAA,cACA,iBADA;AAEA;AACA;AACA;AACA,WAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AAEA,OAZA,MAYA;AACA;AACA;AACA,SAFA;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACA,KAzIA;AA2IA;AACA,wBA5IA,kCA4IA;AAEA;AACA,oEAHA,CAKA;;AACA,6EACA,6DAPA,CASA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EAVA,CAoBA;;AACA,2CArBA,CAuBA;;AACA;AAEA;AACA;AACA,KAxKA;AA0KA;AACA,0BA3KA,oCA2KA;AACA;AACA;AACA,KA9KA;AAgLA;AACA,kBAjLA,0BAiLA,MAjLA,EAiLA,cAjLA,EAiLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AAnMA;AApNA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,8CAAM;AACR,EAAE,uDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;;;;;ACnBxB;AACA;CAEA;;AAGA,IAAMsH,aAAa,GAAG;AAClB;AACAC,YAAU,EAAVA,UAFkB;AAGlBC,UAAQ,EAARA,QAHkB,CAMtB;;AANsB,CAAtB;AAQAvG,MAAM,CAACD,IAAP,CAAYsG,aAAZ,EAA2B3G,OAA3B,CAAmC,UAAAwC,IAAI,EAAI;AACvCsE,wDAAG,CAACC,SAAJ,CAAcvE,IAAd,EAAoBmE,aAAa,CAACnE,IAAD,CAAjC;AACH,CAFD;AAIemE,4DAAf;;;AClBA;AAAA;AAAwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,GAAG,IAAsD,EAAE,mBAAmB,KAAK,UAAiO,CAAC,aAAa;AAC/U,0DAA0D,MAAM,mBAAmB,eAAe,UAAU,UAAU;AACtH;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,+DAA+D;;AAE/D,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAEzd,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,2CAA2C,qDAAqD,oBAAoB,EAAE,OAAO,mDAAmD,6CAA6C,mBAAmB,4DAA4D,gBAAgB,gCAAgC,EAAE,mBAAmB,GAAG,EAAE,mDAAmD;;AAEza,2CAA2C,kEAAkE,kCAAkC,4BAA4B,EAAE,eAAe;;AAE5L,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,0DAA0D,QAAQ;AAClE;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,OAAO;AACP,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAEvZ,+BAA+B,oCAAoC;;AAEnE,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;;AAEA;AACA;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;;AAE1B,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAEzd,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,2DAA2D;;AAE5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,6BAA6B;;AAE7B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,MAAM;;AAEN,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ,eAAe;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;;AAEA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,aAAa;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAEzd,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD,uJAAuJ;;AAEvJ;AACA,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,qBAAqB;AAClC,2BAA2B;;AAE3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAEvZ,+BAA+B,oCAAoC;;AAEnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;;AAEA;AACA,KAAK;AACL,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,qBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,8CAA8C,YAAY;AAC1D;AACA;AACA,iDAAiD;;AAEjD,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA,mBAAmB,gCAAgC;AACnD;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kCAAkC,iFAAiF;;AAEnH,+BAA+B,wEAAwE;;AAEvG,iCAAiC,+HAA+H;;AAEhK,kCAAkC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEpK;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,uBAAuB;AAC3C;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,6BAA6B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BA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AiC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,yCAAyC,aAAa;AACtD;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,mBAAmB;AACnB,gBAAgB,gBAAgB;AAChC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gBAAgB;AAChB,qBAAqB;AACrB;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,sBAAsB,uBAAuB;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;;AAE7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO,iDAAiD,+EAA+E,aAAa,EAAE,qCAAqC;;AAEpL,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD;AAChD,kDAAkD;AAClD,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W,sCAAsC,6FAA6F;;AAEnI,mCAAmC,wEAAwE;;AAE3G,qCAAqC,+HAA+H;;AAEpK,sCAAsC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAExK,qDAAqD,0CAA0C,0DAA0D,EAAE;;AAE3J,+CAA+C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE/T,iEAAiE,0EAA0E,kEAAkE,oBAAoB;;AAEjO,qDAAqD,8EAA8E,aAAa,EAAE,yCAAyC;;AAE3L,2CAA2C,uBAAuB,uFAAuF,EAAE,aAAa;;AAExK,iCAAiC,oGAAoG,gDAAgD,GAAG,+BAA+B;;AAEvN,8CAA8C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,2DAA2D;;AAEvY,oCAAoC,gFAAgF,iBAAiB,UAAU,GAAG,kCAAkC;;AAEpL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB,kBAAkB,gCAAgC;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;;AAEA,qBAAqB,2BAA2B;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB,mBAAmB,oCAAoC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,mFAAmF;;AAEnF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C,4CAA4C;AAC5C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8DAA8D;;AAE9D,kEAAkE;;AAElE,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gDAAgD;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2CAA2C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE7d;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,sEAAsE;;AAEtE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA,kEAAkE;;AAElE,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uCAAuC,gGAAgG;;AAEvI,oCAAoC,wEAAwE;;AAE5G,sCAAsC,+HAA+H;;AAErK,uCAAuC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEzK;;AAEA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE5Z,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,8BAA8B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+EAA+E;;AAE/E;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,SAAS,uBAAuB;;AAEhC;AACA;AACA;AACA,oEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,sBAAsB;;AAEzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,cAAc;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,4CAA4C,6BAA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AkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;;AAEA,uCAAuC;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iEAAiE;;AAEjE;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4DAA4D;;AAE5D;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yFAAyF;AACzF,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,+EAA+E;;AAE/E,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB;AACnB,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sKAAsK;;AAEtK;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qFAAqF;;AAErF,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d;AACA;;AAEA,mEAAmE;;;AAGnE,+CAA+C;;;AAG/C,gDAAgD;;;AAGhD,sCAAsC;;;AAGtC,oCAAoC;;;AAGpC,kDAAkD;;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH,mDAAmD;;;AAGnD,+CAA+C;;;AAG/C,MAAM,KAA6B,EAAE,EAElC;;AAEH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE5Z,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4CAA4C,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,sDAAsD,sHAAsH,4BAA4B,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,eAAe,EAAE;;AAE9d,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,iEAAiE;;AAEjE,8CAA8C;;AAE9C,KAAK,MAAwB,GAAG,SAAW;AAC3C;AACA;;AAEA;AACA;;AAEA,CAAC;;;AAGD;;;;;;;;AC/pTA;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,gBAAgB,mBAAO,CAAC,MAAW;;AAEnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA","file":"vue-grid-layout.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueGridLayout\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"VueGridLayout\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=1dcc0fd5&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=336c4f92&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.5.4\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var method = methodNames[_i];\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref;\n\n _ref = scope.interactions.list[_i2];\n var interaction = _ref;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i3];\n var interaction = _ref2;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref3 = interaction.pointers[_i4];\n var pointer = _ref3;\n\n if (!scope.documents.some(function (_ref4) {\n var doc = _ref4.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref3;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref5;\n\n _ref5 = event.changedTouches[_i5];\n var changedTouch = _ref5;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref6, signalName) {\n var doc = _ref6.doc,\n scope = _ref6.scope,\n options = _ref6.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref7;\n\n _ref7 = docEvents[_i7];\n var _ref8 = _ref7,\n type = _ref8.type,\n listener = _ref8.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(key) {\n Object.defineProperty(_this._proxy, key, {\n value: function value() {\n return that[key].apply(that, arguments);\n }\n });\n };\n\n for (var key in _ProxyMethods) {\n _loop2(key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireDefault_51(_$window_66);\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var dropzoneParents = [];\n var dropzone;\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var parent;\n var child;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n }\n\n if (!deepestZoneParents.length) {\n parent = deepestZone;\n\n while (getParent(parent) && getParent(parent) !== parent.ownerDocument) {\n deepestZoneParents.unshift(parent);\n parent = getParent(parent);\n }\n } // if this element is an svg element and the current deepest is\n // an HTMLElement\n\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = [];\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var doc = documents[_i2];\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref;\n\n _ref = listeners[_i3];\n\n var _ref2 = _ref,\n _ref3 = _slicedToArray(_ref2, 3),\n fn = _ref3[0],\n capture = _ref3[1],\n passive = _ref3[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, interactable, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return interactable.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, interactable, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, interactable, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interatable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = interaction.rect;\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: (0, ___extend_6[\"default\"])({}, startRect),\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction updateEventAxes(_ref4) {\n var interaction = _ref4.interaction,\n iEvent = _ref4.iEvent,\n action = _ref4.action;\n\n if (action !== 'resize' || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {};\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n\n if (interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor) {\n var cursor = '';\n\n if (action) {\n var cursorChecker = interactable.options[action.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(action, interactable, element);\n } else {\n cursor = scope.actions[action.name].getCursor(action);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n }\n\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n arg.pageCoords = (0, ___extend_30[\"default\"])({}, interaction.coords.start.page);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var interaction = arg.interaction,\n _arg$modifiersState = arg.modifiersState,\n modifiersState = _arg$modifiersState === void 0 ? interaction.modifiers : _arg$modifiersState,\n _arg$prevCoords = arg.prevCoords,\n prevCoords = _arg$prevCoords === void 0 ? modifiersState.result ? modifiersState.result.coords : interaction.coords.prev.page : _arg$prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n skipModifiers = arg.skipModifiers;\n var states = skipModifiers ? arg.states.slice(skipModifiers) : arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: interaction.coords.cur.page,\n rect: interaction.rect,\n states: interaction.modifiers.states,\n requireEndOnly: false,\n skipModifiers: skipModifiers\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element\n }, arg);\n restoreCoords(arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = arg.curCoords || interaction.coords.cur;\n var startCoords = arg.startCoords || interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireDefault_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n }); // FIXME proper signal typing\n\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', function (arg) {\n return __stop_26(arg);\n });\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: __utils_26.extend({}, interaction.coords.cur.page),\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: undefined,\n requireEndOnly: null\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = undefined;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, [arg.interaction.element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, arg.interaction.element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.5.4\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"]['default'] = ___interact_29[\"default\"]; // tslint:disable-line no-string-literal\n\n___interact_29[\"default\"]['init'] = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueGridLayout/webpack/universalModuleDefinition","webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?4238","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?3829","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD,qBAAqB,mBAAO,CAAC,MAAe;AAC5C,eAAe,mBAAO,CAAC,MAAQ;AAC/B,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;ACpEA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,SAAS,mBAAO,CAAC,MAAc;;AAE/B;AACA;AACA;AACA;AACA;;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;;;ACHa;AACb;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,kBAAkB,mBAAO,CAAC,MAAkB;;AAE5C;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAka;AACxb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;ACRlF,UAAU,mBAAO,CAAC,MAAe;AACjC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,gBAAgB,mBAAO,CAAC,MAAe;AACvC,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,UAAU,mBAAO,CAAC,MAAQ;AAC1B,qBAAqB,mBAAO,CAAC,MAAmB;AAChD;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAc;AAC/B,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAgB;;AAEtC,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACZA;AACA;AACA;AACA;;AAEa;;AAEb,sBAAsB,mBAAO,CAAC,MAAqB;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,oBAAoB,QAAQ,SAAS,aAAa,cAAc,cAAc,YAAY,WAAW,YAAY,gBAAgB,sBAAsB;;AAEtM;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtNa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;A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MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACd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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzIA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,YAAY,mBAAO,CAAC,MAAU;AAC9B,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,SAAS,mBAAO,CAAC,MAAc;AAC/B,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,MAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA,oEAAoE,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAa;AACvB;;;;;;;;ACpEA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;;ACFD;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,MAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kDAAkD,0BAA0B,4BAA4B,oBAAoB,WAAW,YAAY;;AAEnJ;AACA,sDAAsD,wBAAwB,0BAA0B,kBAAkB,kBAAkB,yBAAyB,2BAA2B,oBAAoB,WAAW,YAAY;;AAE3O;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,eAAe,EAAE;AACzF,8DAA8D,kCAAkC,0BAA0B,yDAAyD,iDAAiD,EAAE;AACtO,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,iBAAiB,YAAY,aAAa,aAAa,kBAAkB,WAAW,YAAY;AAClK;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kBAAkB,sBAAsB,wBAAwB;AAC3G;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc,WAAW,UAAU;AAC7K,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB;AAC7H,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,SAAS,QAAQ;AAC/E,8DAA8D,aAAa,cAAc;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtoBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;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CA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA1NA;AA2NA;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,KAVA;AAWA;AACA;AACA,KAbA;AAcA;AACA;AACA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA,KAzBA;AA0BA;AACA;AACA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA;AACA;AACA,yBAFA,CAGA;AACA,KA3CA;AA4CA;AACA;AACA,yBAFA,CAGA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AAjEA,GA3NA;AA8RA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GA9RA;AA+TA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,wBA9CA,kCA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAraA;AA/TA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC5FuF;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,8D;;ACnBf,IAAI,8CAAM,gBAAgB,aAAa,0BAA0B,wBAAwB,iBAAiB,iEAAiE,oCAAoC,aAAa,4EAA4E,4CAA4C,+GAA+G;AACnc,IAAI,uDAAe;;;;;;;;;;;;;;;;ACDuD;AAC3D;AACf;AACA,IAAI,yBAAsB;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;ACdA;AAEA;;;;;;;;AAOA;;;;;;;;;;AAOO,SAASI,sBAAT,CAAgCC;AAAhC;AAAA,EAA0DxH;AAA1D;AAAA;AAAA;AAAqF;AAC1F,MAAMrC,MAAM,GAAG8J,eAAe,CAACD,WAAD,CAA9B;AACA,MAAIE,QAAQ,GAAG/J,MAAM,CAAC,CAAD,CAArB;;AACA,OAAK,IAAItB,CAAC,GAAG,CAAR,EAAWC,GAAG,GA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EA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KA5BA;AA6BA;AACA;AACA;AADA;AAGA,KAjCA;AAkCA;AACA;AACA;AACA;;AACA;AACA,KAvCA;AAwCA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,6CADA,CAEA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;;AACA;AACA;AAAA;AAAA;AAAA,mBACA;AAAA;AAAA,SADA;AAGA,8CAJA,CAMA;;AACA;AACA;AACA;AAAA,cACA,iBADA;AAEA;AACA;AACA;AACA,WAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AAEA,OAZA,MAYA;AACA;AACA;AACA,SAFA;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACA,KAzIA;AA2IA;AACA,wBA5IA,kCA4IA;AAEA;AACA,oEAHA,CAKA;;AACA,6EACA,6DAPA,CASA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EAVA,CAoBA;;AACA,2CArBA,CAuBA;;AACA;AAEA;AACA;AACA,KAxKA;AA0KA;AACA,0BA3KA,oCA2KA;AACA;AACA;AACA,KA9KA;AAgLA;AACA,kBAjLA,0BAiLA,MAjLA,EAiLA,cAjLA,EAiLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AAC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A;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;;AAE1B,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,2DAA2D;;AAE5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,6BAA6B;;AAE7B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,MAAM;;AAEN,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ,eAAe;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;;AAEA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,aAAa;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD,uJAAuJ;;AAEvJ;AACA,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,qBAAqB;AAClC,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;;AAEA;AACA,KAAK;AACL,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,qBAAqB,wBAAwB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,8CAA8C,YAAY;AAC1D;AACA;AACA,iDAAiD;;AAEjD,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA,mBAAmB,gCAAgC;AACnD;AACA;;AAEA;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hU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,6BAA6B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA,qBAAqB;;AAErB;AACA;AAC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AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,wBAAwB,iCAAiC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,yCAAyC,aAAa;AACtD;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,mBAAmB;AACnB,gBAAgB,gBAAgB;AAChC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH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uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD;AAChD,kDAAkD;AAClD,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W,sCAAsC,6FAA6F;;AAEnI,mCAAmC,wEAAwE;;AAE3G,qCAAqC,+HAA+H;;AAEpK,sCAAsC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAExK,qDAAqD,0CAA0C,0DAA0D,EAAE;;AAE3J,+CAA+C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE/T,iEAAiE,0EAA0E,kEAAkE,oBAAoB;;AAEjO,qDAAqD,8EAA8E,aAAa,EAAE,yCAAyC;;AAE3L,2CAA2C,uBAAuB,uFAAuF,EAAE,aAAa;;AAExK,iCAAiC,oGAAoG,gDAAgD,GAAG,+BAA+B;;AAEvN,8CAA8C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,2DAA2D;;AAEvY,oCAAoC,gFAAgF,iBAAiB,UAAU,GAAG,kCAAkC;;AAEpL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB,kBAAkB,gCAAgC;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;;AAEA,qBAAqB,2BAA2B;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB,mBAAmB,oCAAoC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,mFAAmF;;AAEnF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8DAA8D;;AAE9D,kEAAkE;;AAElE,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gDAAgD;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,sEAAsE;;AAEtE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA,kEAAkE;;AAElE,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uCAAuC,gGAAgG;;AAEvI,oCAAoC,wEAAwE;;AAE5G,sCAAsC,+HAA+H;;AAErK,uCAAuC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEzK;;AAEA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,oBAAoB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE/gB,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,8BAA8B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+EAA+E;;AAE/E;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,SAAS,uBAAuB;;AAEhC;AACA;AACA;AACA;AACA,oEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,sBAAsB;;AAEzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA,sDAA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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iEAAiE;;AAEjE;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4DAA4D;;AAE5D;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yFAAyF;AACzF,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,+EAA+E;;AAE/E,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB;AACnB,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sKAAsK;;AAEtK;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA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","file":"vue-grid-layout.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueGridLayout\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"VueGridLayout\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=e827a502&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=bff27f1c&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.6.3\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var _ref;\n\n _ref = methodNames[_i];\n var method = _ref;\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref4 = interaction.pointers[_i4];\n var pointer = _ref4;\n\n if (!scope.documents.some(function (_ref5) {\n var doc = _ref5.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref4;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref6;\n\n _ref6 = event.changedTouches[_i5];\n var changedTouch = _ref6;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, signalName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref8;\n\n _ref8 = docEvents[_i7];\n var _ref9 = _ref8,\n type = _ref9.type,\n listener = _ref9.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(_key) {\n Object.defineProperty(_this._proxy, _key, {\n value: function value() {\n return that[_key].apply(that, arguments);\n }\n });\n };\n\n for (var _key in _ProxyMethods) {\n _loop2(_key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireWildcard_51(_$window_66);\n\nfunction ___getRequireWildcardCache_51() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n var dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (dropzone.parentNode === deepestZone.parentNode) {\n var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;\n\n if (dropzoneZIndex >= deepestZIndex) {\n deepestZone = dropzone;\n index = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest dropzone\n\n\n if (!deepestZoneParents.length) {\n var _parent = deepestZone;\n var parentParent = void 0;\n\n while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) {\n deepestZoneParents.unshift(_parent);\n _parent = parentParent;\n }\n }\n\n var parent = void 0; // if this element is an svg element and the current deepest is an\n // HTMLElement\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n var dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n var child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = dropzoneParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___getRequireWildcardCache_49() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___getRequireWildcardCache_61() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_52() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var _ref;\n\n _ref = documents[_i2];\n var doc = _ref;\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref2;\n\n _ref2 = listeners[_i3];\n\n var _ref3 = _ref2,\n _ref4 = _slicedToArray(_ref3, 3),\n fn = _ref4[0],\n capture = _ref4[1],\n passive = _ref4[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___getRequireWildcardCache_63() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___getRequireWildcardCache_59() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_56() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_14() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }, {\n key: \"getRect\",\n value: function getRect(_element) {\n return null;\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_16() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_17() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___getRequireWildcardCache_22() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___getRequireWildcardCache_1() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___getRequireWildcardCache_2() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_3() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___getRequireWildcardCache_4() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_6() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-end', end);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = (0, ___extend_6[\"default\"])({}, interaction.rect);\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: {\n left: startRect.left,\n right: startRect.right,\n top: startRect.top,\n bottom: startRect.bottom\n },\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction end(_ref4) {\n var iEvent = _ref4.iEvent,\n interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction updateEventAxes(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.interaction,\n action = _ref5.action;\n\n if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_7() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___getRequireWildcardCache_8() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_9() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {\n name: null\n }; // clear previous target element cursor\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n var interactable = interaction.interactable,\n element = interaction.element,\n prepared = interaction.prepared;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n return;\n }\n\n var cursor = '';\n\n if (prepared.name) {\n var cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_10() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___getRequireWildcardCache_21() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___getRequireWildcardCache_25() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.setCoords = setCoords;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords, prevCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page)\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var prevCoords = arg.prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n states = arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states;\n var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page);\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords: prevCoords,\n rect: interaction.rect,\n states: states,\n requireEndOnly: false\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n if (arg.modifiedCoords) {\n var page = interaction.coords.cur.page;\n var adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y\n };\n modifierResult.coords.x += adjustment.x;\n modifierResult.coords.y += adjustment.y;\n modifierResult.delta.x += adjustment.x;\n modifierResult.delta.y += adjustment.y;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null\n }, arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = interaction.coords.cur;\n var startCoords = interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_26() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n });\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', __stop_26);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction,\n phase: _$InteractEvent_15.EventPhase.Resume\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: interaction.coords.cur.page,\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: null,\n requireEndOnly: null,\n phase: _$InteractEvent_15.EventPhase.InertiaStart\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n (0, ___base_26.setCoords)(modifierArg);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n (0, ___base_26.restoreCoords)(modifierArg);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = null;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___getRequireWildcardCache_33() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___getRequireWildcardCache_37() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var element = arg.interaction.element;\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___getRequireWildcardCache_38() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_40() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_28() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_27() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.6.3\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_29() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"][\"default\"] = ___interact_29[\"default\"] // tslint:disable-line no-string-literal\n;\n___interact_29[\"default\"].init = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.min.js b/dist/vue-grid-layout.umd.min.js index 6e91efe5..42edba1a 100644 --- a/dist/vue-grid-layout.umd.min.js +++ b/dist/vue-grid-layout.umd.min.js @@ -1,2 +1,2 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["VueGridLayout"]=t(require("vue")):e["VueGridLayout"]=t(e["Vue"])})("undefined"!==typeof self?self:this,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"01f9":function(e,t,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),u=n("41a0"),l=n("7f20"),c=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",h="keys",v="values",g=function(){return this};e.exports=function(e,t,n,y,m,b,w){u(n,t,y);var x,O,P,_=function(e){if(!d&&e in M)return M[e];switch(e){case h:return function(){return new n(this,e)};case v:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==v,E=!1,M=e.prototype,T=M[f]||M[p]||m&&M[m],z=T||_(m),k=m?S?_("entries"):z:void 0,D="Array"==t&&M.entries||T;if(D&&(P=c(D.call(new e)),P!==Object.prototype&&P.next&&(l(P,j,!0),r||"function"==typeof P[f]||a(P,f,g))),S&&T&&T.name!==v&&(E=!0,z=function(){return T.call(this)}),r&&!w||!d&&!E&&M[f]||a(M,f,z),s[t]=z,s[j]=g,m)if(x={values:S?z:_(v),keys:b?z:_(h),entries:k},w)for(O in x)O in M||o(M,O,x[O]);else i(i.P+i.F*(d||E),t,x);return x}},"02f4":function(e,t,n){var r=n("4588"),i=n("be13");e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(e,t,n){"use strict";var r=n("02f4")(!0);e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},"07e3":function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},"0bfb":function(e,t,n){"use strict";var r=n("cb7c");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},"0d58":function(e,t,n){var r=n("ce10"),i=n("e11e");e.exports=Object.keys||function(e){return r(e,i)}},1156:function(e,t,n){var r=n("ad20");"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(e,t,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),l=Object.getOwnPropertyDescriptor;t.f=n("9e1e")?l:function(e,t){if(e=o(e),t=a(t,!0),u)try{return l(e,t)}catch(n){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},1495:function(e,t,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");e.exports=n("9e1e")?Object.defineProperties:function(e,t){i(e);var n,a=o(t),s=a.length,u=0;while(s>u)r.f(e,n=a[u++],t[n]);return e}},"18d2":function(e,t,n){"use strict";var r=n("18e9");e.exports=function(e){e=e||{};var t=e.reporter,n=e.batchProcessor,i=e.stateHandler.getState;if(!t)throw new Error("Missing required dependency: reporter.");function o(e,t){if(!s(e))throw new Error("Element is not detectable by this strategy.");function n(){t(e)}if(r.isIE(8))i(e).object={proxy:n},e.attachEvent("onresize",n);else{var o=s(e);o.contentDocument.defaultView.addEventListener("resize",n)}}function a(e,o,a){a||(a=o,o=e,e=null),e=e||{};e.debug;function s(e,o){var a="display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; padding: 0; margin: 0; opacity: 0; z-index: -1000; pointer-events: none;",s=!1,u=window.getComputedStyle(e),l=e.offsetWidth,c=e.offsetHeight;function f(){function n(){if("static"===u.position){e.style.position="relative";var n=function(e,t,n,r){function i(e){return e.replace(/[^-\d\.]/g,"")}var o=n[r];"auto"!==o&&"0"!==i(o)&&(e.warn("An element that is positioned static has style."+r+"="+o+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+r+" will be set to 0. Element: ",t),t.style[r]=0)};n(t,e,u,"top"),n(t,e,u,"right"),n(t,e,u,"bottom"),n(t,e,u,"left")}}function l(){function t(e,n){e.contentDocument?n(e.contentDocument):setTimeout(function(){t(e,n)},100)}s||n();var r=this;t(r,function(t){o(e)})}""!==u.position&&(n(u),s=!0);var c=document.createElement("object");c.style.cssText=a,c.tabIndex=-1,c.type="text/html",c.setAttribute("aria-hidden","true"),c.onload=l,r.isIE()||(c.data="about:blank"),e.appendChild(c),i(e).object=c,r.isIE()&&(c.data="about:blank")}i(e).startSize={width:l,height:c},n?n.add(f):f()}r.isIE(8)?a(o):s(o,a)}function s(e){return i(e).object}function u(e){r.isIE(8)?e.detachEvent("onresize",i(e).object.proxy):e.removeChild(s(e)),delete i(e).object}return{makeDetectable:a,addListener:o,uninstall:u}}},"18e9":function(e,t,n){"use strict";var r=e.exports={};r.isIE=function(e){function t(){var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("msie")||-1!==e.indexOf("trident")||-1!==e.indexOf(" edge/")}if(!t())return!1;if(!e)return!0;var n=function(){var e,t=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++t+"]>4?t:e}();return e===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(e,t,n){var r=n("f772");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(e,t,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},"214f":function(e,t,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),l=s("species"),c=!o(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}),f=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var d=s(e),p=!o(function(){var t={};return t[d]=function(){return 7},7!=""[e](t)}),h=p?!o(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[l]=function(){return n}),n[d](""),!t}):void 0;if(!p||!h||"replace"===e&&!c||"split"===e&&!f){var v=/./[d],g=n(a,d,""[e],function(e,t,n,r,i){return t.exec===u?p&&!i?{done:!0,value:v.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],m=g[1];r(String.prototype,e,y),i(RegExp.prototype,d,2==t?function(e,t){return m.call(e,this,t)}:function(e){return m.call(e,this)})}}},"230e":function(e,t,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},2350:function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"===typeof btoa){var o=r(i),a=i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"});return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(e){var t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+t;return"/*# "+n+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r}).join("")},t.i=function(e,n){"string"===typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i";t.style.display="none",n("fab2").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(i+"script"+a+"document.F=Object"+i+"/script"+a),e.close(),l=e.F;while(r--)delete l[u][o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[u]=r(e),n=new s,s[u]=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},"2b4c":function(e,t,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))};s.store=r},"2cef":function(e,t,n){"use strict";e.exports=function(){var e=1;function t(){return e++}return{generate:t}}},"2d00":function(e,t){e.exports=!1},"2d95":function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},"2f21":function(e,t,n){"use strict";var r=n("79e5");e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},"32e9":function(e,t,n){var r=n("86cc"),i=n("4630");e.exports=n("9e1e")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"35e8":function(e,t,n){var r=n("d9f6"),i=n("aebd");e.exports=n("8e60")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"38fd":function(e,t,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},"41a0":function(e,t,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},"454f":function(e,t,n){n("46a7");var r=n("584a").Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},"456d":function(e,t,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",function(){return function(e){return i(r(e))}})},4588:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},4630:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"46a7":function(e,t,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(e,t,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,function(e,t,n,s){return[function(n){var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=s(n,e,this);if(t.done)return t.value;var u=r(e),l=String(this);if(!u.global)return a(u,l);var c=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,l))){var h=String(f[0]);d[p]=h,""===h&&(u.lastIndex=o(l,i(u.lastIndex),c)),p++}return 0===p?null:d}]})},"499e":function(e,t,n){"use strict";function r(e,t){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i1&&o.call(a[0],n,function(){for(c=1;cf)n=u(r,t=l[f++]),void 0!==n&&s(c,t,n);return c}})},9093:function(e,t,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},"990b":function(e,t,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(o(e)),n=i.f;return n?t.concat(n(e)):t}},"9b43":function(e,t,n){var r=n("d8e8");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"9c6c":function(e,t,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),e.exports=function(e){i[r][e]=!0}},"9cbe":function(e,t,n){t=e.exports=n("2350")(!1),t.push([e.i,'.vue-grid-item{-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transition-property:left,top,right;transition-property:left,top,right}.vue-grid-item.no-touch{-ms-touch-action:none;touch-action:none}.vue-grid-item.cssTransforms{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;left:0;right:auto}.vue-grid-item.cssTransforms.render-rtl{left:auto;right:0}.vue-grid-item.resizing{opacity:.6;z-index:3}.vue-grid-item.vue-draggable-dragging{-webkit-transition:none;transition:none;z-index:3}.vue-grid-item.vue-grid-placeholder{background:red;opacity:.2;-webkit-transition-duration:.1s;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.vue-grid-item>.vue-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;background:url("data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZ6IiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+");background-position:100% 100%;padding:0 3px 3px 0;background-repeat:no-repeat;background-origin:content-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:se-resize}.vue-grid-item>.vue-rtl-resizable-handle{bottom:0;left:0;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS0xLTFoMTJ2MTJILTF6Ii8+PGc+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGQ9Ik0xNDQuODIxLTM4LjM5M2wtMjAuMzU3LTMxLjc4NSIvPjxwYXRoIHN0cm9rZT0iIzY2NiIgc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZD0iTS45NDctLjAxOHY5LjEyNU0tLjY1NiA5aDEwLjczIi8+PC9nPjwvc3ZnPg==);background-position:0 100%;padding-left:3px;background-repeat:no-repeat;background-origin:content-box;cursor:sw-resize;right:auto}.vue-grid-item.disable-userselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}',""])},"9def":function(e,t,n){var r=n("4588"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},"9e1e":function(e,t,n){e.exports=!n("79e5")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},a481:function(e,t,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),s=n("0390"),u=n("5f1b"),l=Math.max,c=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g,h=function(e){return void 0===e?e:String(e)};n("214f")("replace",2,function(e,t,n,v){return[function(r,i){var o=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(e,t){var i=v(n,e,this,t);if(i.done)return i.value;var f=r(e),d=String(this),p="function"===typeof t;p||(t=String(t));var y=f.global;if(y){var m=f.unicode;f.lastIndex=0}var b=[];while(1){var w=u(f,d);if(null===w)break;if(b.push(w),!y)break;var x=String(w[0]);""===x&&(f.lastIndex=s(d,o(f.lastIndex),m))}for(var O="",P=0,_=0;_=P&&(O+=d.slice(P,S)+k,P=S+j.length)}return O+d.slice(P)}];function g(e,t,r,o,a,s){var u=r+e.length,l=o.length,c=p;return void 0!==a&&(a=i(a),c=d),n.call(s,c,function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var c=+i;if(0===c)return n;if(c>l){var d=f(c/10);return 0===d?n:d<=l?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[c-1]}return void 0===s?"":s})}})},aa77:function(e,t,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),f=function(e,t,n){var i={},s=o(function(){return!!a[e]()||u[e]()!=u}),l=i[e]=s?t(d):a[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=f.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=f},abb4:function(e,t,n){"use strict";e.exports=function(e){function t(){}var n={log:t,warn:t,error:t};if(!e&&window.console){var r=function(e,t){e[t]=function(){var e=console[t];if(e.apply)e.apply(console,arguments);else for(var n=0;nn?n=i:ic)if(s=u[c++],s!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},c5f6:function(e,t,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),l=n("9093").f,c=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",h=r[p],v=h,g=h.prototype,y=o(n("2aeb")(g))==p,m="trim"in String.prototype,b=function(e){var t=s(e,!1);if("string"==typeof t&&t.length>2){t=m?t.trim():d(t,3);var n,r,i,o=t.charCodeAt(0);if(43===o||45===o){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+t}for(var a,u=t.slice(2),l=0,c=u.length;li)return NaN;return parseInt(u,r)}}return+t};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof h&&(y?u(function(){g.valueOf.call(n)}):o(n)!=p)?a(new v(b(t)),n,h):b(t)};for(var w,x=n("9e1e")?l(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;x.length>O;O++)i(v,w=x[O])&&!i(h,w)&&f(h,w,c(v,w));h.prototype=g,g.constructor=h,n("2aba")(r,p,h)}},c69a:function(e,t,n){e.exports=!n("9e1e")&&!n("79e5")(function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a})},c946:function(e,t,n){"use strict";var r=n("b770").forEach;e.exports=function(e){e=e||{};var t=e.reporter,n=e.batchProcessor,i=e.stateHandler.getState,o=(e.stateHandler.hasState,e.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!t)throw new Error("Missing required dependency: reporter.");var a=l(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function l(){var e=500,t=500,n=document.createElement("div");n.style.cssText="position: absolute; width: "+2*e+"px; height: "+2*t+"px; visibility: hidden; margin: 0; padding: 0;";var r=document.createElement("div");r.style.cssText="position: absolute; width: "+e+"px; height: "+t+"px; overflow: scroll; visibility: none; top: "+3*-e+"px; left: "+3*-t+"px; visibility: hidden; margin: 0; padding: 0;",r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=e-r.clientWidth,o=t-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function c(e,t){function n(t,n){n=n||function(e){document.head.appendChild(e)};var r=document.createElement("style");return r.innerHTML=t,r.id=e,n(r),r}if(!document.getElementById(e)){var r=t+"_animation",i=t+"_animation_active",o="/* Created by the element-resize-detector library. */\n";o+="."+t+" > div::-webkit-scrollbar { display: none; }\n\n",o+="."+i+" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: "+r+"; animation-name: "+r+"; }\n",o+="@-webkit-keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",o+="@keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",n(o)}}function f(e){e.className+=" "+u+"_animation_active"}function d(e,n,r){if(e.addEventListener)e.addEventListener(n,r);else{if(!e.attachEvent)return t.error("[scroll] Don't know how to add event listeners.");e.attachEvent("on"+n,r)}}function p(e,n,r){if(e.removeEventListener)e.removeEventListener(n,r);else{if(!e.detachEvent)return t.error("[scroll] Don't know how to remove event listeners.");e.detachEvent("on"+n,r)}}function h(e){return i(e).container.childNodes[0].childNodes[0].childNodes[0]}function v(e){return i(e).container.childNodes[0].childNodes[0].childNodes[1]}function g(e,t){var n=i(e).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(e).listeners.push(t)}function y(e,s,l){function c(){if(e.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),t.log.apply)t.log.apply(null,n);else for(var r=0;r=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(e,t,n){var r=n("d3f4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ce10:function(e,t,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);while(t.length>u)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},d3f4:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},d53b:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},d6eb:function(e,t,n){"use strict";var r="_erd";function i(e){return e[r]={},o(e)}function o(e){return e[r]}function a(e){delete e[r]}e.exports={initState:i,getState:o,cleanState:a}},d864:function(e,t,n){var r=n("79aa");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},d8e8:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},d9f6:function(e,t,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;t.f=n("8e60")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},e11e:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(e,t,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(e,t,n){var r=n("f772");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},e53d:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eec4:function(e,t,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),l=n("18e9"),c=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function h(e){return Array.isArray(e)||void 0!==e.length}function v(e){if(Array.isArray(e))return e;var t=[];return r(e,function(e){t.push(e)}),t}function g(e){return e&&1===e.nodeType}function y(e,t,n){var r=e[t];return void 0!==r&&null!==r||void 0===n?r:n}e.exports=function(e){var t;if(e=e||{},e.idHandler)t={get:function(t){return e.idHandler.get(t,!0)},set:e.idHandler.set};else{var n=a(),m=s({idGenerator:n,stateHandler:f});t=m}var b=e.reporter;if(!b){var w=!1===b;b=u(w)}var x=y(e,"batchProcessor",c({reporter:b})),O={};O.callOnAdd=!!y(e,"callOnAdd",!0),O.debug=!!y(e,"debug",!1);var P,_=o(t),j=i({stateHandler:f}),S=y(e,"strategy","object"),E={reporter:b,batchProcessor:x,stateHandler:f,idHandler:t};if("scroll"===S&&(l.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),S="object"):l.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),S="object")),"scroll"===S)P=p(E);else{if("object"!==S)throw new Error("Invalid strategy name: "+S);P=d(E)}var M={};function T(e,n,i){function o(e){var t=_.get(e);r(t,function(t){t(e)})}function a(e,t,n){_.add(t,n),e&&n(t)}if(i||(i=n,n=e,e={}),!n)throw new Error("At least one element required.");if(!i)throw new Error("Listener required.");if(g(n))n=[n];else{if(!h(n))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");n=v(n)}var s=0,u=y(e,"callOnAdd",O.callOnAdd),l=y(e,"onReady",function(){}),c=y(e,"debug",O.debug);r(n,function(e){f.getState(e)||(f.initState(e),t.set(e));var d=t.get(e);if(c&&b.log("Attaching listener to element",d,e),!j.isDetectable(e))return c&&b.log(d,"Not detectable."),j.isBusy(e)?(c&&b.log(d,"System busy making it detectable"),a(u,e,i),M[d]=M[d]||[],void M[d].push(function(){s++,s===n.length&&l()})):(c&&b.log(d,"Making detectable..."),j.markBusy(e,!0),P.makeDetectable({debug:c},e,function(e){if(c&&b.log(d,"onElementDetectable"),f.getState(e)){j.markAsDetectable(e),j.markBusy(e,!1),P.addListener(e,o),a(u,e,i);var t=f.getState(e);if(t&&t.startSize){var p=e.offsetWidth,h=e.offsetHeight;t.startSize.width===p&&t.startSize.height===h||o(e)}M[d]&&r(M[d],function(e){e()})}else c&&b.log(d,"Element uninstalled before being detectable.");delete M[d],s++,s===n.length&&l()}));c&&b.log(d,"Already detecable, adding listener."),a(u,e,i),s++}),s===n.length&&l()}function z(e){if(!e)return b.error("At least one element is required.");if(g(e))e=[e];else{if(!h(e))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");e=v(e)}r(e,function(e){_.removeAllListeners(e),P.uninstall(e),f.cleanState(e)})}return{listenTo:T,removeListener:_.removeListener,removeAllListeners:_.removeAllListeners,uninstall:z}}},f1ae:function(e,t,n){"use strict";var r=n("86cc"),i=n("4630");e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},f6fd:function(e,t){(function(e){var t="currentScript",n=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(r){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(e in n)if(n[e].src==t||"interactive"==n[e].readyState)return n[e];return null}}})})(document)},f772:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},fa5b:function(e,t,n){e.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement},fb15:function(e,t,n){"use strict";var r;(n.r(t),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^\/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var i=n("8bbf"),o=n.n(i),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"item",staticClass:"vue-grid-item",class:e.classObj,style:e.style},[e._t("default"),e.resizableAndNotStatic?n("span",{ref:"handle",class:e.resizableHandleClass}):e._e()],2)},s=[];n("4917"),n("c5f6"),n("a481"),n("55dd");function u(e){for(var t,n=0,r=0,i=e.length;rn&&(n=t);return n}function l(e){for(var t=Array(e.length),n=0,r=e.length;n=t.x+t.w)&&(!(e.y+e.h<=t.y)&&!(e.y>=t.y+t.h))))}function d(e,t){for(var n=m(e),r=j(e),i=Array(e.length),o=0,a=r.length;o0&&!g(e,t))t.y--;var r;while(r=g(e,t))t.y=r.y+r.h;return t}function h(e,t){for(var n=m(e),r=0,i=e.length;rt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)while(g(n,o))o.y++;else n.push(o)}return e}function v(e,t){for(var n=0,r=e.length;nr;"number"===typeof n&&(t.x=n),"number"===typeof r&&(t.y=r),t.moved=!0;var l=j(e);u&&(l=l.reverse());var c=y(l,t);if(o&&c.length)return t.x=a,t.y=s,t.moved=!1,e;for(var f=0,d=c.length;fp.y&&t.y-p.y>p.h/4||(e=p.static?w(e,p,t,i):w(e,t,p,i)))}return e}function w(e,t,n,r){var i=!1;if(r){var o={x:n.x,y:n.y,w:n.w,h:n.h,i:"-1"};if(o.y=Math.max(t.y-n.h,0),!g(e,o))return b(e,n,void 0,o.y,i)}return b(e,n,void 0,n.y+1,i)}function x(e,t,n,r){var i="translate3d("+t+"px,"+e+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function O(e,t,n,r){var i="translate3d("+-1*t+"px,"+e+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function P(e,t,n,r){return{top:e+"px",left:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function _(e,t,n,r){return{top:e+"px",right:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function j(e){return[].concat(e).sort(function(e,t){return e.y>t.y||e.y===t.y&&e.x>t.x?1:-1})}function S(e,t){t=t||"Layout";var n=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var r=0,i=e.length;rthis.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var e,t=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(t.top=this.dragging.top,this.renderRtl?t.right=this.dragging.left:t.left=this.dragging.left),this.isResizing&&(t.width=this.resizing.width,t.height=this.resizing.height),e=this.useCssTransforms?this.renderRtl?O(t.top,t.right,t.width,t.height):x(t.top,t.left,t.width,t.height):this.renderRtl?_(t.top,t.right,t.width,t.height):P(t.top,t.left,t.width,t.height),this.style=e},emitResized:function(){for(var e={},t=0,n=["width","height"];tthis.maxW&&(n.w=this.maxW),n.hthis.maxH&&(n.h=this.maxH),n.h<1&&(n.h=1),n.w<1&&(n.w=1),this.lastW=r,this.lastH=i,this.innerW===n.w&&this.innerH===n.h||this.$emit("resize",this.i,n.h,n.w,o.height,o.width),"resizeend"!==e.type||this.previousW===this.innerW&&this.previousH===this.innerH||this.$emit("resized",this.i,n.h,n.w,o.height,o.width),this.eventBus.$emit("resizeEvent",e.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(e){if(!this.static&&!this.isResizing){var t=E(e);if(null!==t){var n,r=t.x,i=t.y,o={top:0,left:0};switch(e.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var a=e.target.offsetParent.getBoundingClientRect(),s=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(s.right-a.right):o.left=s.left-a.left,o.top=s.top-a.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var u=e.target.offsetParent.getBoundingClientRect(),l=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(l.right-u.right):o.left=l.left-u.left,o.top=l.top-u.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var c=T(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-c.deltaX:o.left=this.dragging.left+c.deltaX,o.top=this.dragging.top+c.deltaY,this.dragging=o;break}n=(this.renderRtl,this.calcXY(o.top,o.left)),this.lastX=r,this.lastY=i,this.innerX===n.x&&this.innerY===n.y||this.$emit("move",this.i,n.x,n.y),"dragend"!==e.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",e.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(e,t,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])}:{left:Math.round(o*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])},i},calcXY:function(e,t){var n=this.calcColWidth(),r=Math.round((t-this.margin[0])/(n+this.margin[0])),i=Math.round((e-this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerW),0),i=Math.max(Math.min(i,this.maxRows-this.innerH),0),{x:r,y:i}},calcColWidth:function(){var e=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return e},calcWH:function(e,t){var n=this.calcColWidth(),r=Math.round((t+this.margin[0])/(n+this.margin[0])),i=Math.round((e+this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerX),0),i=Math.max(Math.min(i,this.maxRows-this.innerY),0),{w:r,h:i}},updateWidth:function(e,t){this.containerWidth=e,void 0!==t&&null!==t&&(this.cols=t)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var e=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=N(this.$refs.item)),this.draggable&&!this.static){var t={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(t),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",function(t){e.handleDrag(t)}))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var e=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=N(this.$refs.item)),this.resizable&&!this.static){var t=this.calcPosition(0,0,this.maxW,this.maxH),n=this.calcPosition(0,0,this.minW,this.minH),r={preserveAspectRatio:!0,edges:{left:!1,right:"."+this.resizableHandleClass,bottom:"."+this.resizableHandleClass,top:!1},ignoreFrom:this.resizeIgnoreFrom,restrictSize:{min:{height:n.height,width:n.width},max:{height:t.height,width:t.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",function(t){e.handleResize(t)}))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var e=this.$slots.default[0].elm.getBoundingClientRect(),t=this.calcWH(e.height,e.width);t.wthis.maxW&&(t.w=this.maxW),t.hthis.maxH&&(t.h=this.maxH),t.h<1&&(t.h=1),t.w<1&&(t.w=1),this.innerW===t.w&&this.innerH===t.h||this.$emit("resize",this.i,t.h,t.w,e.height,e.width),this.previousW===t.w&&this.previousH===t.h||(this.$emit("resized",this.i,t.h,t.w,e.height,e.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,t.h,t.w))}}},L=H;n("5ed4");function W(e,t,n,r,i,o,a,s){var u,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),a?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(l.functional){l._injectStyles=u;var c=l.render;l.render=function(e,t){return u.call(t),c(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,u):[u]}return{exports:e,options:l}}var B=W(L,a,s,!1,null,null,null),$=B.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:e.mergedStyle},[e._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:e.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:e.placeholder.x,y:e.placeholder.y,w:e.placeholder.w,h:e.placeholder.h,i:e.placeholder.i}})],2)},Y=[],F=(n("8e6e"),n("fca0"),n("85f2")),G=n.n(F);function V(e,t,n){return t in e?G()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e,t){for(var n=J(e),r=n[0],i=1,o=n.length;ie[a]&&(r=a)}return r}function U(e,t){if(!t[e])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]}function Z(e,t,n,r,i,o,a){if(t[r])return l(t[r]);for(var s=e,u=J(n),c=u.slice(u.indexOf(r)),f=0,p=c.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(e):this.originalLayout=this.originalLayout.filter(function(t){return!e.some(function(e){return t.i===e.i})})),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}d(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight()}},updateHeight:function(){this.mergedStyle={height:this.containerHeight()}},onWindowResize:function(){null!==this.$refs&&null!==this.$refs.item&&void 0!==this.$refs.item&&(this.width=this.$refs.item.offsetWidth),this.eventBus.$emit("resizeEvent")},containerHeight:function(){if(this.autoSize)return u(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px"},dragEvent:function(e,t,n,r,i,o){var a=v(this.layout,t);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===e||"dragstart"===e?(this.placeholder.i=t,this.placeholder.x=a.x,this.placeholder.y=a.y,this.placeholder.w=o,this.placeholder.h=i,this.$nextTick(function(){this.isDragging=!0}),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick(function(){this.isDragging=!1}),this.layout=b(this.layout,a,n,r,!0,this.preventCollision),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===e&&this.$emit("layout-updated",this.layout)},resizeEvent:function(e,t,n,r,i,o){var a,s=v(this.layout,t);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=y(this.layout,K({},s,{w:o,h:i})).filter(function(e){return e.i!==s.i});if(a=u.length>0,a){var l=1/0,c=1/0;u.forEach(function(e){e.x>s.x&&(l=Math.min(l,e.x)),e.y>s.y&&(c=Math.min(c,e.y))}),Number.isFinite(l)&&(s.w=l-s.x),Number.isFinite(c)&&(s.h=c-s.y)}}a||(s.w=o,s.h=i),"resizestart"===e||"resizemove"===e?(this.placeholder.i=t,this.placeholder.x=n,this.placeholder.y=r,this.placeholder.w=s.w,this.placeholder.h=s.h,this.$nextTick(function(){this.isDragging=!0}),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick(function(){this.isDragging=!1}),this.responsive&&this.responsiveGridLayout(),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===e&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var e=q(this.breakpoints,this.width),t=U(e,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=l(this.layout));var n=Z(this.originalLayout,this.layouts,this.breakpoints,e,this.lastBreakpoint,t,this.verticalCompact);this.layouts[e]=n,this.$emit("update:layout",n),this.lastBreakpoint=e,this.eventBus.$emit("setColNum",U(e,this.cols))},initResponsiveFeatures:function(){this.layouts={}},findDifference:function(e,t){var n=e.filter(function(e){return!t.some(function(t){return e.i===t.i})}),r=t.filter(function(t){return!e.some(function(e){return t.i===e.i})});return n.concat(r)}}},ne=te,re=(n("e279"),W(ne,X,Y,!1,null,null,null)),ie=re.exports,oe={GridLayout:ie,GridItem:$};Object.keys(oe).forEach(function(e){o.a.component(e,oe[e])});var ae=oe;n.d(t,"GridLayout",function(){return ie}),n.d(t,"GridItem",function(){return $});t["default"]=ae},fb3a:function(e,t,n){(function(t){e.exports=t()})(function(){var e=function(e){var t;return function(n){return t||e(t={exports:{},parent:n},t.exports),t.exports}},t=e(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scope=t.ActionName=void 0;var r=p(qt),i=d(f),o=d(mn),a=d(xn),s=d(Rn),u=d(Un),l=d(hr),c=d(n({}));function d(e){return e&&e.__esModule?e:{default:e}}function p(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function h(e){return h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function v(e,t){return!t||"object"!==h(t)&&"function"!==typeof t?g(e):t}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function y(e,t,n){return y="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=m(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}},y(e,t,n||e)}function m(e,t){while(!Object.prototype.hasOwnProperty.call(e,t))if(e=b(e),null===e)break;return e}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}function w(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&x(e,t)}function x(e,t){return x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},x(e,t)}function O(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function P(e,t){for(var n=0;n=0;e--){var r=n.interactions.list[e];r.interactable===this&&(r.stop(),n.interactions.signals.fire("destroy",{interaction:r}),r.destroy(),n.interactions.list.length>2&&n.interactions.list.splice(e,1))}n.interactables.signals.fire("unset",{interactable:this})}},{key:"_defaults",get:function(){return n.defaults}}]),t}(s["default"])}return _(e,[{key:"init",value:function(e){return D(this,e)}},{key:"pluginIsInstalled",value:function(e){return this._pluginMap[e.id]||-1!==this._plugins.indexOf(e)}},{key:"usePlugin",value:function(e,t){return this.pluginIsInstalled(e)?this:(e.id&&(this._pluginMap[e.id]=e),e.install(this,t),this._plugins.push(e),this)}},{key:"addDocument",value:function(e,t){if(-1!==this.getDocIndex(e))return!1;var n=S.getWindow(e);t=t?r.extend({},t):{},this.documents.push({doc:e,options:t}),z.documents.push(e),e!==this.document&&z.add(n,"unload",this.onWindowUnload),this.signals.fire("add-document",{doc:e,window:n,scope:this,options:t})}},{key:"removeDocument",value:function(e){var t=this.getDocIndex(e),n=S.getWindow(e),r=this.documents[t].options;z.remove(n,"unload",this.onWindowUnload),this.documents.splice(t,1),z.documents.splice(t,1),this.signals.fire("remove-document",{doc:e,window:n,scope:this,options:r})}},{key:"getDocIndex",value:function(e){for(var t=0;tthis.pointerMoveTolerance);var s={pointer:e,pointerIndex:this.getPointerIndex(e),event:t,eventTarget:n,dx:r,dy:i,duplicate:a,interaction:this};a||(o.pointer.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),o.pointer.setCoordVelocity(this.coords.velocity,this.coords.delta)),this._signals.fire("move",s),a||(this.interacting()&&this.move(s),this.pointerWasMoved&&o.pointer.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(e){e=o.extend({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{}),e.phase=a.EventPhase.Move,this._doPhase(e)}},{key:"pointerUp",value:function(e,t,n,r){var i=this.getPointerIndex(e);-1===i&&(i=this.updatePointer(e,t,n,!1)),this._signals.fire(/cancel$/i.test(t.type)?"cancel":"up",{pointer:e,pointerIndex:i,event:t,eventTarget:n,curEventTarget:r,interaction:this}),this.simulation||this.end(t),this.pointerIsDown=!1,this.removePointer(e,t)}},{key:"documentBlur",value:function(e){this.end(e),this._signals.fire("blur",{event:e,interaction:this})}},{key:"end",value:function(e){var t;this._ending=!0,e=e||this._latestPointer.event,this.interacting()&&(t=this._doPhase({event:e,interaction:this,phase:a.EventPhase.End})),this._ending=!1,!0===t&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._signals.fire("stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(e){var t=o.pointer.getPointerId(e);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:o.arr.findIndex(this.pointers,function(e){return e.id===t})}},{key:"getPointerInfo",value:function(e){return this.pointers[this.getPointerIndex(e)]}},{key:"updatePointer",value:function(e,t,n,r){var i=o.pointer.getPointerId(e),a=this.getPointerIndex(e),u=this.pointers[a];return r=!1!==r&&(r||/(down|start)$/i.test(t.type)),u?u.pointer=e:(u=new s["default"](i,e,t,null,null),a=this.pointers.length,this.pointers.push(u)),r&&(this.pointerIsDown=!0,this.interacting()||(o.pointer.setCoords(this.coords.start,this.pointers.map(function(e){return e.pointer}),this._now()),o.pointer.copyCoords(this.coords.cur,this.coords.start),o.pointer.copyCoords(this.coords.prev,this.coords.start),o.pointer.pointerExtend(this.downPointer,e),this.downEvent=t,u.downTime=this.coords.cur.timeStamp,u.downTarget=n,this.pointerWasMoved=!1)),this._updateLatestPointer(e,t,n),this._signals.fire("update-pointer",{pointer:e,event:t,eventTarget:n,down:r,pointerInfo:u,pointerIndex:a,interaction:this}),a}},{key:"removePointer",value:function(e,t){var n=this.getPointerIndex(e);if(-1!==n){var r=this.pointers[n];this._signals.fire("remove-pointer",{pointer:e,event:t,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(e,t,n){this._latestPointer.pointer=e,this._latestPointer.event=t,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(e,t,n,r){var i=this.prepared.name;return new a["default"](this,e,i,t,this.element,null,n,r)}},{key:"_fireEvent",value:function(e){this.interactable.fire(e),(!this.prevEvent||e.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=e)}},{key:"_doPhase",value:function(e){var t=e.event,n=e.phase,r=e.preEnd,i=e.type,o=this._signals.fire("before-action-".concat(n),e);if(!1===o)return!1;var a=e.iEvent=this._createPreparedEvent(t,n,r,i),s=this.rect;if(s){var u=this.edges||this.prepared.edges||{left:!0,right:!0,top:!0,bottom:!0};u.top&&(s.top+=a.delta.y),u.bottom&&(s.bottom+=a.delta.y),u.left&&(s.left+=a.delta.x),u.right&&(s.right+=a.delta.x),s.width=s.right-s.left,s.height=s.bottom-s.top}return this._signals.fire("action-".concat(n),e),this._fireEvent(a),this._signals.fire("after-action-".concat(n),e),!0}},{key:"_now",value:function(){return Date.now()}},{key:"pointerMoveTolerance",get:function(){return 1}}]),e}();n.Interaction=h;var v=h;n["default"]=v}),i={};function o(e,t){return-1!==e.indexOf(t)}function a(e,t){return e.splice(e.indexOf(t),1)}function s(e,t){for(var n=0;n1?Ie.pointerAverage(t):t[0],i={};Ie.getPageXY(r,i),e.page.x=i.x,e.page.y=i.y,Ie.getClientXY(r,i),e.client.x=i.x,e.client.y=i.y,e.timeStamp=n},pointerExtend:ke["default"],getTouchPair:function(e){var t=[];return ze.array(e)?(t[0]=e[0],t[1]=e[1]):"touchend"===e.type?1===e.touches.length?(t[0]=e.touches[0],t[1]=e.changedTouches[0]):0===e.touches.length&&(t[0]=e.changedTouches[0],t[1]=e.changedTouches[1]):(t[0]=e.touches[0],t[1]=e.touches[1]),t},pointerAverage:function(e){for(var t={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n1))return null;var t=Ie.getTouchPair(e),n=Math.min(t[0].pageX,t[1].pageX),r=Math.min(t[0].pageY,t[1].pageY),i=Math.max(t[0].pageX,t[1].pageX),o=Math.max(t[0].pageY,t[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},touchDistance:function(e,t){var n=t+"X",r=t+"Y",i=Ie.getTouchPair(e),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,Te["default"])(o,a)},touchAngle:function(e,t){var n=t+"X",r=t+"Y",i=Ie.getTouchPair(e),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r],s=180*Math.atan2(a,o)/Math.PI;return s},getPointerType:function(e){return ze.string(e.pointerType)?e.pointerType:ze.number(e.pointerType)?[void 0,void 0,"touch","pen","mouse"][e.pointerType]:/touch/.test(e.type)||e instanceof Ee["default"].Touch?"touch":"mouse"},getEventTargets:function(e){var t=ze.func(e.composedPath)?e.composedPath():e.path;return[Me.getActualElement(t?t[0]:e.target),Me.getActualElement(e.currentTarget)]},newCoords:function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},coordsToEvent:function(e){var t={coords:e,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons}};return t}},Ae=Ie;je["default"]=Ae;var Ce={};Object.defineProperty(Ce,"__esModule",{value:!0}),Ce["default"]=Ce.FakeEvent=void 0;var Ne=$e(U),He=$e(j),Le=Be(we),We=Be(je);function Be(e){return e&&e.__esModule?e:{default:e}}function $e(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function Xe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ye(e,t){for(var n=0;n=0;u--)if(l.selectors[u]===e&&l.contexts[u]===t)break;-1===u&&(u=l.selectors.length,l.selectors.push(e),l.contexts.push(t),l.listeners.push([])),l.listeners[u].push([r,!!o.capture,o.passive])}function rt(e,t,n,r,i){var o,a=at(i),s=Qe[n],u=!1;if(s)for(o=s.selectors.length-1;o>=0;o--)if(s.selectors[o]===e&&s.contexts[o]===t){for(var l=s.listeners[o],c=l.length-1;c>=0;c--){var f=Ge(l[c],3),d=f[0],p=f[1],h=f[2];if(d===r&&p===!!a.capture&&h===a.passive){l.splice(c,1),l.length||(s.selectors.splice(o,1),s.contexts.splice(o,1),s.listeners.splice(o,1),tt(t,n,it),tt(t,n,ot,!0),s.selectors.length||(Qe[n]=null)),u=!0;break}}if(u)break}}function it(e,t){var n=at(t),r=new st(e),i=Qe[e.type],o=We["default"].getEventTargets(e),a=Ge(o,1),s=a[0],u=s;while(He.element(u)){for(var l=0;l150)return null;var t=180*Math.atan2(e.prevEvent.velocityY,e.prevEvent.velocityX)/Math.PI,n=22.5;t<0&&(t+=360);var r=135-n<=t&&t<225+n,i=225-n<=t&&t<315+n,o=!r&&(315-n<=t||t<45+n),a=!i&&45-n<=t&&t<135+n;return{up:i,down:a,left:r,right:o,angle:t,speed:e.prevEvent.speed,velocity:{x:e.prevEvent.velocityX,y:e.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"pageX",get:function(){return this.page.x},set:function(e){this.page.x=e}},{key:"pageY",get:function(){return this.page.y},set:function(e){this.page.y=e}},{key:"clientX",get:function(){return this.client.x},set:function(e){this.client.x=e}},{key:"clientY",get:function(){return this.client.y},set:function(e){this.client.y=e}},{key:"dx",get:function(){return this.delta.x},set:function(e){this.delta.x=e}},{key:"dy",get:function(){return this.delta.y},set:function(e){this.delta.y=e}},{key:"velocityX",get:function(){return this.velocity.x},set:function(e){this.velocity.x=e}},{key:"velocityY",get:function(){return this.velocity.y},set:function(e){this.velocity.y=e}}]),t}(br["default"]);hr.InteractEvent=kr;var Dr=kr;hr["default"]=Dr;var Rr={};function Ir(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(Rr,"__esModule",{value:!0}),Rr["default"]=Rr.PointerInfo=void 0;var Ar=function e(t,n,r,i,o){Ir(this,e),this.id=t,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};Rr.PointerInfo=Ar;var Cr=Ar;Rr["default"]=Cr;var Nr={};Object.defineProperty(Nr,"__esModule",{value:!0}),Nr["default"]=void 0;var Hr=Lr(U);function Lr(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}var Wr={methodOrder:["simulationResume","mouseOrPen","hasPointer","idle"],search:function(e){for(var t=0;t=2)continue;if(!o.interacting()&&t===o.pointerType)return o}return null}};function Br(e,t){return e.pointers.some(function(e){var n=e.id;return n===t})}var $r=Wr;Nr["default"]=$r;var Xr={};Object.defineProperty(Xr,"__esModule",{value:!0}),Xr["default"]=void 0;var Yr=t({}),Fr=Vr(i),Gr=Vr(j);function Vr(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function qr(e){var t=e.actions,n=e.Interactable,r=e.interactions,i=e.defaults;r.signals.on("before-action-move",Ur),r.signals.on("action-resume",Ur),r.signals.on("action-move",Zr),n.prototype.draggable=Qr.draggable,t[Yr.ActionName.Drag]=Qr,t.names.push(Yr.ActionName.Drag),Fr.merge(t.eventTypes,["dragstart","dragmove","draginertiastart","dragresume","dragend"]),t.methodDict.drag="draggable",i.actions.drag=Qr.defaults}function Ur(e){var t=e.interaction;if("drag"===t.prepared.name){var n=t.prepared.axis;"x"===n?(t.coords.cur.page.y=t.coords.start.page.y,t.coords.cur.client.y=t.coords.start.client.y,t.coords.velocity.client.y=0,t.coords.velocity.page.y=0):"y"===n&&(t.coords.cur.page.x=t.coords.start.page.x,t.coords.cur.client.x=t.coords.start.client.x,t.coords.velocity.client.x=0,t.coords.velocity.page.x=0)}}function Zr(e){var t=e.iEvent,n=e.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var i="x"===r?"y":"x";t.page[i]=n.coords.start.page[i],t.client[i]=n.coords.start.client[i],t.delta[i]=0}}}Yr.ActionName.Drag="drag";var Jr=function(e){return Gr.object(e)?(this.options.drag.enabled=!1!==e.enabled,this.setPerAction("drag",e),this.setOnEvents("drag",e),/^(xy|x|y|start)$/.test(e.lockAxis)&&(this.options.drag.lockAxis=e.lockAxis),/^(xy|x|y)$/.test(e.startAxis)&&(this.options.drag.startAxis=e.startAxis),this):Gr.bool(e)?(this.options.drag.enabled=e,this):this.options.drag},Qr={id:"actions/drag",install:qr,draggable:Jr,beforeMove:Ur,move:Zr,defaults:{startAxis:"xy",lockAxis:"xy"},checker:function(e,t,n){var r=n.options.drag;return r.enabled?{name:"drag",axis:"start"===r.lockAxis?r.startAxis:r.lockAxis}:null},getCursor:function(){return"move"}},Kr=Qr;Xr["default"]=Kr;var ei={};Object.defineProperty(ei,"__esModule",{value:!0}),ei["default"]=void 0;var ti=ii(ur),ni=ri(i);function ri(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function ii(e){return e&&e.__esModule?e:{default:e}}function oi(e){return oi="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},oi(e)}function ai(e){return li(e)||ui(e)||si()}function si(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ui(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function li(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);ta.left&&c.xa.top&&c.y=a.left&&h<=a.right&&v>=a.top&&v<=a.bottom}if(p&&xi.is.number(u)){var g=Math.max(0,Math.min(a.right,p.right)-Math.max(a.left,p.left))*Math.max(0,Math.min(a.bottom,p.bottom)-Math.max(a.top,p.top)),y=g/(p.width*p.height);s=y>=u}return e.options.drop.checker&&(s=e.options.drop.checker(t,n,s,e,o,r,i)),s}var Ci={id:"actions/drop",install:Si,getActiveDrops:Ti,getDrop:zi,getDropEvents:ki,fireDropEvents:Di,defaults:{enabled:!1,accept:null,overlap:"pointer"}},Ni=Ci;wi["default"]=Ni;var Hi={};Object.defineProperty(Hi,"__esModule",{value:!0}),Hi["default"]=void 0;var Li=Xi(hr),Wi=t({}),Bi=$i(qt);function $i(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function Xi(e){return e&&e.__esModule?e:{default:e}}function Yi(e){var t=e.actions,n=e.Interactable,r=e.interactions,i=e.defaults;n.prototype.gesturable=function(e){return Bi.is.object(e)?(this.options.gesture.enabled=!1!==e.enabled,this.setPerAction("gesture",e),this.setOnEvents("gesture",e),this):Bi.is.bool(e)?(this.options.gesture.enabled=e,this):this.options.gesture},r.signals.on("action-start",Gi),r.signals.on("action-move",Gi),r.signals.on("action-end",Gi),r.signals.on("new",function(e){var t=e.interaction;t.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}}),t[Wi.ActionName.Gesture]=Fi,t.names.push(Wi.ActionName.Gesture),Bi.arr.merge(t.eventTypes,["gesturestart","gesturemove","gestureend"]),t.methodDict.gesture="gesturable",i.actions.gesture=Fi.defaults}Wi.ActionName.Gesture="gesture";var Fi={id:"actions/gesture",install:Yi,defaults:{},checker:function(e,t,n,r,i){return i.pointers.length>=2?{name:"gesture"}:null},getCursor:function(){return""}};function Gi(e){var t=e.interaction,n=e.iEvent,r=e.event,i=e.phase;if("gesture"===t.prepared.name){var o=t.pointers.map(function(e){return e.pointer}),a="start"===i,s="end"===i,u=t.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=Bi.pointer.touchDistance(o,u),n.box=Bi.pointer.touchBBox(o),n.scale=1,n.ds=0,n.angle=Bi.pointer.touchAngle(o,u),n.da=0,t.gesture.startDistance=n.distance,t.gesture.startAngle=n.angle;else if(s||r instanceof Li["default"]){var l=t.prevEvent;n.distance=l.distance,n.box=l.box,n.scale=l.scale,n.ds=0,n.angle=l.angle,n.da=0}else n.distance=Bi.pointer.touchDistance(o,u),n.box=Bi.pointer.touchBBox(o),n.scale=n.distance/t.gesture.startDistance,n.angle=Bi.pointer.touchAngle(o,u),n.ds=n.scale-t.gesture.scale,n.da=n.angle-t.gesture.angle;t.gesture.distance=n.distance,t.gesture.angle=n.angle,Bi.is.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(t.gesture.scale=n.scale)}}var Vi=Fi;Hi["default"]=Vi;var qi={};Object.defineProperty(qi,"__esModule",{value:!0}),qi["default"]=void 0;var Ui=t({}),Zi=to(i),Ji=to(U),Qi=eo(ct),Ki=to(j);function eo(e){return e&&e.__esModule?e:{default:e}}function to(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function no(e){var t=e.actions,n=e.browser,r=e.Interactable,i=e.interactions,o=e.defaults;i.signals.on("new",function(e){e.resizeAxes="xy"}),i.signals.on("action-start",so),i.signals.on("action-move",uo),i.signals.on("action-start",lo),i.signals.on("action-move",lo),ro.cursors=ao(n),ro.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(t){return io(this,t,e)},t[Ui.ActionName.Resize]=ro,t.names.push(Ui.ActionName.Resize),Zi.merge(t.eventTypes,["resizestart","resizemove","resizeinertiastart","resizeresume","resizeend"]),t.methodDict.resize="resizable",o.actions.resize=ro.defaults}Ui.ActionName.Resize="resize";var ro={id:"actions/resize",install:no,defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},checker:function(e,t,n,r,i,o){if(!o)return null;var a=(0,Qi["default"])({},i.coords.cur.page),s=n.options;if(s.resize.enabled){var u=s.resize,l={left:!1,right:!1,top:!1,bottom:!1};if(Ki.object(u.edges)){for(var c in l)l[c]=oo(c,u.edges[c],a,i._latestPointer.eventTarget,r,o,u.margin||this.defaultMargin);if(l.left=l.left&&!l.right,l.top=l.top&&!l.bottom,l.left||l.right||l.top||l.bottom)return{name:"resize",edges:l}}else{var f="y"!==s.resize.axis&&a.x>o.right-this.defaultMargin,d="x"!==s.resize.axis&&a.y>o.bottom-this.defaultMargin;if(f||d)return{name:"resize",axes:(f?"x":"")+(d?"y":"")}}}return null},cursors:null,getCursor:function(e){var t=e.edges,n=e.axis,r=e.name,i=ro.cursors,o=null;if(n)o=i[r+n];else if(t){for(var a="",s=["top","bottom","left","right"],u=0;u=0?o.left:o.right)+a;if("top"===e)return n.y<(u>=0?o.top:o.bottom)+a;if("right"===e)return n.x>(s>=0?o.right:o.left)-a;if("bottom"===e)return n.y>(u>=0?o.bottom:o.top)-a}return!!Ki.element(r)&&(Ki.element(t)?t===r:Ji.matchesUpTo(r,t,i))}function ao(e){return e.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}function so(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=n.rect,i=n.interactable.options.resize;if(i.square||i.preserveAspectRatio){var o=(0,Qi["default"])({},n.prepared.edges);o.top=o.top||o.left&&!o.bottom,o.left=o.left||o.top&&!o.right,o.bottom=o.bottom||o.right&&!o.top,o.right=o.right||o.bottom&&!o.left,n.prepared._linkedEdges=o}else n.prepared._linkedEdges=null;i.preserveAspectRatio&&(n.resizeStartAspectRatio=r.width/r.height),n.resizeRects={start:r,current:(0,Qi["default"])({},r),inverted:(0,Qi["default"])({},r),previous:(0,Qi["default"])({},r),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},t.rect=n.resizeRects.inverted,t.deltaRect=n.resizeRects.delta}}function uo(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r,i=n.interactable.options.resize,o=i.invert,a="reposition"===o||"negate"===o,s=n.prepared.edges,u=n.resizeRects.start,l=n.resizeRects.current,c=n.resizeRects.inverted,f=n.resizeRects.delta,d=(0,Qi["default"])(n.resizeRects.previous,c),p=s,h=(0,Qi["default"])({},t.delta);if(i.preserveAspectRatio||i.square){var v=i.preserveAspectRatio?n.resizeStartAspectRatio:1;s=n.prepared._linkedEdges,p.left&&p.bottom||p.right&&p.top?h.y=-h.x/v:p.left||p.right?h.y=h.x/v:(p.top||p.bottom)&&(h.x=h.y*v)}if(s.top&&(l.top+=h.y),s.bottom&&(l.bottom+=h.y),s.left&&(l.left+=h.x),s.right&&(l.right+=h.x),a){if((0,Qi["default"])(c,l),"reposition"===o)c.top>c.bottom&&(r=c.top,c.top=c.bottom,c.bottom=r),c.left>c.right&&(r=c.left,c.left=c.right,c.right=r)}else c.top=Math.min(l.top,u.bottom),c.bottom=Math.max(l.bottom,u.top),c.left=Math.min(l.left,u.right),c.right=Math.max(l.right,u.left);for(var g in c.width=c.right-c.left,c.height=c.bottom-c.top,c)f[g]=c[g]-d[g];t.edges=n.prepared.edges,t.rect=c,t.deltaRect=f}}function lo(e){var t=e.interaction,n=e.iEvent,r=e.action;if("resize"===r&&t.resizeAxes){var i=t.interactable.options;i.resize.square?("y"===t.resizeAxes?n.delta.x=n.delta.y:n.delta.y=n.delta.x,n.axes="xy"):(n.axes=t.resizeAxes,"x"===t.resizeAxes?n.delta.y=0:"y"===t.resizeAxes&&(n.delta.x=0))}}var co=ro;qi["default"]=co;var fo={};Object.defineProperty(fo,"__esModule",{value:!0}),fo.install=mo,Object.defineProperty(fo,"drag",{enumerable:!0,get:function(){return po["default"]}}),Object.defineProperty(fo,"drop",{enumerable:!0,get:function(){return ho["default"]}}),Object.defineProperty(fo,"gesture",{enumerable:!0,get:function(){return vo["default"]}}),Object.defineProperty(fo,"resize",{enumerable:!0,get:function(){return go["default"]}}),fo.id=void 0;var po=yo(Xr),ho=yo(wi),vo=yo(Hi),go=yo(qi);function yo(e){return e&&e.__esModule?e:{default:e}}function mo(e){e.usePlugin(vo["default"]),e.usePlugin(go["default"]),e.usePlugin(po["default"]),e.usePlugin(ho["default"])}var bo="actions";fo.id=bo;var wo={};Object.defineProperty(wo,"__esModule",{value:!0}),wo.getContainer=Mo,wo.getScroll=To,wo.getScrollSize=zo,wo.getScrollSizeDelta=ko,wo["default"]=void 0;var xo=jo(U),Oo=jo(j),Po=_o(Ct);function _o(e){return e&&e.__esModule?e:{default:e}}function jo(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function So(e){var t=e.interactions,n=e.defaults,r=e.actions;e.autoScroll=Eo,Eo.now=function(){return e.now()},t.signals.on("new",function(e){var t=e.interaction;t.autoScroll=null}),t.signals.on("destroy",function(e){var t=e.interaction;t.autoScroll=null,Eo.stop(),Eo.interaction&&(Eo.interaction=null)}),t.signals.on("stop",Eo.stop),t.signals.on("action-move",function(e){return Eo.onInteractionMove(e)}),r.eventTypes.push("autoscroll"),n.perAction.autoScroll=Eo.defaults}var Eo={defaults:{enabled:!1,margin:60,container:null,speed:300},now:Date.now,interaction:null,i:null,x:0,y:0,isScrolling:!1,prevTime:0,margin:0,speed:0,start:function(e){Eo.isScrolling=!0,Po["default"].cancel(Eo.i),e.autoScroll=Eo,Eo.interaction=e,Eo.prevTime=Eo.now(),Eo.i=Po["default"].request(Eo.scroll)},stop:function(){Eo.isScrolling=!1,Eo.interaction&&(Eo.interaction.autoScroll=null),Po["default"].cancel(Eo.i)},scroll:function(){var e=Eo.interaction,t=e.interactable,n=e.element,r=t.options[Eo.interaction.prepared.name].autoScroll,i=Mo(r.container,t,n),o=Eo.now(),a=(o-Eo.prevTime)/1e3,s=r.speed*a;if(s>=1){var u={x:Eo.x*s,y:Eo.y*s};if(u.x||u.y){var l=To(i);Oo.window(i)?i.scrollBy(u.x,u.y):i&&(i.scrollLeft+=u.x,i.scrollTop+=u.y);var c=To(i),f={x:c.x-l.x,y:c.y-l.y};(f.x||f.y)&&t.fire({type:"autoscroll",target:n,interactable:t,delta:f,interaction:e,container:i})}Eo.prevTime=o}Eo.isScrolling&&(Po["default"].cancel(Eo.i),Eo.i=Po["default"].request(Eo.scroll))},check:function(e,t){var n=e.options;return n[t].autoScroll&&n[t].autoScroll.enabled},onInteractionMove:function(e){var t=e.interaction,n=e.pointer;if(t.interacting()&&Eo.check(t.interactable,t.prepared.name))if(t.simulation)Eo.x=Eo.y=0;else{var r,i,o,a,s=t.interactable,u=t.element,l=s.options[t.prepared.name].autoScroll,c=Mo(l.container,s,u);if(Oo.window(c))a=n.clientXc.innerWidth-Eo.margin,o=n.clientY>c.innerHeight-Eo.margin;else{var f=xo.getElementClientRect(c);a=n.clientXf.right-Eo.margin,o=n.clientY>f.bottom-Eo.margin}Eo.x=i?1:a?-1:0,Eo.y=o?1:r?-1:0,Eo.isScrolling||(Eo.margin=l.margin,Eo.speed=l.speed,Eo.start(t))}}};function Mo(e,t,n){return(Oo.string(e)?(0,dt.getStringOptionResult)(e,t,n):e)||(0,m.getWindow)(n)}function To(e){return Oo.window(e)&&(e=window.document.body),{x:e.scrollLeft,y:e.scrollTop}}function zo(e){return Oo.window(e)&&(e=window.document.body),{x:e.scrollWidth,y:e.scrollHeight}}function ko(e,t){var n=e.interaction,r=e.element,i=n&&n.interactable.options[n.prepared.name].autoScroll;if(!i||!i.enabled)return t(),{x:0,y:0};var o=Mo(i.container,n.interactable,r),a=To(o);t();var s=To(o);return{x:s.x-a.x,y:s.y-a.y}}var Do={id:"auto-scroll",install:So};wo["default"]=Do;var Ro={};Object.defineProperty(Ro,"__esModule",{value:!0}),Ro["default"]=void 0;var Io=Ao(j);function Ao(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function Co(e){var t=e.Interactable,n=e.actions;t.prototype.getAction=No,t.prototype.ignoreFrom=(0,qt.warnOnce)(function(e){return this._backCompatOption("ignoreFrom",e)},"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),t.prototype.allowFrom=(0,qt.warnOnce)(function(e){return this._backCompatOption("allowFrom",e)},"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),t.prototype.actionChecker=Wo,t.prototype.styleCursor=Lo,t.prototype.defaultActionChecker=function(e,t,r,i){return Ho(this,e,t,r,i,n)}}function No(e,t,n,r){var i=this.defaultActionChecker(e,t,n,r);return this.options.actionChecker?this.options.actionChecker(e,t,i,this,r,n):i}function Ho(e,t,n,r,i,o){for(var a=e.getRect(i),s=n.buttons||{0:1,1:4,3:8,4:16}[n.button],u=null,l=0;l=s)return!1;if(p.interactable===e){if(l+=h===n.name?1:0,l>=o)return!1;if(p.element===t&&(c++,h===n.name&&c>=a))return!1}}}return s>0}function Ko(e,t){return Xo.is.number(e)?(t.autoStart.maxInteractions=e,this):t.autoStart.maxInteractions}function ea(e,t,n){n.autoStart.cursorElement&&(n.autoStart.cursorElement.style.cursor=""),e.ownerDocument.documentElement.style.cursor=t,e.style.cursor=t,n.autoStart.cursorElement=t?e:null}var ta={id:"auto-start/base",install:Vo,maxInteractions:Ko,withinInteractionLimit:Qo,validateAction:qo};$o["default"]=ta;var na={};Object.defineProperty(na,"__esModule",{value:!0}),na["default"]=void 0;var ra=t({}),ia=sa(j),oa=aa($o);function aa(e){return e&&e.__esModule?e:{default:e}}function sa(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function ua(e){function t(e,t){if(!t)return!1;var n=t.options[ra.ActionName.Drag].startAxis;return"xy"===e||"xy"===n||n===e}e.autoStart.signals.on("before-start",function(n){var r=n.interaction,i=n.eventTarget,o=n.dx,a=n.dy;if("drag"===r.prepared.name){var s=Math.abs(o),u=Math.abs(a),l=r.interactable.options.drag,c=l.startAxis,f=s>u?"x":s0&&(t.autoStartHoldTimer=setTimeout(function(){t.start(t.prepared,t.interactable,t.element)},n))}),n.signals.on("move",function(e){var t=e.interaction,n=e.duplicate;t.pointerWasMoved&&!n&&clearTimeout(t.autoStartHoldTimer)}),t.signals.on("before-start",function(e){var t=e.interaction,n=ha(t);n>0&&(t.prepared.name=null)})}function ha(e){var t=e.prepared&&e.prepared.name;if(!t)return null;var n=e.interactable.options;return n[t].hold||n[t].delay}var va={id:"auto-start/hold",install:pa,getHoldDuration:ha};ca["default"]=va;var ga={};Object.defineProperty(ga,"__esModule",{value:!0}),ga.install=xa,Object.defineProperty(ga,"autoStart",{enumerable:!0,get:function(){return ya["default"]}}),Object.defineProperty(ga,"dragAxis",{enumerable:!0,get:function(){return ma["default"]}}),Object.defineProperty(ga,"hold",{enumerable:!0,get:function(){return ba["default"]}}),ga.id=void 0;var ya=wa($o),ma=wa(na),ba=wa(ca);function wa(e){return e&&e.__esModule?e:{default:e}}function xa(e){e.usePlugin(ya["default"]),e.usePlugin(ba["default"]),e.usePlugin(ma["default"])}var Oa="auto-start";ga.id=Oa;var Pa={};Object.defineProperty(Pa,"__esModule",{value:!0}),Pa.install=ka,Pa["default"]=void 0;var _a=Ea(Ce),ja=Sa(j);function Sa(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t["default"]=e,t}function Ea(e){return e&&e.__esModule?e:{default:e}}function Ma(e){return/^(always|never|auto)$/.test(e)?(this.options.preventDefault=e,this):ja.bool(e)?(this.options.preventDefault=e?"always":"never",this):this.options.preventDefault}function Ta(e,t,n){var r=e.options.preventDefault;if("never"!==r)if("always"!==r){if(_a["default"].supportsPassive&&/^touch(start|move)$/.test(n.type)){var i=(0,m.getWindow)(n.target).document,o=t.getDocOptions(i);if(!o||!o.events||!1!==o.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(n.type)||ja.element(n.target)&&(0,U.matchesSelector)(n.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||n.preventDefault()}else n.preventDefault()}function za(e){var t=e.interaction,n=e.event;t.interactable&&t.interactable.checkAndPreventDefault(n)}function ka(e){var t=e.Interactable;t.prototype.preventDefault=Ma,t.prototype.checkAndPreventDefault=function(t){return Ta(this,e,t)};for(var n=["down","move","up","cancel"],r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=t.logger,r=e.interactions,i=e.Interactable,o=e.defaults;n=n||console,r.signals.on("action-start",function(e){for(var t=e.interaction,r=0;rs.minSpeed&&c>s.endSpeed,h={interaction:n,pageCoords:js.extend({},n.coords.cur.page),states:d&&n.modifiers.states.map(function(e){return js.extend({},e)}),preEnd:!0,prevCoords:void 0,requireEndOnly:null};return d&&!p&&(h.prevCoords=n.prevEvent.page,h.requireEndOnly=!1,a=_s["default"].setAll(h),a.changed&&(f=!0)),p||f?(js.pointer.copyCoords(o.upCoords,n.coords.cur),n.pointers[0].pointer=o.startEvent=new t.InteractEvent(n,r,n.prepared.name,hr.EventPhase.InertiaStart,n.element),o.t0=u,o.active=!0,o.allowResume=s.allowResume,n.simulation=o,n.interactable.fire(o.startEvent),p?(o.vx0=n.coords.velocity.client.x,o.vy0=n.coords.velocity.client.y,o.v0=c,Rs(n,o),js.extend(h.pageCoords,n.coords.cur.page),h.pageCoords.x+=o.xe,h.pageCoords.y+=o.ye,h.prevCoords=void 0,h.requireEndOnly=!0,a=_s["default"].setAll(h),o.modifiedXe+=a.delta.x,o.modifiedYe+=a.delta.y,o.timeout=Ss["default"].request(function(){return Is(n)})):(o.smoothEnd=!0,o.xe=a.delta.x,o.ye=a.delta.y,o.sx=o.sy=0,o.timeout=Ss["default"].request(function(){return As(n)})),!1):null}function Ds(e){var t=e.interaction,n=t.inertia;n.active&&(Ss["default"].cancel(n.timeout),n.active=!1,t.simulation=null)}function Rs(e,t){var n=Ns(e),r=n.resistance,i=-Math.log(n.endSpeed/t.v0)/r;t.x0=e.prevEvent.page.x,t.y0=e.prevEvent.page.y,t.t0=t.startEvent.timeStamp/1e3,t.sx=t.sy=0,t.modifiedXe=t.xe=(t.vx0-i)/r,t.modifiedYe=t.ye=(t.vy0-i)/r,t.te=i,t.lambda_v0=r/t.v0,t.one_ve_v0=1-n.endSpeed/t.v0}function Is(e){Cs(e),js.pointer.setCoordDeltas(e.coords.delta,e.coords.prev,e.coords.cur),js.pointer.setCoordVelocity(e.coords.velocity,e.coords.delta);var t=e.inertia,n=Ns(e),r=n.resistance,i=e._now()/1e3-t.t0;if(i=l?e?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(e,t,n){"use strict";var r=n("02f4")(!0);e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},"07e3":function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},"0bfb":function(e,t,n){"use strict";var r=n("cb7c");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},"0d58":function(e,t,n){var r=n("ce10"),i=n("e11e");e.exports=Object.keys||function(e){return r(e,i)}},1156:function(e,t,n){var r=n("ad20");"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(e,t,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),l=Object.getOwnPropertyDescriptor;t.f=n("9e1e")?l:function(e,t){if(e=o(e),t=a(t,!0),u)try{return l(e,t)}catch(n){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},1495:function(e,t,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");e.exports=n("9e1e")?Object.defineProperties:function(e,t){i(e);var n,a=o(t),s=a.length,u=0;while(s>u)r.f(e,n=a[u++],t[n]);return e}},"18d2":function(e,t,n){"use strict";var r=n("18e9");e.exports=function(e){e=e||{};var t=e.reporter,n=e.batchProcessor,i=e.stateHandler.getState;if(!t)throw new Error("Missing required dependency: reporter.");function o(e,t){if(!s(e))throw new Error("Element is not detectable by this strategy.");function n(){t(e)}if(r.isIE(8))i(e).object={proxy:n},e.attachEvent("onresize",n);else{var o=s(e);o.contentDocument.defaultView.addEventListener("resize",n)}}function a(e,o,a){a||(a=o,o=e,e=null),e=e||{};e.debug;function s(e,o){var a="display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; padding: 0; margin: 0; opacity: 0; z-index: -1000; pointer-events: none;",s=!1,u=window.getComputedStyle(e),l=e.offsetWidth,c=e.offsetHeight;function f(){function n(){if("static"===u.position){e.style.position="relative";var n=function(e,t,n,r){function i(e){return e.replace(/[^-\d\.]/g,"")}var o=n[r];"auto"!==o&&"0"!==i(o)&&(e.warn("An element that is positioned static has style."+r+"="+o+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+r+" will be set to 0. Element: ",t),t.style[r]=0)};n(t,e,u,"top"),n(t,e,u,"right"),n(t,e,u,"bottom"),n(t,e,u,"left")}}function l(){function t(e,n){e.contentDocument?n(e.contentDocument):setTimeout((function(){t(e,n)}),100)}s||n();var r=this;t(r,(function(t){o(e)}))}""!==u.position&&(n(u),s=!0);var c=document.createElement("object");c.style.cssText=a,c.tabIndex=-1,c.type="text/html",c.setAttribute("aria-hidden","true"),c.onload=l,r.isIE()||(c.data="about:blank"),e.appendChild(c),i(e).object=c,r.isIE()&&(c.data="about:blank")}i(e).startSize={width:l,height:c},n?n.add(f):f()}r.isIE(8)?a(o):s(o,a)}function s(e){return i(e).object}function u(e){r.isIE(8)?e.detachEvent("onresize",i(e).object.proxy):e.removeChild(s(e)),delete i(e).object}return{makeDetectable:a,addListener:o,uninstall:u}}},"18e9":function(e,t,n){"use strict";var r=e.exports={};r.isIE=function(e){function t(){var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("msie")||-1!==e.indexOf("trident")||-1!==e.indexOf(" edge/")}if(!t())return!1;if(!e)return!0;var n=function(){var e,t=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++t+"]>4?t:e}();return e===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(e,t,n){var r=n("f772");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(e,t,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},"214f":function(e,t,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),l=s("species"),c=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),f=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var d=s(e),p=!o((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),v=p?!o((function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[l]=function(){return n}),n[d](""),!t})):void 0;if(!p||!v||"replace"===e&&!c||"split"===e&&!f){var h=/./[d],g=n(a,d,""[e],(function(e,t,n,r,i){return t.exec===u?p&&!i?{done:!0,value:h.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}})),y=g[0],m=g[1];r(String.prototype,e,y),i(RegExp.prototype,d,2==t?function(e,t){return m.call(e,this,t)}:function(e){return m.call(e,this)})}}},"230e":function(e,t,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},2350:function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(e){var t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+t;return"/*# "+n+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=n(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r})).join("")},t.i=function(e,n){"string"===typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i";t.style.display="none",n("fab2").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(i+"script"+a+"document.F=Object"+i+"/script"+a),e.close(),l=e.F;while(r--)delete l[u][o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[u]=r(e),n=new s,s[u]=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},"2b4c":function(e,t,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))};s.store=r},"2cef":function(e,t,n){"use strict";e.exports=function(){var e=1;function t(){return e++}return{generate:t}}},"2d00":function(e,t){e.exports=!1},"2d95":function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},"2f21":function(e,t,n){"use strict";var r=n("79e5");e.exports=function(e,t){return!!e&&r((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},"32e9":function(e,t,n){var r=n("86cc"),i=n("4630");e.exports=n("9e1e")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"35e8":function(e,t,n){var r=n("d9f6"),i=n("aebd");e.exports=n("8e60")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"38fd":function(e,t,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},"41a0":function(e,t,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},"454f":function(e,t,n){n("46a7");var r=n("584a").Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},"456d":function(e,t,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(e){return i(r(e))}}))},4588:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},4630:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"46a7":function(e,t,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(e,t,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(e,t,n,s){return[function(n){var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=s(n,e,this);if(t.done)return t.value;var u=r(e),l=String(this);if(!u.global)return a(u,l);var c=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,l))){var v=String(f[0]);d[p]=v,""===v&&(u.lastIndex=o(l,i(u.lastIndex),c)),p++}return 0===p?null:d}]}))},"499e":function(e,t,n){"use strict";function r(e,t){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i1&&o.call(a[0],n,(function(){for(c=1;cf)n=u(r,t=l[f++]),void 0!==n&&s(c,t,n);return c}})},9093:function(e,t,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},"990b":function(e,t,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(o(e)),n=i.f;return n?t.concat(n(e)):t}},"9b43":function(e,t,n){var r=n("d8e8");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"9c6c":function(e,t,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),e.exports=function(e){i[r][e]=!0}},"9cbe":function(e,t,n){t=e.exports=n("2350")(!1),t.push([e.i,'.vue-grid-item{-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transition-property:left,top,right;transition-property:left,top,right}.vue-grid-item.no-touch{-ms-touch-action:none;touch-action:none}.vue-grid-item.cssTransforms{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;left:0;right:auto}.vue-grid-item.cssTransforms.render-rtl{left:auto;right:0}.vue-grid-item.resizing{opacity:.6;z-index:3}.vue-grid-item.vue-draggable-dragging{-webkit-transition:none;transition:none;z-index:3}.vue-grid-item.vue-grid-placeholder{background:red;opacity:.2;-webkit-transition-duration:.1s;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.vue-grid-item>.vue-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;background:url("data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZ6IiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+");background-position:100% 100%;padding:0 3px 3px 0;background-repeat:no-repeat;background-origin:content-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:se-resize}.vue-grid-item>.vue-rtl-resizable-handle{bottom:0;left:0;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS0xLTFoMTJ2MTJILTF6Ii8+PGc+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGQ9Ik0xNDQuODIxLTM4LjM5M2wtMjAuMzU3LTMxLjc4NSIvPjxwYXRoIHN0cm9rZT0iIzY2NiIgc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZD0iTS45NDctLjAxOHY5LjEyNU0tLjY1NiA5aDEwLjczIi8+PC9nPjwvc3ZnPg==);background-position:0 100%;padding-left:3px;background-repeat:no-repeat;background-origin:content-box;cursor:sw-resize;right:auto}.vue-grid-item.disable-userselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}',""])},"9def":function(e,t,n){var r=n("4588"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},"9e1e":function(e,t,n){e.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a481:function(e,t,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),s=n("0390"),u=n("5f1b"),l=Math.max,c=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g,v=function(e){return void 0===e?e:String(e)};n("214f")("replace",2,(function(e,t,n,h){return[function(r,i){var o=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(e,t){var i=h(n,e,this,t);if(i.done)return i.value;var f=r(e),d=String(this),p="function"===typeof t;p||(t=String(t));var y=f.global;if(y){var m=f.unicode;f.lastIndex=0}var b=[];while(1){var w=u(f,d);if(null===w)break;if(b.push(w),!y)break;var x=String(w[0]);""===x&&(f.lastIndex=s(d,o(f.lastIndex),m))}for(var O="",P=0,_=0;_=P&&(O+=d.slice(P,S)+z,P=S+j.length)}return O+d.slice(P)}];function g(e,t,r,o,a,s){var u=r+e.length,l=o.length,c=p;return void 0!==a&&(a=i(a),c=d),n.call(s,c,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var c=+i;if(0===c)return n;if(c>l){var d=f(c/10);return 0===d?n:d<=l?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[c-1]}return void 0===s?"":s}))}}))},aa77:function(e,t,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),f=function(e,t,n){var i={},s=o((function(){return!!a[e]()||u[e]()!=u})),l=i[e]=s?t(d):a[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=f.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=f},abb4:function(e,t,n){"use strict";e.exports=function(e){function t(){}var n={log:t,warn:t,error:t};if(!e&&window.console){var r=function(e,t){e[t]=function(){var e=console[t];if(e.apply)e.apply(console,arguments);else for(var n=0;nn?n=i:ic)if(s=u[c++],s!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},c5f6:function(e,t,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),l=n("9093").f,c=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",v=r[p],h=v,g=v.prototype,y=o(n("2aeb")(g))==p,m="trim"in String.prototype,b=function(e){var t=s(e,!1);if("string"==typeof t&&t.length>2){t=m?t.trim():d(t,3);var n,r,i,o=t.charCodeAt(0);if(43===o||45===o){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+t}for(var a,u=t.slice(2),l=0,c=u.length;li)return NaN;return parseInt(u,r)}}return+t};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof v&&(y?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new h(b(t)),n,v):b(t)};for(var w,x=n("9e1e")?l(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;x.length>O;O++)i(h,w=x[O])&&!i(v,w)&&f(v,w,c(h,w));v.prototype=g,g.constructor=v,n("2aba")(r,p,v)}},c69a:function(e,t,n){e.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c946:function(e,t,n){"use strict";var r=n("b770").forEach;e.exports=function(e){e=e||{};var t=e.reporter,n=e.batchProcessor,i=e.stateHandler.getState,o=(e.stateHandler.hasState,e.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!t)throw new Error("Missing required dependency: reporter.");var a=l(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function l(){var e=500,t=500,n=document.createElement("div");n.style.cssText="position: absolute; width: "+2*e+"px; height: "+2*t+"px; visibility: hidden; margin: 0; padding: 0;";var r=document.createElement("div");r.style.cssText="position: absolute; width: "+e+"px; height: "+t+"px; overflow: scroll; visibility: none; top: "+3*-e+"px; left: "+3*-t+"px; visibility: hidden; margin: 0; padding: 0;",r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=e-r.clientWidth,o=t-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function c(e,t){function n(t,n){n=n||function(e){document.head.appendChild(e)};var r=document.createElement("style");return r.innerHTML=t,r.id=e,n(r),r}if(!document.getElementById(e)){var r=t+"_animation",i=t+"_animation_active",o="/* Created by the element-resize-detector library. */\n";o+="."+t+" > div::-webkit-scrollbar { display: none; }\n\n",o+="."+i+" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: "+r+"; animation-name: "+r+"; }\n",o+="@-webkit-keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",o+="@keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",n(o)}}function f(e){e.className+=" "+u+"_animation_active"}function d(e,n,r){if(e.addEventListener)e.addEventListener(n,r);else{if(!e.attachEvent)return t.error("[scroll] Don't know how to add event listeners.");e.attachEvent("on"+n,r)}}function p(e,n,r){if(e.removeEventListener)e.removeEventListener(n,r);else{if(!e.detachEvent)return t.error("[scroll] Don't know how to remove event listeners.");e.detachEvent("on"+n,r)}}function v(e){return i(e).container.childNodes[0].childNodes[0].childNodes[0]}function h(e){return i(e).container.childNodes[0].childNodes[0].childNodes[1]}function g(e,t){var n=i(e).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(e).listeners.push(t)}function y(e,s,l){function c(){if(e.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),t.log.apply)t.log.apply(null,n);else for(var r=0;r=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(e,t,n){var r=n("d3f4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ce10:function(e,t,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);while(t.length>u)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},d3f4:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},d53b:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},d6eb:function(e,t,n){"use strict";var r="_erd";function i(e){return e[r]={},o(e)}function o(e){return e[r]}function a(e){delete e[r]}e.exports={initState:i,getState:o,cleanState:a}},d864:function(e,t,n){var r=n("79aa");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},d8e8:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},d9f6:function(e,t,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;t.f=n("8e60")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},e11e:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(e,t,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(e,t,n){var r=n("f772");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},e53d:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eec4:function(e,t,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),l=n("18e9"),c=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function v(e){return Array.isArray(e)||void 0!==e.length}function h(e){if(Array.isArray(e))return e;var t=[];return r(e,(function(e){t.push(e)})),t}function g(e){return e&&1===e.nodeType}function y(e,t,n){var r=e[t];return void 0!==r&&null!==r||void 0===n?r:n}e.exports=function(e){var t;if(e=e||{},e.idHandler)t={get:function(t){return e.idHandler.get(t,!0)},set:e.idHandler.set};else{var n=a(),m=s({idGenerator:n,stateHandler:f});t=m}var b=e.reporter;if(!b){var w=!1===b;b=u(w)}var x=y(e,"batchProcessor",c({reporter:b})),O={};O.callOnAdd=!!y(e,"callOnAdd",!0),O.debug=!!y(e,"debug",!1);var P,_=o(t),j=i({stateHandler:f}),S=y(e,"strategy","object"),M={reporter:b,batchProcessor:x,stateHandler:f,idHandler:t};if("scroll"===S&&(l.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),S="object"):l.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),S="object")),"scroll"===S)P=p(M);else{if("object"!==S)throw new Error("Invalid strategy name: "+S);P=d(M)}var E={};function k(e,n,i){function o(e){var t=_.get(e);r(t,(function(t){t(e)}))}function a(e,t,n){_.add(t,n),e&&n(t)}if(i||(i=n,n=e,e={}),!n)throw new Error("At least one element required.");if(!i)throw new Error("Listener required.");if(g(n))n=[n];else{if(!v(n))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");n=h(n)}var s=0,u=y(e,"callOnAdd",O.callOnAdd),l=y(e,"onReady",(function(){})),c=y(e,"debug",O.debug);r(n,(function(e){f.getState(e)||(f.initState(e),t.set(e));var d=t.get(e);if(c&&b.log("Attaching listener to element",d,e),!j.isDetectable(e))return c&&b.log(d,"Not detectable."),j.isBusy(e)?(c&&b.log(d,"System busy making it detectable"),a(u,e,i),E[d]=E[d]||[],void E[d].push((function(){s++,s===n.length&&l()}))):(c&&b.log(d,"Making detectable..."),j.markBusy(e,!0),P.makeDetectable({debug:c},e,(function(e){if(c&&b.log(d,"onElementDetectable"),f.getState(e)){j.markAsDetectable(e),j.markBusy(e,!1),P.addListener(e,o),a(u,e,i);var t=f.getState(e);if(t&&t.startSize){var p=e.offsetWidth,v=e.offsetHeight;t.startSize.width===p&&t.startSize.height===v||o(e)}E[d]&&r(E[d],(function(e){e()}))}else c&&b.log(d,"Element uninstalled before being detectable.");delete E[d],s++,s===n.length&&l()})));c&&b.log(d,"Already detecable, adding listener."),a(u,e,i),s++})),s===n.length&&l()}function T(e){if(!e)return b.error("At least one element is required.");if(g(e))e=[e];else{if(!v(e))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");e=h(e)}r(e,(function(e){_.removeAllListeners(e),P.uninstall(e),f.cleanState(e)}))}return{listenTo:k,removeListener:_.removeListener,removeAllListeners:_.removeAllListeners,uninstall:T}}},f1ae:function(e,t,n){"use strict";var r=n("86cc"),i=n("4630");e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},f6fd:function(e,t){(function(e){var t="currentScript",n=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(r){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(e in n)if(n[e].src==t||"interactive"==n[e].readyState)return n[e];return null}}})})(document)},f772:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},fa5b:function(e,t,n){e.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement},fb15:function(e,t,n){"use strict";var r;(n.r(t),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var i=n("8bbf"),o=n.n(i),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"item",staticClass:"vue-grid-item",class:e.classObj,style:e.style},[e._t("default"),e.resizableAndNotStatic?n("span",{ref:"handle",class:e.resizableHandleClass}):e._e()],2)},s=[];n("4917"),n("c5f6"),n("a481"),n("55dd");function u(e){for(var t,n=0,r=0,i=e.length;rn&&(n=t);return n}function l(e){for(var t=Array(e.length),n=0,r=e.length;n=t.x+t.w)&&(!(e.y+e.h<=t.y)&&!(e.y>=t.y+t.h))))}function d(e,t){for(var n=m(e),r=j(e),i=Array(e.length),o=0,a=r.length;o0&&!g(e,t))t.y--;var r;while(r=g(e,t))t.y=r.y+r.h;return t}function v(e,t){for(var n=m(e),r=0,i=e.length;rt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)while(g(n,o))o.y++;else n.push(o)}return e}function h(e,t){for(var n=0,r=e.length;nr;"number"===typeof n&&(t.x=n),"number"===typeof r&&(t.y=r),t.moved=!0;var l=j(e);u&&(l=l.reverse());var c=y(l,t);if(o&&c.length)return t.x=a,t.y=s,t.moved=!1,e;for(var f=0,d=c.length;fp.y&&t.y-p.y>p.h/4||(e=p.static?w(e,p,t,i):w(e,t,p,i)))}return e}function w(e,t,n,r){var i=!1;if(r){var o={x:n.x,y:n.y,w:n.w,h:n.h,i:"-1"};if(o.y=Math.max(t.y-n.h,0),!g(e,o))return b(e,n,void 0,o.y,i)}return b(e,n,void 0,n.y+1,i)}function x(e,t,n,r){var i="translate3d("+t+"px,"+e+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function O(e,t,n,r){var i="translate3d("+-1*t+"px,"+e+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function P(e,t,n,r){return{top:e+"px",left:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function _(e,t,n,r){return{top:e+"px",right:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function j(e){return[].concat(e).sort((function(e,t){return e.y>t.y||e.y===t.y&&e.x>t.x?1:-1}))}function S(e,t){t=t||"Layout";var n=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var r=0,i=e.length;rthis.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var e,t=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(t.top=this.dragging.top,this.renderRtl?t.right=this.dragging.left:t.left=this.dragging.left),this.isResizing&&(t.width=this.resizing.width,t.height=this.resizing.height),e=this.useCssTransforms?this.renderRtl?O(t.top,t.right,t.width,t.height):x(t.top,t.left,t.width,t.height):this.renderRtl?_(t.top,t.right,t.width,t.height):P(t.top,t.left,t.width,t.height),this.style=e},emitContainerResized:function(){for(var e={},t=0,n=["width","height"];tthis.maxW&&(n.w=this.maxW),n.hthis.maxH&&(n.h=this.maxH),n.h<1&&(n.h=1),n.w<1&&(n.w=1),this.lastW=r,this.lastH=i,this.innerW===n.w&&this.innerH===n.h||this.$emit("resize",this.i,n.h,n.w,o.height,o.width),"resizeend"!==e.type||this.previousW===this.innerW&&this.previousH===this.innerH||this.$emit("resized",this.i,n.h,n.w,o.height,o.width),this.eventBus.$emit("resizeEvent",e.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(e){if(!this.static&&!this.isResizing){var t=M(e);if(null!==t){var n,r=t.x,i=t.y,o={top:0,left:0};switch(e.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var a=e.target.offsetParent.getBoundingClientRect(),s=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(s.right-a.right):o.left=s.left-a.left,o.top=s.top-a.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var u=e.target.offsetParent.getBoundingClientRect(),l=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(l.right-u.right):o.left=l.left-u.left,o.top=l.top-u.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var c=k(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-c.deltaX:o.left=this.dragging.left+c.deltaX,o.top=this.dragging.top+c.deltaY,this.dragging=o;break}n=(this.renderRtl,this.calcXY(o.top,o.left)),this.lastX=r,this.lastY=i,this.innerX===n.x&&this.innerY===n.y||this.$emit("move",this.i,n.x,n.y),"dragend"!==e.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",e.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(e,t,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])}:{left:Math.round(o*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])},i},calcXY:function(e,t){var n=this.calcColWidth(),r=Math.round((t-this.margin[0])/(n+this.margin[0])),i=Math.round((e-this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerW),0),i=Math.max(Math.min(i,this.maxRows-this.innerH),0),{x:r,y:i}},calcColWidth:function(){var e=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return e},calcWH:function(e,t){var n=this.calcColWidth(),r=Math.round((t+this.margin[0])/(n+this.margin[0])),i=Math.round((e+this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerX),0),i=Math.max(Math.min(i,this.maxRows-this.innerY),0),{w:r,h:i}},updateWidth:function(e,t){this.containerWidth=e,void 0!==t&&null!==t&&(this.cols=t)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var e=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=W(this.$refs.item)),this.draggable&&!this.static){var t={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(t),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(t){e.handleDrag(t)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var e=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=W(this.$refs.item)),this.resizable&&!this.static){var t=this.calcPosition(0,0,this.maxW,this.maxH),n=this.calcPosition(0,0,this.minW,this.minH),r={preserveAspectRatio:!0,edges:{left:!1,right:"."+this.resizableHandleClass,bottom:"."+this.resizableHandleClass,top:!1},ignoreFrom:this.resizeIgnoreFrom,restrictSize:{min:{height:n.height,width:n.width},max:{height:t.height,width:t.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(t){e.handleResize(t)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var e=this.$slots.default[0].elm.getBoundingClientRect(),t=this.calcWH(e.height,e.width);t.wthis.maxW&&(t.w=this.maxW),t.hthis.maxH&&(t.h=this.maxH),t.h<1&&(t.h=1),t.w<1&&(t.w=1),this.innerW===t.w&&this.innerH===t.h||this.$emit("resize",this.i,t.h,t.w,e.height,e.width),this.previousW===t.w&&this.previousH===t.h||(this.$emit("resized",this.i,t.h,t.w,e.height,e.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,t.h,t.w))}}},H=N;n("5ed4");function L(e,t,n,r,i,o,a,s){var u,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),a?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(l.functional){l._injectStyles=u;var c=l.render;l.render=function(e,t){return u.call(t),c(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,u):[u]}return{exports:e,options:l}}var $=L(H,a,s,!1,null,null,null),B=$.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:e.mergedStyle},[e._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:e.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:e.placeholder.x,y:e.placeholder.y,w:e.placeholder.w,h:e.placeholder.h,i:e.placeholder.i}})],2)},Y=[],F=(n("8e6e"),n("fca0"),n("85f2")),G=n.n(F);function V(e,t,n){return t in e?G()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e,t){for(var n=J(e),r=n[0],i=1,o=n.length;ie[a]&&(r=a)}return r}function U(e,t){if(!t[e])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]}function Z(e,t,n,r,i,o,a){if(t[r])return l(t[r]);for(var s=e,u=J(n),c=u.slice(u.indexOf(r)),f=0,p=c.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(e):this.originalLayout=this.originalLayout.filter((function(t){return!e.some((function(e){return t.i===e.i}))}))),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}d(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight()}},updateHeight:function(){this.mergedStyle={height:this.containerHeight()}},onWindowResize:function(){null!==this.$refs&&null!==this.$refs.item&&void 0!==this.$refs.item&&(this.width=this.$refs.item.offsetWidth),this.eventBus.$emit("resizeEvent")},containerHeight:function(){if(this.autoSize)return u(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px"},dragEvent:function(e,t,n,r,i,o){var a=h(this.layout,t);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===e||"dragstart"===e?(this.placeholder.i=t,this.placeholder.x=a.x,this.placeholder.y=a.y,this.placeholder.w=o,this.placeholder.h=i,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.layout=b(this.layout,a,n,r,!0,this.preventCollision),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===e&&this.$emit("layout-updated",this.layout)},resizeEvent:function(e,t,n,r,i,o){var a,s=h(this.layout,t);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=y(this.layout,K({},s,{w:o,h:i})).filter((function(e){return e.i!==s.i}));if(a=u.length>0,a){var l=1/0,c=1/0;u.forEach((function(e){e.x>s.x&&(l=Math.min(l,e.x)),e.y>s.y&&(c=Math.min(c,e.y))})),Number.isFinite(l)&&(s.w=l-s.x),Number.isFinite(c)&&(s.h=c-s.y)}}a||(s.w=o,s.h=i),"resizestart"===e||"resizemove"===e?(this.placeholder.i=t,this.placeholder.x=n,this.placeholder.y=r,this.placeholder.w=s.w,this.placeholder.h=s.h,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.responsive&&this.responsiveGridLayout(),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===e&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var e=q(this.breakpoints,this.width),t=U(e,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=l(this.layout));var n=Z(this.originalLayout,this.layouts,this.breakpoints,e,this.lastBreakpoint,t,this.verticalCompact);this.layouts[e]=n,this.$emit("update:layout",n),this.lastBreakpoint=e,this.eventBus.$emit("setColNum",U(e,this.cols))},initResponsiveFeatures:function(){this.layouts={}},findDifference:function(e,t){var n=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))})),r=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))}));return n.concat(r)}}},ne=te,re=(n("e279"),L(ne,X,Y,!1,null,null,null)),ie=re.exports,oe={GridLayout:ie,GridItem:B};Object.keys(oe).forEach((function(e){o.a.component(e,oe[e])}));var ae=oe;n.d(t,"GridLayout",(function(){return ie})),n.d(t,"GridItem",(function(){return B}));t["default"]=ae},fb3a:function(e,t,n){(function(t){e.exports=t()})((function(){var e=function(e){var t;return function(n){return t||e(t={exports:{},parent:n},t.exports),t.exports}},t=e((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scope=t.ActionName=void 0;var r=v(tn),i=d(f),o=d(Sn),a=d(kn),s=d(Bn),u=d(or),l=d(jr),c=d(n({}));function d(e){return e&&e.__esModule?e:{default:e}}function p(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return p=function(){return e},e}function v(e){if(e&&e.__esModule)return e;var t=p();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function h(e){return h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function g(e,t){return!t||"object"!==h(t)&&"function"!==typeof t?y(e):t}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e,t,n){return m="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=b(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}},m(e,t,n||e)}function b(e,t){while(!Object.prototype.hasOwnProperty.call(e,t))if(e=w(e),null===e)break;return e}function w(e){return w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},w(e)}function x(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}function O(e,t){return O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},O(e,t)}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var n=0;n=0;e--){var r=n.interactions.list[e];r.interactable===this&&(r.stop(),n.interactions.signals.fire("destroy",{interaction:r}),r.destroy(),n.interactions.list.length>2&&n.interactions.list.splice(e,1))}n.interactables.signals.fire("unset",{interactable:this})}},{key:"_defaults",get:function(){return n.defaults}}]),t}(s["default"])}return j(e,[{key:"init",value:function(e){return R(this,e)}},{key:"pluginIsInstalled",value:function(e){return this._pluginMap[e.id]||-1!==this._plugins.indexOf(e)}},{key:"usePlugin",value:function(e,t){return this.pluginIsInstalled(e)?this:(e.id&&(this._pluginMap[e.id]=e),e.install(this,t),this._plugins.push(e),this)}},{key:"addDocument",value:function(e,t){if(-1!==this.getDocIndex(e))return!1;var n=M.getWindow(e);t=t?r.extend({},t):{},this.documents.push({doc:e,options:t}),z.documents.push(e),e!==this.document&&z.add(n,"unload",this.onWindowUnload),this.signals.fire("add-document",{doc:e,window:n,scope:this,options:t})}},{key:"removeDocument",value:function(e){var t=this.getDocIndex(e),n=M.getWindow(e),r=this.documents[t].options;z.remove(n,"unload",this.onWindowUnload),this.documents.splice(t,1),z.documents.splice(t,1),this.signals.fire("remove-document",{doc:e,window:n,scope:this,options:r})}},{key:"getDocIndex",value:function(e){for(var t=0;tthis.pointerMoveTolerance);var s={pointer:e,pointerIndex:this.getPointerIndex(e),event:t,eventTarget:n,dx:r,dy:i,duplicate:a,interaction:this};a||(o.pointer.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),o.pointer.setCoordVelocity(this.coords.velocity,this.coords.delta)),this._signals.fire("move",s),a||(this.interacting()&&this.move(s),this.pointerWasMoved&&o.pointer.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(e){e=o.extend({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{}),e.phase=a.EventPhase.Move,this._doPhase(e)}},{key:"pointerUp",value:function(e,t,n,r){var i=this.getPointerIndex(e);-1===i&&(i=this.updatePointer(e,t,n,!1)),this._signals.fire(/cancel$/i.test(t.type)?"cancel":"up",{pointer:e,pointerIndex:i,event:t,eventTarget:n,curEventTarget:r,interaction:this}),this.simulation||this.end(t),this.pointerIsDown=!1,this.removePointer(e,t)}},{key:"documentBlur",value:function(e){this.end(e),this._signals.fire("blur",{event:e,interaction:this})}},{key:"end",value:function(e){var t;this._ending=!0,e=e||this._latestPointer.event,this.interacting()&&(t=this._doPhase({event:e,interaction:this,phase:a.EventPhase.End})),this._ending=!1,!0===t&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._signals.fire("stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(e){var t=o.pointer.getPointerId(e);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:o.arr.findIndex(this.pointers,(function(e){return e.id===t}))}},{key:"getPointerInfo",value:function(e){return this.pointers[this.getPointerIndex(e)]}},{key:"updatePointer",value:function(e,t,n,r){var i=o.pointer.getPointerId(e),a=this.getPointerIndex(e),u=this.pointers[a];return r=!1!==r&&(r||/(down|start)$/i.test(t.type)),u?u.pointer=e:(u=new s["default"](i,e,t,null,null),a=this.pointers.length,this.pointers.push(u)),r&&(this.pointerIsDown=!0,this.interacting()||(o.pointer.setCoords(this.coords.start,this.pointers.map((function(e){return e.pointer})),this._now()),o.pointer.copyCoords(this.coords.cur,this.coords.start),o.pointer.copyCoords(this.coords.prev,this.coords.start),o.pointer.pointerExtend(this.downPointer,e),this.downEvent=t,u.downTime=this.coords.cur.timeStamp,u.downTarget=n,this.pointerWasMoved=!1)),this._updateLatestPointer(e,t,n),this._signals.fire("update-pointer",{pointer:e,event:t,eventTarget:n,down:r,pointerInfo:u,pointerIndex:a,interaction:this}),a}},{key:"removePointer",value:function(e,t){var n=this.getPointerIndex(e);if(-1!==n){var r=this.pointers[n];this._signals.fire("remove-pointer",{pointer:e,event:t,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(e,t,n){this._latestPointer.pointer=e,this._latestPointer.event=t,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(e,t,n,r){var i=this.prepared.name;return new a["default"](this,e,i,t,this.element,null,n,r)}},{key:"_fireEvent",value:function(e){this.interactable.fire(e),(!this.prevEvent||e.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=e)}},{key:"_doPhase",value:function(e){var t=e.event,n=e.phase,r=e.preEnd,i=e.type,o=this._signals.fire("before-action-".concat(n),e);if(!1===o)return!1;var a=e.iEvent=this._createPreparedEvent(t,n,r,i),s=this.rect;if(s){var u=this.edges||this.prepared.edges||{left:!0,right:!0,top:!0,bottom:!0};u.top&&(s.top+=a.delta.y),u.bottom&&(s.bottom+=a.delta.y),u.left&&(s.left+=a.delta.x),u.right&&(s.right+=a.delta.x),s.width=s.right-s.left,s.height=s.bottom-s.top}return this._signals.fire("action-".concat(n),e),this._fireEvent(a),this._signals.fire("after-action-".concat(n),e),!0}},{key:"_now",value:function(){return Date.now()}},{key:"pointerMoveTolerance",get:function(){return 1}}]),e}();n.Interaction=h;var g=h;n["default"]=g})),i={};function o(e,t){return-1!==e.indexOf(t)}function a(e,t){return e.splice(e.indexOf(t),1)}function s(e,t){for(var n=0;n=p&&(i=a,o=t)}else i=a,o=t}else i=a,o=t}return o}function ce(e,t,n){while(K.element(e)){if(se(e,t))return!0;if(e=ae(e),e===n)return se(e,t)}return!1}function fe(e){return e instanceof Q["default"].SVGElementInstance?e.correspondingUseElement:e}function de(e){return e=e||ee["default"].window,{x:e.scrollX||e.document.documentElement.scrollLeft,y:e.scrollY||e.document.documentElement.scrollTop}}function pe(e){var t=e instanceof Q["default"].SVGElement?e.getBoundingClientRect():e.getClientRects()[0];return t&&{left:t.left,right:t.right,top:t.top,bottom:t.bottom,width:t.width||t.right-t.left,height:t.height||t.bottom-t.top}}function ve(e){var t=pe(e);if(!J["default"].isIOS7&&t){var n=de(ee["default"].getWindow(e));t.left+=n.x,t.right+=n.x,t.top+=n.y,t.bottom+=n.y}return t}function he(e){var t=[];while(e)t.push(e),e=ae(e);return t}function ge(e){return!!K.string(e)&&(Q["default"].document.querySelector(e),!0)}var ye={};Object.defineProperty(ye,"__esModule",{value:!0}),ye["default"]=Oe;var me=xe(i),be=xe(j);function we(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return we=function(){return e},e}function xe(e){if(e&&e.__esModule)return e;var t=we();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Oe(e){var t={};for(var n in e){var r=e[n];be.plainObject(r)?t[n]=Oe(r):be.array(r)?t[n]=me.from(r):t[n]=r}return t}var Pe={};function _e(e,t){for(var n in t){var r=_e.prefixedPropREs,i=!1;for(var o in r)if(0===n.indexOf(o)&&r[o].test(n)){i=!0;break}i||"function"===typeof t[n]||(e[n]=t[n])}return e}Object.defineProperty(Pe,"__esModule",{value:!0}),Pe["default"]=void 0,_e.prefixedPropREs={webkit:/(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,moz:/(Pressure)$/};var je=_e;Pe["default"]=je;var Se={};Object.defineProperty(Se,"__esModule",{value:!0}),Se["default"]=void 0;var Me=function(e,t){return Math.sqrt(e*e+t*t)};Se["default"]=Me;var Ee={};Object.defineProperty(Ee,"__esModule",{value:!0}),Ee["default"]=void 0;var ke=We(L),Te=We(f),ze=Ce(Z),De=We(Se),Re=Ce(j),Ie=We(Pe);function Ae(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ae=function(){return e},e}function Ce(e){if(e&&e.__esModule)return e;var t=Ae();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function We(e){return e&&e.__esModule?e:{default:e}}var Ne={copyCoords:function(e,t){e.page=e.page||{},e.page.x=t.page.x,e.page.y=t.page.y,e.client=e.client||{},e.client.x=t.client.x,e.client.y=t.client.y,e.timeStamp=t.timeStamp},setCoordDeltas:function(e,t,n){e.page.x=n.page.x-t.page.x,e.page.y=n.page.y-t.page.y,e.client.x=n.client.x-t.client.x,e.client.y=n.client.y-t.client.y,e.timeStamp=n.timeStamp-t.timeStamp},setCoordVelocity:function(e,t){var n=Math.max(t.timeStamp/1e3,.001);e.page.x=t.page.x/n,e.page.y=t.page.y/n,e.client.x=t.client.x/n,e.client.y=t.client.y/n,e.timeStamp=n},isNativePointer:function(e){return e instanceof Te["default"].Event||e instanceof Te["default"].Touch},getXY:function(e,t,n){return n=n||{},e=e||"page",n.x=t[e+"X"],n.y=t[e+"Y"],n},getPageXY:function(e,t){return t=t||{x:0,y:0},ke["default"].isOperaMobile&&Ne.isNativePointer(e)?(Ne.getXY("screen",e,t),t.x+=window.scrollX,t.y+=window.scrollY):Ne.getXY("page",e,t),t},getClientXY:function(e,t){return t=t||{},ke["default"].isOperaMobile&&Ne.isNativePointer(e)?Ne.getXY("screen",e,t):Ne.getXY("client",e,t),t},getPointerId:function(e){return Re.number(e.pointerId)?e.pointerId:e.identifier},setCoords:function(e,t,n){var r=t.length>1?Ne.pointerAverage(t):t[0],i={};Ne.getPageXY(r,i),e.page.x=i.x,e.page.y=i.y,Ne.getClientXY(r,i),e.client.x=i.x,e.client.y=i.y,e.timeStamp=n},pointerExtend:Ie["default"],getTouchPair:function(e){var t=[];return Re.array(e)?(t[0]=e[0],t[1]=e[1]):"touchend"===e.type?1===e.touches.length?(t[0]=e.touches[0],t[1]=e.changedTouches[0]):0===e.touches.length&&(t[0]=e.changedTouches[0],t[1]=e.changedTouches[1]):(t[0]=e.touches[0],t[1]=e.touches[1]),t},pointerAverage:function(e){for(var t={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n1))return null;var t=Ne.getTouchPair(e),n=Math.min(t[0].pageX,t[1].pageX),r=Math.min(t[0].pageY,t[1].pageY),i=Math.max(t[0].pageX,t[1].pageX),o=Math.max(t[0].pageY,t[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},touchDistance:function(e,t){var n=t+"X",r=t+"Y",i=Ne.getTouchPair(e),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,De["default"])(o,a)},touchAngle:function(e,t){var n=t+"X",r=t+"Y",i=Ne.getTouchPair(e),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r],s=180*Math.atan2(a,o)/Math.PI;return s},getPointerType:function(e){return Re.string(e.pointerType)?e.pointerType:Re.number(e.pointerType)?[void 0,void 0,"touch","pen","mouse"][e.pointerType]:/touch/.test(e.type)||e instanceof Te["default"].Touch?"touch":"mouse"},getEventTargets:function(e){var t=Re.func(e.composedPath)?e.composedPath():e.path;return[ze.getActualElement(t?t[0]:e.target),ze.getActualElement(e.currentTarget)]},newCoords:function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},coordsToEvent:function(e){var t={coords:e,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons}};return t}},He=Ne;Ee["default"]=He;var Le={};Object.defineProperty(Le,"__esModule",{value:!0}),Le["default"]=Le.FakeEvent=void 0;var $e=Ve(Z),Be=Ve(j),Xe=Fe(Pe),Ye=Fe(Ee);function Fe(e){return e&&e.__esModule?e:{default:e}}function Ge(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ge=function(){return e},e}function Ve(e){if(e&&e.__esModule)return e;var t=Ge();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function qe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ue(e,t){for(var n=0;n=0;l--)if(c.selectors[l]===e&&c.contexts[l]===t)break;-1===l&&(l=c.selectors.length,c.selectors.push(e),c.contexts.push(t),c.listeners.push([])),c.listeners[l].push([r,!!o.capture,o.passive])}function ut(e,t,n,r,i){var o,a=ft(i),s=rt[n],u=!1;if(s)for(o=s.selectors.length-1;o>=0;o--)if(s.selectors[o]===e&&s.contexts[o]===t){for(var l=s.listeners[o],c=l.length-1;c>=0;c--){var f=Je(l[c],3),d=f[0],p=f[1],v=f[2];if(d===r&&p===!!a.capture&&v===a.passive){l.splice(c,1),l.length||(s.selectors.splice(o,1),s.contexts.splice(o,1),s.listeners.splice(o,1),at(t,n,lt),at(t,n,ct,!0),s.selectors.length||(rt[n]=null)),u=!0;break}}if(u)break}}function lt(e,t){var n=ft(t),r=new dt(e),i=rt[e.type],o=Ye["default"].getEventTargets(e),a=Je(o,1),s=a[0],u=s;while(Be.element(u)){for(var l=0;l150)return null;var t=180*Math.atan2(e.prevEvent.velocityY,e.prevEvent.velocityX)/Math.PI,n=22.5;t<0&&(t+=360);var r=135-n<=t&&t<225+n,i=225-n<=t&&t<315+n,o=!r&&(315-n<=t||t<45+n),a=!i&&45-n<=t&&t<135+n;return{up:i,down:a,left:r,right:o,angle:t,speed:e.prevEvent.speed,velocity:{x:e.prevEvent.velocityX,y:e.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"pageX",get:function(){return this.page.x},set:function(e){this.page.x=e}},{key:"pageY",get:function(){return this.page.y},set:function(e){this.page.y=e}},{key:"clientX",get:function(){return this.client.x},set:function(e){this.client.x=e}},{key:"clientY",get:function(){return this.client.y},set:function(e){this.client.y=e}},{key:"dx",get:function(){return this.delta.x},set:function(e){this.delta.x=e}},{key:"dy",get:function(){return this.delta.y},set:function(e){this.delta.y=e}},{key:"velocityX",get:function(){return this.velocity.x},set:function(e){this.velocity.x=e}},{key:"velocityY",get:function(){return this.velocity.y},set:function(e){this.velocity.y=e}}]),t}(Tr["default"]);jr.InteractEvent=Br;var Xr=Br;jr["default"]=Xr;var Yr={};function Fr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(Yr,"__esModule",{value:!0}),Yr["default"]=Yr.PointerInfo=void 0;var Gr=function e(t,n,r,i,o){Fr(this,e),this.id=t,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};Yr.PointerInfo=Gr;var Vr=Gr;Yr["default"]=Vr;var qr={};Object.defineProperty(qr,"__esModule",{value:!0}),qr["default"]=void 0;var Ur=Jr(Z);function Zr(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Zr=function(){return e},e}function Jr(e){if(e&&e.__esModule)return e;var t=Zr();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}var Qr={methodOrder:["simulationResume","mouseOrPen","hasPointer","idle"],search:function(e){for(var t=0;t=2)continue;if(!o.interacting()&&t===o.pointerType)return o}return null}};function Kr(e,t){return e.pointers.some((function(e){var n=e.id;return n===t}))}var ei=Qr;qr["default"]=ei;var ti={};Object.defineProperty(ti,"__esModule",{value:!0}),ti["default"]=void 0;var ni=t({}),ri=ai(i),ii=ai(j);function oi(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return oi=function(){return e},e}function ai(e){if(e&&e.__esModule)return e;var t=oi();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function si(e){var t=e.actions,n=e.Interactable,r=e.interactions,i=e.defaults;r.signals.on("before-action-move",ui),r.signals.on("action-resume",ui),r.signals.on("action-move",li),n.prototype.draggable=fi.draggable,t[ni.ActionName.Drag]=fi,t.names.push(ni.ActionName.Drag),ri.merge(t.eventTypes,["dragstart","dragmove","draginertiastart","dragresume","dragend"]),t.methodDict.drag="draggable",i.actions.drag=fi.defaults}function ui(e){var t=e.interaction;if("drag"===t.prepared.name){var n=t.prepared.axis;"x"===n?(t.coords.cur.page.y=t.coords.start.page.y,t.coords.cur.client.y=t.coords.start.client.y,t.coords.velocity.client.y=0,t.coords.velocity.page.y=0):"y"===n&&(t.coords.cur.page.x=t.coords.start.page.x,t.coords.cur.client.x=t.coords.start.client.x,t.coords.velocity.client.x=0,t.coords.velocity.page.x=0)}}function li(e){var t=e.iEvent,n=e.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var i="x"===r?"y":"x";t.page[i]=n.coords.start.page[i],t.client[i]=n.coords.start.client[i],t.delta[i]=0}}}ni.ActionName.Drag="drag";var ci=function(e){return ii.object(e)?(this.options.drag.enabled=!1!==e.enabled,this.setPerAction("drag",e),this.setOnEvents("drag",e),/^(xy|x|y|start)$/.test(e.lockAxis)&&(this.options.drag.lockAxis=e.lockAxis),/^(xy|x|y)$/.test(e.startAxis)&&(this.options.drag.startAxis=e.startAxis),this):ii.bool(e)?(this.options.drag.enabled=e,this):this.options.drag},fi={id:"actions/drag",install:si,draggable:ci,beforeMove:ui,move:li,defaults:{startAxis:"xy",lockAxis:"xy"},checker:function(e,t,n){var r=n.options.drag;return r.enabled?{name:"drag",axis:"start"===r.lockAxis?r.startAxis:r.lockAxis}:null},getCursor:function(){return"move"}},di=fi;ti["default"]=di;var pi={};Object.defineProperty(pi,"__esModule",{value:!0}),pi["default"]=void 0;var vi=mi(br),hi=yi(i);function gi(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return gi=function(){return e},e}function yi(e){if(e&&e.__esModule)return e;var t=gi();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function mi(e){return e&&e.__esModule?e:{default:e}}function bi(e){return bi="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bi(e)}function wi(e){return Pi(e)||Oi(e)||xi()}function xi(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Oi(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function Pi(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);ta.left&&c.xa.top&&c.y=a.left&&v<=a.right&&h>=a.top&&h<=a.bottom}if(p&&Ai.is.number(u)){var g=Math.max(0,Math.min(a.right,p.right)-Math.max(a.left,p.left))*Math.max(0,Math.min(a.bottom,p.bottom)-Math.max(a.top,p.top)),y=g/(p.width*p.height);s=y>=u}return e.options.drop.checker&&(s=e.options.drop.checker(t,n,s,e,o,r,i)),s}var Ji={id:"actions/drop",install:$i,getActiveDrops:Yi,getDrop:Fi,getDropEvents:Gi,fireDropEvents:Vi,defaults:{enabled:!1,accept:null,overlap:"pointer"}},Qi=Ji;Ii["default"]=Qi;var Ki={};Object.defineProperty(Ki,"__esModule",{value:!0}),Ki["default"]=void 0;var eo=oo(jr),to=t({}),no=io(tn);function ro(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return ro=function(){return e},e}function io(e){if(e&&e.__esModule)return e;var t=ro();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function oo(e){return e&&e.__esModule?e:{default:e}}function ao(e){var t=e.actions,n=e.Interactable,r=e.interactions,i=e.defaults;n.prototype.gesturable=function(e){return no.is.object(e)?(this.options.gesture.enabled=!1!==e.enabled,this.setPerAction("gesture",e),this.setOnEvents("gesture",e),this):no.is.bool(e)?(this.options.gesture.enabled=e,this):this.options.gesture},r.signals.on("action-start",uo),r.signals.on("action-move",uo),r.signals.on("action-end",uo),r.signals.on("new",(function(e){var t=e.interaction;t.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}})),t[to.ActionName.Gesture]=so,t.names.push(to.ActionName.Gesture),no.arr.merge(t.eventTypes,["gesturestart","gesturemove","gestureend"]),t.methodDict.gesture="gesturable",i.actions.gesture=so.defaults}to.ActionName.Gesture="gesture";var so={id:"actions/gesture",install:ao,defaults:{},checker:function(e,t,n,r,i){return i.pointers.length>=2?{name:"gesture"}:null},getCursor:function(){return""}};function uo(e){var t=e.interaction,n=e.iEvent,r=e.event,i=e.phase;if("gesture"===t.prepared.name){var o=t.pointers.map((function(e){return e.pointer})),a="start"===i,s="end"===i,u=t.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=no.pointer.touchDistance(o,u),n.box=no.pointer.touchBBox(o),n.scale=1,n.ds=0,n.angle=no.pointer.touchAngle(o,u),n.da=0,t.gesture.startDistance=n.distance,t.gesture.startAngle=n.angle;else if(s||r instanceof eo["default"]){var l=t.prevEvent;n.distance=l.distance,n.box=l.box,n.scale=l.scale,n.ds=0,n.angle=l.angle,n.da=0}else n.distance=no.pointer.touchDistance(o,u),n.box=no.pointer.touchBBox(o),n.scale=n.distance/t.gesture.startDistance,n.angle=no.pointer.touchAngle(o,u),n.ds=n.scale-t.gesture.scale,n.da=n.angle-t.gesture.angle;t.gesture.distance=n.distance,t.gesture.angle=n.angle,no.is.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(t.gesture.scale=n.scale)}}var lo=so;Ki["default"]=lo;var co={};Object.defineProperty(co,"__esModule",{value:!0}),co["default"]=void 0;var fo=t({}),po=bo(i),vo=bo(Z),ho=yo(ht),go=bo(j);function yo(e){return e&&e.__esModule?e:{default:e}}function mo(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return mo=function(){return e},e}function bo(e){if(e&&e.__esModule)return e;var t=mo();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function wo(e){var t=e.actions,n=e.browser,r=e.Interactable,i=e.interactions,o=e.defaults;i.signals.on("new",(function(e){e.resizeAxes="xy"})),i.signals.on("action-start",jo),i.signals.on("action-move",So),i.signals.on("action-end",Mo),i.signals.on("action-start",Eo),i.signals.on("action-move",Eo),xo.cursors=_o(n),xo.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(t){return Oo(this,t,e)},t[fo.ActionName.Resize]=xo,t.names.push(fo.ActionName.Resize),po.merge(t.eventTypes,["resizestart","resizemove","resizeinertiastart","resizeresume","resizeend"]),t.methodDict.resize="resizable",o.actions.resize=xo.defaults}fo.ActionName.Resize="resize";var xo={id:"actions/resize",install:wo,defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},checker:function(e,t,n,r,i,o){if(!o)return null;var a=(0,ho["default"])({},i.coords.cur.page),s=n.options;if(s.resize.enabled){var u=s.resize,l={left:!1,right:!1,top:!1,bottom:!1};if(go.object(u.edges)){for(var c in l)l[c]=Po(c,u.edges[c],a,i._latestPointer.eventTarget,r,o,u.margin||this.defaultMargin);if(l.left=l.left&&!l.right,l.top=l.top&&!l.bottom,l.left||l.right||l.top||l.bottom)return{name:"resize",edges:l}}else{var f="y"!==s.resize.axis&&a.x>o.right-this.defaultMargin,d="x"!==s.resize.axis&&a.y>o.bottom-this.defaultMargin;if(f||d)return{name:"resize",axes:(f?"x":"")+(d?"y":"")}}}return null},cursors:null,getCursor:function(e){var t=e.edges,n=e.axis,r=e.name,i=xo.cursors,o=null;if(n)o=i[r+n];else if(t){for(var a="",s=["top","bottom","left","right"],u=0;u=0?o.left:o.right)+a;if("top"===e)return n.y<(u>=0?o.top:o.bottom)+a;if("right"===e)return n.x>(s>=0?o.right:o.left)-a;if("bottom"===e)return n.y>(u>=0?o.bottom:o.top)-a}return!!go.element(r)&&(go.element(t)?t===r:vo.matchesUpTo(r,t,i))}function _o(e){return e.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}function jo(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=(0,ho["default"])({},n.rect),i=n.interactable.options.resize;if(i.square||i.preserveAspectRatio){var o=(0,ho["default"])({},n.prepared.edges);o.top=o.top||o.left&&!o.bottom,o.left=o.left||o.top&&!o.right,o.bottom=o.bottom||o.right&&!o.top,o.right=o.right||o.bottom&&!o.left,n.prepared._linkedEdges=o}else n.prepared._linkedEdges=null;i.preserveAspectRatio&&(n.resizeStartAspectRatio=r.width/r.height),n.resizeRects={start:r,current:{left:r.left,right:r.right,top:r.top,bottom:r.bottom},inverted:(0,ho["default"])({},r),previous:(0,ho["default"])({},r),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},t.edges=n.prepared.edges,t.rect=n.resizeRects.inverted,t.deltaRect=n.resizeRects.delta}}function So(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r,i=n.interactable.options.resize,o=i.invert,a="reposition"===o||"negate"===o,s=n.prepared.edges,u=n.resizeRects.start,l=n.resizeRects.current,c=n.resizeRects.inverted,f=n.resizeRects.delta,d=(0,ho["default"])(n.resizeRects.previous,c),p=s,v=(0,ho["default"])({},t.delta);if(i.preserveAspectRatio||i.square){var h=i.preserveAspectRatio?n.resizeStartAspectRatio:1;s=n.prepared._linkedEdges,p.left&&p.bottom||p.right&&p.top?v.y=-v.x/h:p.left||p.right?v.y=v.x/h:(p.top||p.bottom)&&(v.x=v.y*h)}if(s.top&&(l.top+=v.y),s.bottom&&(l.bottom+=v.y),s.left&&(l.left+=v.x),s.right&&(l.right+=v.x),a){if((0,ho["default"])(c,l),"reposition"===o)c.top>c.bottom&&(r=c.top,c.top=c.bottom,c.bottom=r),c.left>c.right&&(r=c.left,c.left=c.right,c.right=r)}else c.top=Math.min(l.top,u.bottom),c.bottom=Math.max(l.bottom,u.top),c.left=Math.min(l.left,u.right),c.right=Math.max(l.right,u.left);for(var g in c.width=c.right-c.left,c.height=c.bottom-c.top,c)f[g]=c[g]-d[g];t.edges=n.prepared.edges,t.rect=c,t.deltaRect=f}}function Mo(e){var t=e.iEvent,n=e.interaction;"resize"===n.prepared.name&&n.prepared.edges&&(t.edges=n.prepared.edges,t.rect=n.resizeRects.inverted,t.deltaRect=n.resizeRects.delta)}function Eo(e){var t=e.iEvent,n=e.interaction,r=e.action;if(r===fo.ActionName.Resize&&n.resizeAxes){var i=n.interactable.options;i.resize.square?("y"===n.resizeAxes?t.delta.x=t.delta.y:t.delta.y=t.delta.x,t.axes="xy"):(t.axes=n.resizeAxes,"x"===n.resizeAxes?t.delta.y=0:"y"===n.resizeAxes&&(t.delta.x=0))}}var ko=xo;co["default"]=ko;var To={};Object.defineProperty(To,"__esModule",{value:!0}),To.install=Co,Object.defineProperty(To,"drag",{enumerable:!0,get:function(){return zo["default"]}}),Object.defineProperty(To,"drop",{enumerable:!0,get:function(){return Do["default"]}}),Object.defineProperty(To,"gesture",{enumerable:!0,get:function(){return Ro["default"]}}),Object.defineProperty(To,"resize",{enumerable:!0,get:function(){return Io["default"]}}),To.id=void 0;var zo=Ao(ti),Do=Ao(Ii),Ro=Ao(Ki),Io=Ao(co);function Ao(e){return e&&e.__esModule?e:{default:e}}function Co(e){e.usePlugin(Ro["default"]),e.usePlugin(Io["default"]),e.usePlugin(zo["default"]),e.usePlugin(Do["default"])}var Wo="actions";To.id=Wo;var No={};Object.defineProperty(No,"__esModule",{value:!0}),No.getContainer=Vo,No.getScroll=qo,No.getScrollSize=Uo,No.getScrollSizeDelta=Zo,No["default"]=void 0;var Ho=Yo(Z),Lo=Yo(j),$o=Bo(Xt);function Bo(e){return e&&e.__esModule?e:{default:e}}function Xo(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Xo=function(){return e},e}function Yo(e){if(e&&e.__esModule)return e;var t=Xo();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Fo(e){var t=e.interactions,n=e.defaults,r=e.actions;e.autoScroll=Go,Go.now=function(){return e.now()},t.signals.on("new",(function(e){var t=e.interaction;t.autoScroll=null})),t.signals.on("destroy",(function(e){var t=e.interaction;t.autoScroll=null,Go.stop(),Go.interaction&&(Go.interaction=null)})),t.signals.on("stop",Go.stop),t.signals.on("action-move",(function(e){return Go.onInteractionMove(e)})),r.eventTypes.push("autoscroll"),n.perAction.autoScroll=Go.defaults}var Go={defaults:{enabled:!1,margin:60,container:null,speed:300},now:Date.now,interaction:null,i:null,x:0,y:0,isScrolling:!1,prevTime:0,margin:0,speed:0,start:function(e){Go.isScrolling=!0,$o["default"].cancel(Go.i),e.autoScroll=Go,Go.interaction=e,Go.prevTime=Go.now(),Go.i=$o["default"].request(Go.scroll)},stop:function(){Go.isScrolling=!1,Go.interaction&&(Go.interaction.autoScroll=null),$o["default"].cancel(Go.i)},scroll:function(){var e=Go.interaction,t=e.interactable,n=e.element,r=t.options[Go.interaction.prepared.name].autoScroll,i=Vo(r.container,t,n),o=Go.now(),a=(o-Go.prevTime)/1e3,s=r.speed*a;if(s>=1){var u={x:Go.x*s,y:Go.y*s};if(u.x||u.y){var l=qo(i);Lo.window(i)?i.scrollBy(u.x,u.y):i&&(i.scrollLeft+=u.x,i.scrollTop+=u.y);var c=qo(i),f={x:c.x-l.x,y:c.y-l.y};(f.x||f.y)&&t.fire({type:"autoscroll",target:n,interactable:t,delta:f,interaction:e,container:i})}Go.prevTime=o}Go.isScrolling&&($o["default"].cancel(Go.i),Go.i=$o["default"].request(Go.scroll))},check:function(e,t){var n=e.options;return n[t].autoScroll&&n[t].autoScroll.enabled},onInteractionMove:function(e){var t=e.interaction,n=e.pointer;if(t.interacting()&&Go.check(t.interactable,t.prepared.name))if(t.simulation)Go.x=Go.y=0;else{var r,i,o,a,s=t.interactable,u=t.element,l=s.options[t.prepared.name].autoScroll,c=Vo(l.container,s,u);if(Lo.window(c))a=n.clientXc.innerWidth-Go.margin,o=n.clientY>c.innerHeight-Go.margin;else{var f=Ho.getElementClientRect(c);a=n.clientXf.right-Go.margin,o=n.clientY>f.bottom-Go.margin}Go.x=i?1:a?-1:0,Go.y=o?1:r?-1:0,Go.isScrolling||(Go.margin=l.margin,Go.speed=l.speed,Go.start(t))}}};function Vo(e,t,n){return(Lo.string(e)?(0,yt.getStringOptionResult)(e,t,n):e)||(0,m.getWindow)(n)}function qo(e){return Lo.window(e)&&(e=window.document.body),{x:e.scrollLeft,y:e.scrollTop}}function Uo(e){return Lo.window(e)&&(e=window.document.body),{x:e.scrollWidth,y:e.scrollHeight}}function Zo(e,t){var n=e.interaction,r=e.element,i=n&&n.interactable.options[n.prepared.name].autoScroll;if(!i||!i.enabled)return t(),{x:0,y:0};var o=Vo(i.container,n.interactable,r),a=qo(o);t();var s=qo(o);return{x:s.x-a.x,y:s.y-a.y}}var Jo={id:"auto-scroll",install:Fo};No["default"]=Jo;var Qo={};Object.defineProperty(Qo,"__esModule",{value:!0}),Qo["default"]=void 0;var Ko=ta(j);function ea(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return ea=function(){return e},e}function ta(e){if(e&&e.__esModule)return e;var t=ea();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function na(e){var t=e.Interactable,n=e.actions;t.prototype.getAction=ra,t.prototype.ignoreFrom=(0,tn.warnOnce)((function(e){return this._backCompatOption("ignoreFrom",e)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),t.prototype.allowFrom=(0,tn.warnOnce)((function(e){return this._backCompatOption("allowFrom",e)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),t.prototype.actionChecker=aa,t.prototype.styleCursor=oa,t.prototype.defaultActionChecker=function(e,t,r,i){return ia(this,e,t,r,i,n)}}function ra(e,t,n,r){var i=this.defaultActionChecker(e,t,n,r);return this.options.actionChecker?this.options.actionChecker(e,t,i,this,r,n):i}function ia(e,t,n,r,i,o){for(var a=e.getRect(i),s=n.buttons||{0:1,1:4,3:8,4:16}[n.button],u=null,l=0;l=s)return!1;if(p.interactable===e){if(l+=v===n.name?1:0,l>=o)return!1;if(p.element===t&&(c++,v===n.name&&c>=a))return!1}}}return s>0}function wa(e,t){return la.is.number(e)?(t.autoStart.maxInteractions=e,this):t.autoStart.maxInteractions}function xa(e,t,n){n.autoStart.cursorElement&&(n.autoStart.cursorElement.style.cursor=""),e.ownerDocument.documentElement.style.cursor=t,e.style.cursor=t,n.autoStart.cursorElement=t?e:null}function Oa(e,t){var n=e.interactable,r=e.element,i=e.prepared;if("mouse"===e.pointerType&&n&&n.options.styleCursor){var o="";if(i.name){var a=n.options[i.name].cursorChecker;o=la.is.func(a)?a(i,n,r,e._interacting):t.actions[i.name].getCursor(i)}xa(e.element,o||"",t)}}var Pa={id:"auto-start/base",install:va,maxInteractions:wa,withinInteractionLimit:ba,validateAction:ha};ua["default"]=Pa;var _a={};Object.defineProperty(_a,"__esModule",{value:!0}),_a["default"]=void 0;var ja=t({}),Sa=Ta(j),Ma=Ea(ua);function Ea(e){return e&&e.__esModule?e:{default:e}}function ka(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return ka=function(){return e},e}function Ta(e){if(e&&e.__esModule)return e;var t=ka();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function za(e){function t(e,t){if(!t)return!1;var n=t.options[ja.ActionName.Drag].startAxis;return"xy"===e||"xy"===n||n===e}e.autoStart.signals.on("before-start",(function(n){var r=n.interaction,i=n.eventTarget,o=n.dx,a=n.dy;if("drag"===r.prepared.name){var s=Math.abs(o),u=Math.abs(a),l=r.interactable.options.drag,c=l.startAxis,f=s>u?"x":s0&&(t.autoStartHoldTimer=setTimeout((function(){t.start(t.prepared,t.interactable,t.element)}),n))})),n.signals.on("move",(function(e){var t=e.interaction,n=e.duplicate;t.pointerWasMoved&&!n&&clearTimeout(t.autoStartHoldTimer)})),t.signals.on("before-start",(function(e){var t=e.interaction,n=Wa(t);n>0&&(t.prepared.name=null)}))}function Wa(e){var t=e.prepared&&e.prepared.name;if(!t)return null;var n=e.interactable.options;return n[t].hold||n[t].delay}var Na={id:"auto-start/hold",install:Ca,getHoldDuration:Wa};Ra["default"]=Na;var Ha={};Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.install=Ya,Object.defineProperty(Ha,"autoStart",{enumerable:!0,get:function(){return La["default"]}}),Object.defineProperty(Ha,"dragAxis",{enumerable:!0,get:function(){return $a["default"]}}),Object.defineProperty(Ha,"hold",{enumerable:!0,get:function(){return Ba["default"]}}),Ha.id=void 0;var La=Xa(ua),$a=Xa(_a),Ba=Xa(Ra);function Xa(e){return e&&e.__esModule?e:{default:e}}function Ya(e){e.usePlugin(La["default"]),e.usePlugin(Ba["default"]),e.usePlugin($a["default"])}var Fa="auto-start";Ha.id=Fa;var Ga={};Object.defineProperty(Ga,"__esModule",{value:!0}),Ga.install=ts,Ga["default"]=void 0;var Va=Ja(Le),qa=Za(j);function Ua(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ua=function(){return e},e}function Za(e){if(e&&e.__esModule)return e;var t=Ua();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Ja(e){return e&&e.__esModule?e:{default:e}}function Qa(e){return/^(always|never|auto)$/.test(e)?(this.options.preventDefault=e,this):qa.bool(e)?(this.options.preventDefault=e?"always":"never",this):this.options.preventDefault}function Ka(e,t,n){var r=e.options.preventDefault;if("never"!==r)if("always"!==r){if(Va["default"].supportsPassive&&/^touch(start|move)$/.test(n.type)){var i=(0,m.getWindow)(n.target).document,o=t.getDocOptions(i);if(!o||!o.events||!1!==o.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(n.type)||qa.element(n.target)&&(0,Z.matchesSelector)(n.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||n.preventDefault()}else n.preventDefault()}function es(e){var t=e.interaction,n=e.event;t.interactable&&t.interactable.checkAndPreventDefault(n)}function ts(e){var t=e.Interactable;t.prototype.preventDefault=Qa,t.prototype.checkAndPreventDefault=function(t){return Ka(this,e,t)};for(var n=["down","move","up","cancel"],r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=t.logger,r=e.interactions,i=e.Interactable,o=e.defaults;n=n||console,r.signals.on("action-start",(function(e){for(var t=e.interaction,r=0;rs.minSpeed&&c>s.endSpeed,v={interaction:n,pageCoords:n.coords.cur.page,states:d&&n.modifiers.states.map((function(e){return Zs.extend({},e)})),preEnd:!0,prevCoords:null,requireEndOnly:null,phase:jr.EventPhase.InertiaStart};return d&&!p&&(v.prevCoords=n.modifiers.result?n.modifiers.result.coords:n.prevEvent.page,v.requireEndOnly=!1,a=Us["default"].setAll(v),a.changed&&(f=!0)),p||f?(Zs.pointer.copyCoords(o.upCoords,n.coords.cur),(0,Us.setCoords)(v),n.pointers[0].pointer=o.startEvent=new t.InteractEvent(n,r,n.prepared.name,jr.EventPhase.InertiaStart,n.element),(0,Us.restoreCoords)(v),o.t0=u,o.active=!0,o.allowResume=s.allowResume,n.simulation=o,n.interactable.fire(o.startEvent),p?(o.vx0=n.coords.velocity.client.x,o.vy0=n.coords.velocity.client.y,o.v0=c,ou(n,o),Zs.extend(v.pageCoords,n.coords.cur.page),v.pageCoords.x+=o.xe,v.pageCoords.y+=o.ye,v.prevCoords=null,v.requireEndOnly=!0,a=Us["default"].setAll(v),o.modifiedXe+=a.delta.x,o.modifiedYe+=a.delta.y,o.timeout=Js["default"].request((function(){return au(n)}))):(o.smoothEnd=!0,o.xe=a.delta.x,o.ye=a.delta.y,o.sx=o.sy=0,o.timeout=Js["default"].request((function(){return su(n)}))),!1):null}function iu(e){var t=e.interaction,n=t.inertia;n.active&&(Js["default"].cancel(n.timeout),n.active=!1,t.simulation=null)}function ou(e,t){var n=lu(e),r=n.resistance,i=-Math.log(n.endSpeed/t.v0)/r;t.x0=e.prevEvent.page.x,t.y0=e.prevEvent.page.y,t.t0=t.startEvent.timeStamp/1e3,t.sx=t.sy=0,t.modifiedXe=t.xe=(t.vx0-i)/r,t.modifiedYe=t.ye=(t.vy0-i)/r,t.te=i,t.lambda_v0=r/t.v0,t.one_ve_v0=1-n.endSpeed/t.v0}function au(e){uu(e),Zs.pointer.setCoordDeltas(e.coords.delta,e.coords.prev,e.coords.cur),Zs.pointer.setCoordVelocity(e.coords.velocity,e.coords.delta);var t=e.inertia,n=lu(e),r=n.resistance,i=e._now()/1e3-t.t0;if(i String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=1dcc0fd5&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=336c4f92&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.5.4\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var method = methodNames[_i];\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref;\n\n _ref = scope.interactions.list[_i2];\n var interaction = _ref;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i3];\n var interaction = _ref2;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref3 = interaction.pointers[_i4];\n var pointer = _ref3;\n\n if (!scope.documents.some(function (_ref4) {\n var doc = _ref4.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref3;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref5;\n\n _ref5 = event.changedTouches[_i5];\n var changedTouch = _ref5;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref6, signalName) {\n var doc = _ref6.doc,\n scope = _ref6.scope,\n options = _ref6.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref7;\n\n _ref7 = docEvents[_i7];\n var _ref8 = _ref7,\n type = _ref8.type,\n listener = _ref8.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(key) {\n Object.defineProperty(_this._proxy, key, {\n value: function value() {\n return that[key].apply(that, arguments);\n }\n });\n };\n\n for (var key in _ProxyMethods) {\n _loop2(key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireDefault_51(_$window_66);\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var dropzoneParents = [];\n var dropzone;\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var parent;\n var child;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n }\n\n if (!deepestZoneParents.length) {\n parent = deepestZone;\n\n while (getParent(parent) && getParent(parent) !== parent.ownerDocument) {\n deepestZoneParents.unshift(parent);\n parent = getParent(parent);\n }\n } // if this element is an svg element and the current deepest is\n // an HTMLElement\n\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = [];\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var doc = documents[_i2];\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref;\n\n _ref = listeners[_i3];\n\n var _ref2 = _ref,\n _ref3 = _slicedToArray(_ref2, 3),\n fn = _ref3[0],\n capture = _ref3[1],\n passive = _ref3[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, interactable, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return interactable.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, interactable, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, interactable, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interatable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = interaction.rect;\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: (0, ___extend_6[\"default\"])({}, startRect),\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction updateEventAxes(_ref4) {\n var interaction = _ref4.interaction,\n iEvent = _ref4.iEvent,\n action = _ref4.action;\n\n if (action !== 'resize' || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {};\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n\n if (interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor) {\n var cursor = '';\n\n if (action) {\n var cursorChecker = interactable.options[action.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(action, interactable, element);\n } else {\n cursor = scope.actions[action.name].getCursor(action);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n }\n\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n arg.pageCoords = (0, ___extend_30[\"default\"])({}, interaction.coords.start.page);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var interaction = arg.interaction,\n _arg$modifiersState = arg.modifiersState,\n modifiersState = _arg$modifiersState === void 0 ? interaction.modifiers : _arg$modifiersState,\n _arg$prevCoords = arg.prevCoords,\n prevCoords = _arg$prevCoords === void 0 ? modifiersState.result ? modifiersState.result.coords : interaction.coords.prev.page : _arg$prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n skipModifiers = arg.skipModifiers;\n var states = skipModifiers ? arg.states.slice(skipModifiers) : arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: interaction.coords.cur.page,\n rect: interaction.rect,\n states: interaction.modifiers.states,\n requireEndOnly: false,\n skipModifiers: skipModifiers\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element\n }, arg);\n restoreCoords(arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = arg.curCoords || interaction.coords.cur;\n var startCoords = arg.startCoords || interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireDefault_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n }); // FIXME proper signal typing\n\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', function (arg) {\n return __stop_26(arg);\n });\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: __utils_26.extend({}, interaction.coords.cur.page),\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: undefined,\n requireEndOnly: null\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = undefined;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, [arg.interaction.element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, arg.interaction.element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.5.4\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; return newObj; } }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"]['default'] = ___interact_29[\"default\"]; // tslint:disable-line no-string-literal\n\n___interact_29[\"default\"]['init'] = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueGridLayout/webpack/universalModuleDefinition","webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?4238","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?3829","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__8bbf__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","LIBRARY","$export","redefine","hide","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","undefined","$anyNative","entries","values","P","F","toInteger","defined","TO_STRING","that","pos","a","b","String","length","charCodeAt","charAt","slice","at","S","index","unicode","it","anObject","result","global","ignoreCase","multiline","sticky","$keys","enumBugKeys","O","content","locals","add","default","pIE","createDesc","toIObject","toPrimitive","has","IE8_DOM_DEFINE","gOPD","getOwnPropertyDescriptor","f","e","dP","getKeys","defineProperties","Properties","browserDetector","options","reporter","batchProcessor","getState","stateHandler","Error","addListener","element","listener","getObject","listenerProxy","isIE","proxy","attachEvent","contentDocument","defaultView","addEventListener","makeDetectable","callback","debug","injectObject","OBJECT_STYLE","positionCheckPerformed","style","window","getComputedStyle","width","offsetWidth","height","offsetHeight","mutateDom","alterPositionStyles","position","removeRelativeStyles","getNumericalValue","replace","warn","onObjectLoad","getDocument","setTimeout","objectElement","objectDocument","document","createElement","cssText","tabIndex","type","setAttribute","onload","data","appendChild","startSize","uninstall","detachEvent","removeChild","detector","version","isAnyIeVersion","agent","navigator","userAgent","toLowerCase","indexOf","ieVersion","undef","v","div","all","getElementsByTagName","innerHTML","isLegacyOpera","opera","isObject","fn","val","toString","valueOf","TypeError","is","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","exec","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","arguments","split","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","constructor","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","done","strfn","rxfn","RegExp","string","arg","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","map","source","sourceRoot","concat","join","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","list","mediaQuery","alreadyImportedModules","id","push","cof","ARG","tryGet","T","B","callee","getOwnPropertySymbols","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","store","uid","USE_SYMBOL","$exports","idCount","generate","method","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","configurable","writable","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","hasDocument","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","obj","update","remove","querySelector","parentNode","styleIndex","applyToSingletonTag","applyToTag","newObj","replaceText","textStore","replacement","filter","Boolean","styleSheet","cssNode","createTextNode","childNodes","insertBefore","ssrId","firstChild","idHandler","eventListeners","getListeners","removeListener","listeners","len","splice","removeAllListeners","idGenerator","getId","state","setId","set","utils","getOption","defaultValue","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","match","propertyIsEnumerable","core","SHARED","copyright","aFunction","$sort","sort","comparefn","__e","isDetectable","markAsDetectable","isBusy","busy","markBusy","ctx","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","target","expProto","U","W","R","setPrototypeOf","C","classof","builtinExec","shared","IS_WRAP","virtual","IObject","__g","max","min","def","tag","stat","FProto","nameRE","Attributes","check","buggy","Array","__proto__","ownKeys","createProperty","getOwnPropertyDescriptors","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","gOPS","Reflect","getSymbols","UNSCOPABLES","ArrayProto","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","capture","spaces","space","non","ltrim","rtrim","exporter","ALIAS","FORCE","trim","TYPE","quiet","log","error","console","attachFunction","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","forced","forEach","collection","Batch","batch","size","topLevel","bottomLevel","level","process","getSize","asyncProcess","autoProcess","asyncFrameHandler","isProcessing","addFunction","processBatchAsync","processBatch","processingBatch","forceProcessBatch","localAsyncProcess","cancelFrame","requestFrame","cancel","clearTimeout","raf","force","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","inheritIfRequired","$trim","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","NaN","code","digits","parseInt","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","child","container","body","widthSize","clientWidth","heightSize","clientHeight","injectScrollStyle","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","removeEventListener","getExpandElement","getShrinkElement","args","unshift","isDetached","isInDocument","ownerDocument","contains","isUnrendered","getStyle","elementStyle","top","right","bottom","left","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","scrollLeft","scrollTop","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","dir","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","areElementsInjected","w","h","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","install","px","random","addToUnscopables","step","iterated","_t","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","isArray","toArray","array","isElement","nodeType","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","$defineProperty","currentScript","scripts","err","stack","readyState","documentElement","render","_vm","_h","$createElement","_c","_self","ref","staticClass","class","classObj","resizableHandleClass","_e","staticRenderFns","layout","bottomY","y","cloneLayout","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","x","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","setTopLeft","setTopRight","validateLayout","contextName","subProps","getControlPosition","offsetXYFromParentOf","evt","offsetParent","offsetParentRect","getBoundingClientRect","clientX","clientY","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","currentDir","hasWindow","getDocumentDir","direction","getAttribute","addWindowEventListener","event","removeWindowEventListener","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","component","directives","rawName","expression","attrs","placeholder","_defineProperty","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","VueGridLayout","GridLayout","GridItem","Vue","createModuleFactory","_$scope_24","Scope","ActionName","_interopRequireWildcard","_$utils_56","_domObjects","_interopRequireDefault","_$domObjects_50","_defaultOptions","_$defaultOptions_20","_Eventable","_$Eventable_14","_Interactable","_$Interactable_16","_InteractableSet","_$InteractableSet_17","_InteractEvent","_$InteractEvent_15","_interactions","_$interactions_23","_getRequireWildcardCache","WeakMap","cache","hasPropertyDescriptor","_typeof","iterator","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_get","receiver","base","_superPropBase","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_classCallCheck","instance","_defineProperties","props","_createClass","protoProps","staticProps","win","browser","Signals","events","_this","signals","defaults","clone","Eventable","actions","methodDict","eventTypes","InteractEvent","interactables","documents","_plugins","_pluginMap","onWindowUnload","removeDocument","scope","Interactable","_InteractableBase","fire","interactable","interactions","interaction","stop","destroy","initScope","plugin","pluginIsInstalled","doc","getDocIndex","getWindow","extend","docIndex","Date","now","init","usePlugin","_browser","_$browser_48","_events","_$events_52","_pointerUtils","_$pointerUtils_61","_Signals","_$Signals_46","_Interaction","_$Interaction_18","_interactionFinder","_$interactionFinder_22","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_s","methodNames","_ref","doOnInteractions","docEvents","pEventTypes","releasePointersOnRemovedEls","_i3","_ref3","pointerIsDown","pointerType","_interacting","_loop","_ref4","pointers","_i4","pointer","some","_ref5","_$domUtils_51","nodeContains","downTarget","removePointer","PointerEvent","down","pointerDown","move","pointerMove","up","pointerUp","_i2","_ref2","documentBlur","on","onDocSignal","prevTouchTime","Interaction","_InteractionBase","pointerMoveTolerance","getPointerType","_pointerUtils$getEven","getEventTargets","_pointerUtils$getEven2","eventTarget","curEventTarget","matches","_i5","changedTouches","_ref6","changedTouch","pointerId","getPointerId","searchDetails","eventType","getInteraction","invalidPointer","supportsPointerEvent","timeStamp","_searchDetails","_interaction","_i6","_matches$_i","_pointer","_eventTarget","_curEventTarget","_interaction2","foundInteraction","search","signalArg","_ref7","signalName","eventMethod","isIOS","passive","delegatedEvents","delegateListener","delegateUseCapture","eventOptions","_i7","_ref8","_ref9","_default","_PointerInfo","_ProxyMethods","_ProxyValues","_$PointerInfo_19","_scope","prepared","axis","edges","downEvent","downPointer","_latestPointer","prevEvent","pointerWasMoved","_ending","_stopped","_proxy","simulation","doMove","warnOnce","coords","start","newCoords","prev","cur","delta","velocity","_signals","_loop2","_key","pointerIndex","updatePointer","action","interacting","Gesture","enabled","copyAction","rect","getRect","_doPhase","phase","EventPhase","Start","modifiers","endPrevented","setCoords","_now","dx","dy","duplicateMove","page","client","hypot","getPointerIndex","duplicate","setCoordDeltas","setCoordVelocity","copyCoords","Move","end","endPhaseResult","End","findIndex","curPointer","pointerInfo","pointerExtend","downTime","_updateLatestPointer","preEnd","actionName","iEvent","beforeResult","_createPreparedEvent","_fireEvent","_$arr_47","merge","from","func","find","domObjects","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","Element","HTMLElement","Event","Touch","blank","MSPointerEvent","_$isWindow_58","___default_58","thing","Window","_$window_66","__init_66","_isWindow","realWindow","wrap","node","rootNode","___default_66","_$is_57","plainObject","bool","number","docFrag","___isWindow_57","___interopRequireDefault_57","_window2","__window_57","_window","nodeName","___interopRequireDefault_48","__init_48","supportsTouch","isIOS7","isIe9","isOperaMobile","prefixedMatchesSelector","wheelEvent","DocumentTouch","pointerEnabled","platform","appVersion","appName","over","___default_48","closest","matchesSelector","indexOfDeepestElement","matchesUpTo","getActualElement","getScrollXY","getElementClientRect","getElementRect","getPath","trySelector","___interopRequireDefault_51","___domObjects_51","__is_51","___interopRequireWildcard_51","___window_51","___getRequireWildcardCache_51","selector","host","getParent","deepestZoneParents","deepestZone","dropzone","_parent","parentParent","ownerSVGElement","dropzoneParents","parents","lastChild","previousSibling","deepestZIndex","zIndex","dropzoneZIndex","limit","correspondingUseElement","relevantWindow","scrollX","scrollY","clientRect","getClientRects","scroll","path","_$clone_49","___interopRequireWildcard_49","__is_49","___getRequireWildcardCache_49","dest","_$pointerExtend_60","prefixedPropREs","deprecated","vendor","webkit","moz","___default_60","_$hypot_55","___default_55","sqrt","___browser_61","___interopRequireDefault_61","___domObjects_61","domUtils","___interopRequireWildcard_61","_hypot","__is_61","_pointerExtend","___getRequireWildcardCache_61","pointerUtils","targetObj","dt","isNativePointer","getXY","xy","getPageXY","getClientXY","identifier","pointerAverage","tmpXY","getTouchPair","touches","average","pageX","pageY","screenX","screenY","_prop","touchBBox","minX","minY","maxX","maxY","touchDistance","deltaSource","sourceX","sourceY","touchAngle","angle","atan2","PI","composedPath","currentTarget","coordsToEvent","buttons","___default_61","FakeEvent","__domUtils_52","___interopRequireWildcard_52","__is_52","___pointerExtend_52","___interopRequireDefault_52","___getRequireWildcardCache_52","targets","optionalArg","getOptions","elementIndex","typeCount","supportsOptions","__remove_52","addDelegate","contexts","selectors","delegated","removeDelegate","matchFound","_listeners$i","fakeEvent","param","originalEvent","preventDefault","stopPropagation","stopImmediatePropagation","supportsPassive","_elements","_targets","___default_52","_$extend_53","_$rect_63","getStringOptionResult","resolveRectLike","rectToXY","xywhToTlbr","tlbrToXywh","_extend","___interopRequireDefault_63","__is_63","___interopRequireWildcard_63","___getRequireWildcardCache_63","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","functionArgs","___default_63","_$getOriginXY_54","___default_54","actionOptions","actionOrigin","origin","originRect","_$normalizeListeners_59","normalize","___extend_59","___interopRequireDefault_59","__is_59","___interopRequireWildcard_59","___getRequireWildcardCache_59","reduce","acc","prefix","combinedTypes","_$raf_62","_request","_cancel","lastTime","__init_62","requestAnimationFrame","cancelAnimationFrame","vendors","currTime","timeToCall","token","___default_62","request","___classCallCheck_46","___defineProperties_46","___createClass_46","targetListeners","___default_46","_getQBezierValue","getQuadraticCurvePoint","easeOutQuad","___window_56","___browser_56","_clone","___extend_56","_getOriginXY","___hypot_56","_normalizeListeners","___pointerUtils_56","_raf","___rect_56","dom","__arr_56","___interopRequireWildcard_56","__is_56","___interopRequireDefault_56","___getRequireWildcardCache_56","message","warned","p1","p2","p3","iT","startX","startY","cpX","cpY","endX","endY","perAction","___default_20","__arr_14","___interopRequireWildcard_14","___extend_14","___interopRequireDefault_14","___normalizeListeners_14","___getRequireWildcardCache_14","___classCallCheck_14","___defineProperties_14","___createClass_14","fireUntilImmediateStopped","immediatePropagationStopped","types","propagationStopped","eventList","subListener","_element","___default_14","__arr_16","___interopRequireWildcard_16","___browser_16","___interopRequireDefault_16","___clone_16","___events_16","___extend_16","__is_16","___normalizeListeners_16","___getRequireWildcardCache_16","___classCallCheck_16","___defineProperties_16","___createClass_16","defaultContext","_actions","_context","_win","_doc","phases","onstart","onmove","onend","oninertiastart","off","_defaults","optionName","optionValue","updatePerActionListeners","checker","newValue","_backCompatOption","targetNode","testIgnore","ignoreFrom","testAllow","allowFrom","typeArg","listenerArg","addRemove","_onOff","methodName","setPerAction","setting","___default_16","__arr_17","___interopRequireWildcard_17","__domUtils_17","___extend_17","___interopRequireDefault_17","__is_17","___Signals_17","___getRequireWildcardCache_17","___classCallCheck_17","___defineProperties_17","___createClass_17","InteractableSet","selectorMap","targetMappings","targetIndex","mappingInfo","addDocument","isSelector","found","inContext","ret","_$BaseEvent_13","___classCallCheck_13","___defineProperties_13","___createClass_13","BaseEvent","___default_13","__EventPhase_15","___extend_15","___interopRequireDefault_15","___getOriginXY_15","___hypot_15","_BaseEvent2","___typeof_15","___classCallCheck_15","___defineProperties_15","___createClass_15","_BaseEvent","related","starting","ending","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","t0","x0","y0","clientX0","clientY0","duration","speed","swipe","getSwipe","velocityY","velocityX","overlap","___default_15","___classCallCheck_19","PointerInfo","___default_19","__dom_22","___interopRequireWildcard_22","___getRequireWildcardCache_22","finder","methodOrder","details","simulationResume","allowResume","mouseOrPen","firstNonActive","hasPointerId","hasPointer","idle","_ref10","gesture","_ref11","___default_22","_$drag_1","___scope_1","__arr_1","___interopRequireWildcard_1","__is_1","___getRequireWildcardCache_1","__install_1","beforeMove","draggable","drag","Drag","opposite","setOnEvents","lockAxis","startAxis","_event","dragOptions","getCursor","___default_1","_$DropEvent_2","___BaseEvent2_2","___interopRequireDefault_2","__arr_2","___interopRequireWildcard_2","___getRequireWildcardCache_2","___typeof_2","___toConsumableArray_2","___arrayWithoutHoles_2","___iterableToArray_2","___nonIterableSpread_2","___classCallCheck_2","___defineProperties_2","___createClass_2","___possibleConstructorReturn_2","___assertThisInitialized_2","___getPrototypeOf_2","___inherits_2","___setPrototypeOf_2","DropEvent","dropState","dragEvent","_this2","rejected","enter","activeDrops","deactivateEvent","___default_2","_$drop_3","__utils_3","___interopRequireWildcard_3","_drag","___interopRequireDefault_3","_DropEvent","___getRequireWildcardCache_3","__install_3","interact","getActiveDrops","getDropEvents","activate","fireActivationEvents","onEventCreated","fireDropEvents","dropzoneMethod","dropCheck","draggableElement","dropElement","dropCheckMethod","dynamicDrop","drop","collectDrops","drops","accept","dropElements","querySelectorAll","dropzoneElement","dragElement","activeDrop","getDrop","_ref12","pointerEvent","validDrops","_ref13","_ref14","dropIndex","_pointerEvent","dropEvents","leave","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","_ref15","dropResult","normalized","normalizeListeners","corrected","correctedType","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","dropped","dropOverlap","getOriginXY","horizontal","vertical","dragRect","cx","cy","overlapArea","overlapRatio","___default_3","_$gesture_4","___InteractEvent_4","___interopRequireDefault_4","___scope_4","__utils_4","___interopRequireWildcard_4","___getRequireWildcardCache_4","__install_4","gesturable","updateGestureProps","distance","scale","startAngle","startDistance","_interactable","box","ds","da","Infinity","___default_4","_$resize_6","___scope_6","__arr_6","___interopRequireWildcard_6","__dom_6","___extend_6","___interopRequireDefault_6","__is_6","___getRequireWildcardCache_6","__install_6","resizeAxes","__move_6","updateEventAxes","resize","cursors","initCursors","defaultMargin","resizable","Resize","square","preserveAspectRatio","margin","invert","resizeOptions","resizeEdges","edge","checkResizeEdge","axes","cursorKey","interactableElement","topleft","bottomright","topright","bottomleft","startRect","linkedEdges","_linkedEdges","resizeStartAspectRatio","resizeRects","current","inverted","previous","deltaRect","swap","invertible","originalEdges","eventDelta","startAspectRatio","___default_6","_$actions_5","__install_5","___drag_5","_drop","_gesture","_resize","___interopRequireDefault_5","_$autoScroll_7","getContainer","getScroll","getScrollSize","getScrollSizeDelta","__domUtils_7","___interopRequireWildcard_7","__is_7","___raf_7","___interopRequireDefault_7","___getRequireWildcardCache_7","__install_7","autoScroll","onInteractionMove","isScrolling","prevTime","scrollBy","prevScroll","curScroll","innerWidth","innerHeight","scrollWidth","scrollHeight","scrollOptions","scrollContainer","prevSize","curSize","___default_7","_$InteractableMethods_8","__is_8","___interopRequireWildcard_8","___getRequireWildcardCache_8","__install_8","getAction","actionChecker","styleCursor","defaultActionChecker","0","1","3","4","mouseButtons","___default_8","_$base_9","__utils_9","___interopRequireWildcard_9","_InteractableMethods","___interopRequireDefault_9","___getRequireWildcardCache_9","__install_9","actionInfo","getActionInfo","prepare","autoStart","manualStart","withinInteractionLimit","setInteractionCursor","setCursor","maxPerElement","maxInteractions","cursorElement","validateAction","testIgnoreAllow","validateMatches","matchElements","matchElement","matchAction","pushMatches","forEachMatch","maxActions","autoStartMax","activeInteractions","interactableCount","elementCount","otherAction","cursor","cursorChecker","___default_9","_$dragAxis_10","___scope_10","__is_10","___interopRequireWildcard_10","_base","___interopRequireDefault_10","___getRequireWildcardCache_10","__install_10","checkStartAxis","thisAxis","absX","abs","absY","targetOptions","currentAxis","getDraggable","___default_10","_$hold_11","___base_11","___interopRequireDefault_11","__install_11","hold","delay","autoStartHoldTimer","getHoldDuration","___default_11","_$autoStart_12","__install_12","___base_12","_dragAxis","_hold","___interopRequireDefault_12","__id_12","_$interactablePreventDefault_21","__install_21","___events_21","___interopRequireDefault_21","__is_21","___interopRequireWildcard_21","___getRequireWildcardCache_21","checkAndPreventDefault","docOptions","getDocOptions","onInteractionEvent","eventSignal","___default_21","_$devTools_25","CheckName","___domObjects_25","___interopRequireDefault_25","___extend_25","__is_25","___interopRequireWildcard_25","___window_25","___getRequireWildcardCache_25","___toConsumableArray_25","___arrayWithoutHoles_25","___iterableToArray_25","___nonIterableSpread_25","links","touchAction","boxSizing","__install_25","logger","checks","_logger","devTools","ignore","perform","text","getInfo","parentHasStyle","hasStyle","moveListeners","styleRe","__id_25","defaultExport","___default_25","_$base_30","startAll","setAll","prepareStates","restoreCoords","makeModifier","___extend_30","___interopRequireDefault_30","___slicedToArray_30","___arrayWithHoles_30","___iterableToArrayLimit_30","___nonIterableRest_30","__install_30","startOffset","offsets","states","startDelta","__start_30","__beforeMove_30","beforeEnd","pageCoords","prevCoords","modifierList","getModifierList","getRectOffset","requireEndOnly","rectDelta","changed","shouldDo","rectChanged","skipModifiers","modifierResult","modifiedCoords","adjustment","noPreEnd","didPreEnd","endResult","modifierArg","actionModifiers","modifier","_methods","_modifierList$index","curCoords","startCoords","_interaction$modifier","curDelta","_arr$_i","coordsSet","_ref7$interaction","_modifiers$result","coordsAndDeltas","_coordsAndDeltas$_i","endOnly","alwaysOnEnd","setStart","___default_30","_$inertia_26","___base_26","___interopRequireWildcard_26","__utils_26","___raf_26","___interopRequireDefault_26","___getRequireWildcardCache_26","__install_26","inertia","active","smoothEnd","upCoords","timeout","release","resume","__stop_26","resistance","minSpeed","endSpeed","smoothEndDuration","Resume","resumeEvent","__getOptions_26","velocityClient","pointerSpeed","inertiaPossible","startEvent","modifierStatus","InertiaStart","vx0","vy0","v0","calcInertia","xe","ye","modifiedXe","modifiedYe","inertiaTick","sx","sy","smothEndTick","lambda","inertiaDur","te","lambda_v0","one_ve_v0","updateInertiaCoords","progress","quadPoint","_getOptions","pageUp","clientUp","___default_26","_$pointer_33","___extend_33","___interopRequireDefault_33","__is_33","___interopRequireWildcard_33","___rect_33","___getRequireWildcardCache_33","__start_33","elementRect","offset","restriction","getRestrictionRect","widthDiff","heightDiff","__defaults_33","restrict","___default_33","_$edges_32","___extend_32","___interopRequireDefault_32","___rect_32","__getRestrictionRect_32","noInner","noOuter","__start_32","offsetRect","__set_32","inner","outer","fixRect","__defaults_32","restrictEdges","___default_32","_$rect_34","___extend_34","___interopRequireDefault_34","___pointer_34","__defaults_34","_","restrictRect","___default_34","_$size_35","___extend_35","___interopRequireDefault_35","___rect_35","_edges","noMin","noMax","__start_35","__set_35","minSize","maxSize","__defaults_35","restrictSize","___default_35","_$pointer_37","__utils_37","___interopRequireWildcard_37","___getRequireWildcardCache_37","__start_37","snapOffset","offsetWithOrigin","getOrigin","relativePoints","relativePoint","__set_37","realX","realY","relativeX","relativeY","_len","snapTarget","range","inRange","optionsOrigin","__defaults_37","snap","___default_37","_$size_38","___extend_38","___interopRequireDefault_38","__is_38","___interopRequireWildcard_38","___pointer_38","___getRequireWildcardCache_38","___slicedToArray_38","___arrayWithHoles_38","___iterableToArrayLimit_38","___nonIterableRest_38","__start_38","targetFields","__set_38","relative","xField","yField","__defaults_38","snapSize","___default_38","_$edges_36","___clone_36","___interopRequireDefault_36","___extend_36","_size","__start_36","__set_36","snapEdges","___default_36","_$modifiers_31","___base_31","___interopRequireDefault_31","___edges_31","___pointer_31","___rect_31","___size_31","_edges2","_pointer2","_size2","__makeModifier_31","__snap_31","__snapSize_31","__snapEdges_31","__restrict_31","__restrictRect_31","__restrictEdges_31","__restrictSize_31","_$PointerEvent_39","___BaseEvent2_39","___interopRequireDefault_39","___pointerUtils_39","___typeof_39","___classCallCheck_39","___defineProperties_39","___createClass_39","___possibleConstructorReturn_39","___assertThisInitialized_39","___getPrototypeOf_39","___inherits_39","___setPrototypeOf_39","interval","tapTime","prevTap","originX","originY","_$base_40","__utils_40","___interopRequireWildcard_40","_PointerEvent","___interopRequireDefault_40","___getRequireWildcardCache_40","simpleSignals","simpleEvents","__defaults_40","holdDuration","pointerEvents","__install_40","collectEventTargets","createSignalListener","_arg$type","_arg$targets","_arg$pointerEvent","eventable","_subtractOrigin","_addOrigin","timer","minDuration","___default_40","_$holdRepeat_41","___base_41","___interopRequireDefault_41","__install_41","onNew","onFired","signal","endHoldRepeat","holdRepeatInterval","count","holdIntervalHandle","clearInterval","___default_41","_$interactableTargets_43","___extend_43","___interopRequireDefault_43","__install_43","pointerEventsMethod","__backCompatOption","___default_43","_$pointerEvents_42","__install_42","___base_42","_holdRepeat","_interactableTargets","___interopRequireDefault_42","__id_42","_$reflow_44","__install_44","Reflow","_reflowResolve","reflow","Promise","promises","runningInteraction","reflowPromise","_reflowPromise","resolve","xywh","startReflow","_ret","then","___default_44","_$interact_28","___scope_28","__utils_28","___interopRequireWildcard_28","___browser_28","___interopRequireDefault_28","___events_28","___getRequireWildcardCache_28","globalEvents","use","isSet","__stop_28","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","___default_28","_$interact_27","__init_27","_autoScroll","_interactablePreventDefault","_inertia","___base_27","_reflow","_interact","___interopRequireWildcard_27","___interopRequireDefault_27","__pointerEvents_27","___getRequireWildcardCache_27","_modifiers$type","___default_27","_$grid_64","___slicedToArray_64","___arrayWithHoles_64","___iterableToArrayLimit_64","___nonIterableRest_64","createGrid","grid","coordFields","_grid$limits","limits","_grid$offset","gridx","round","gridy","___default_64","_$snappers_65","_grid","___interopRequireDefault_65","_$index_29","__init_29","___interact_29","___interopRequireWildcard_29","__modifiers_29","___extend_29","___interopRequireDefault_29","snappers","___getRequireWildcardCache_29","___typeof_29","createSnapGrid","___default_29","_isFinite","isFinite"],"mappings":"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","file":"vue-grid-layout.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueGridLayout\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"VueGridLayout\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=e827a502&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=bff27f1c&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.6.3\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var _ref;\n\n _ref = methodNames[_i];\n var method = _ref;\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref4 = interaction.pointers[_i4];\n var pointer = _ref4;\n\n if (!scope.documents.some(function (_ref5) {\n var doc = _ref5.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref4;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref6;\n\n _ref6 = event.changedTouches[_i5];\n var changedTouch = _ref6;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, signalName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref8;\n\n _ref8 = docEvents[_i7];\n var _ref9 = _ref8,\n type = _ref9.type,\n listener = _ref9.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(_key) {\n Object.defineProperty(_this._proxy, _key, {\n value: function value() {\n return that[_key].apply(that, arguments);\n }\n });\n };\n\n for (var _key in _ProxyMethods) {\n _loop2(_key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireWildcard_51(_$window_66);\n\nfunction ___getRequireWildcardCache_51() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n var dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (dropzone.parentNode === deepestZone.parentNode) {\n var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;\n\n if (dropzoneZIndex >= deepestZIndex) {\n deepestZone = dropzone;\n index = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest dropzone\n\n\n if (!deepestZoneParents.length) {\n var _parent = deepestZone;\n var parentParent = void 0;\n\n while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) {\n deepestZoneParents.unshift(_parent);\n _parent = parentParent;\n }\n }\n\n var parent = void 0; // if this element is an svg element and the current deepest is an\n // HTMLElement\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n var dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n var child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = dropzoneParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___getRequireWildcardCache_49() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___getRequireWildcardCache_61() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_52() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var _ref;\n\n _ref = documents[_i2];\n var doc = _ref;\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref2;\n\n _ref2 = listeners[_i3];\n\n var _ref3 = _ref2,\n _ref4 = _slicedToArray(_ref3, 3),\n fn = _ref4[0],\n capture = _ref4[1],\n passive = _ref4[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___getRequireWildcardCache_63() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___getRequireWildcardCache_59() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_56() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_14() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }, {\n key: \"getRect\",\n value: function getRect(_element) {\n return null;\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_16() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_17() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___getRequireWildcardCache_22() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___getRequireWildcardCache_1() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___getRequireWildcardCache_2() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_3() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___getRequireWildcardCache_4() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_6() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-end', end);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = (0, ___extend_6[\"default\"])({}, interaction.rect);\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: {\n left: startRect.left,\n right: startRect.right,\n top: startRect.top,\n bottom: startRect.bottom\n },\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction end(_ref4) {\n var iEvent = _ref4.iEvent,\n interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction updateEventAxes(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.interaction,\n action = _ref5.action;\n\n if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_7() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___getRequireWildcardCache_8() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_9() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {\n name: null\n }; // clear previous target element cursor\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n var interactable = interaction.interactable,\n element = interaction.element,\n prepared = interaction.prepared;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n return;\n }\n\n var cursor = '';\n\n if (prepared.name) {\n var cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_10() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___getRequireWildcardCache_21() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___getRequireWildcardCache_25() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.setCoords = setCoords;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords, prevCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page)\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var prevCoords = arg.prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n states = arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states;\n var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page);\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords: prevCoords,\n rect: interaction.rect,\n states: states,\n requireEndOnly: false\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n if (arg.modifiedCoords) {\n var page = interaction.coords.cur.page;\n var adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y\n };\n modifierResult.coords.x += adjustment.x;\n modifierResult.coords.y += adjustment.y;\n modifierResult.delta.x += adjustment.x;\n modifierResult.delta.y += adjustment.y;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null\n }, arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = interaction.coords.cur;\n var startCoords = interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_26() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n });\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', __stop_26);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction,\n phase: _$InteractEvent_15.EventPhase.Resume\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: interaction.coords.cur.page,\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: null,\n requireEndOnly: null,\n phase: _$InteractEvent_15.EventPhase.InertiaStart\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n (0, ___base_26.setCoords)(modifierArg);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n (0, ___base_26.restoreCoords)(modifierArg);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = null;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___getRequireWildcardCache_33() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___getRequireWildcardCache_37() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var element = arg.interaction.element;\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___getRequireWildcardCache_38() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_40() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_28() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_27() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.6.3\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_29() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"][\"default\"] = ___interact_29[\"default\"] // tslint:disable-line no-string-literal\n;\n___interact_29[\"default\"].init = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/examples/02-events.js b/examples/02-events.js index 6b2ef019..15f50522 100644 --- a/examples/02-events.js +++ b/examples/02-events.js @@ -58,8 +58,10 @@ new Vue({ console.log(msg); }, - containerResized: function(i, newH, newW, newHPx, newWPx){ - console.log("### CONTAINER RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); + containerResizedEvent: function(i, newH, newW, newHPx, newWPx){ + var msg = "CONTAINER RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx; + this.eventLog.push(msg); + console.log(msg); }, /** * diff --git a/package.json b/package.json index 3759d013..b0921589 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-grid-layout", - "version": "2.3.6", + "version": "2.3.7", "description": "A draggable and resizable grid layout, as a Vue component.", "keywords": [ "grid", @@ -26,8 +26,8 @@ "lint": "vue-cli-service lint" }, "dependencies": { - "element-resize-detector": "^1.1.10", - "interactjs": "^1.5.3" + "element-resize-detector": "^1.1.15", + "interactjs": "^1.6.3" }, "devDependencies": { "@vue/cli-plugin-babel": "^3.4.1", @@ -35,11 +35,11 @@ "@vue/cli-service": "^3.4.1", "@vue/eslint-config-standard": "^3.0.5", "babel-plugin-transform-flow-comments": "^6.7.0", - "node-sass": "^4.9.0", + "node-sass": "^4.13.0", "rimraf": "^2.6.2", "sass-loader": "^7.0.1", - "vue": "^2.6.8", - "vue-template-compiler": "^2.5.17", + "vue": "^2.6.10", + "vue-template-compiler": "^2.6.10", "webpack-bundle-analyzer": "^3.4.1" } }