From 4ccd949f78aee8a005219303be2a46e5294038a0 Mon Sep 17 00:00:00 2001 From: rokiyama <57606749+rokiyama@users.noreply.github.com> Date: Fri, 22 Nov 2019 20:06:51 +0900 Subject: [PATCH 001/111] Call Vue.component inside 'install' function --- dist/vue-grid-layout.common.js | 13813 ++++++++++++++------------ dist/vue-grid-layout.common.js.map | 2 +- dist/vue-grid-layout.umd.js | 13813 ++++++++++++++------------ 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 +- src/components/index.js | 28 +- 7 files changed, 14479 insertions(+), 13183 deletions(-) diff --git a/dist/vue-grid-layout.common.js b/dist/vue-grid-layout.common.js index 652368ca..4c42a8e1 100644 --- a/dist/vue-grid-layout.common.js +++ b/dist/vue-grid-layout.common.js @@ -595,6 +595,72 @@ module.exports = function (it, S) { }; +/***/ }), + +/***/ "1ca7": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getDocumentDir; }); +/* unused harmony export setDocumentDir */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addWindowEventListener; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return removeWindowEventListener; }); +var currentDir +/*: "ltr" | "rtl" | "auto"*/ += "auto"; // let currentDir = "auto"; + +function hasDocument() { + return typeof document !== "undefined"; +} + +function hasWindow() { + return typeof window !== "undefined"; +} + +function getDocumentDir() { + if (!hasDocument()) { + return currentDir; + } + + var direction = typeof document.dir !== "undefined" ? document.dir : document.getElementsByTagName("html")[0].getAttribute("dir"); + return direction; +} +function setDocumentDir(dir +/*: "ltr" | "rtl" | "auto"*/ +) { + // export function setDocumentDir(dir){ + if (!hasDocument) { + currentDir = dir; + return; + } + + var html = document.getElementsByTagName("html")[0]; + html.setAttribute("dir", dir); +} +function addWindowEventListener(event +/*:string*/ +, callback +/*: () => mixed*/ +) { + if (!hasWindow) { + callback(); + return; + } + + window.addEventListener(event, callback); +} +function removeWindowEventListener(event +/*:string*/ +, callback +/*: () => mixed*/ +) { + if (!hasWindow) { + return; + } + + window.removeEventListener(event, callback); +} + /***/ }), /***/ "1ec9": @@ -848,6 +914,108 @@ module.exports = function (it) { exports.f = Object.getOwnPropertySymbols; +/***/ }), + +/***/ "2877": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + /***/ }), /***/ "294c": @@ -948,6 +1116,65 @@ module.exports = Object.create || function create(O, Properties) { }; +/***/ }), + +/***/ "2af9": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return install; }); +/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7f7f"); +/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("cadf"); +/* harmony import */ var core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("456d"); +/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("ac6a"); +/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _GridItem_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("bc21"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _GridItem_vue__WEBPACK_IMPORTED_MODULE_4__["a"]; }); + +/* harmony import */ var _GridLayout_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("37c8"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _GridLayout_vue__WEBPACK_IMPORTED_MODULE_5__["a"]; }); + + + + + + + // import ResponsiveGridLayout from './ResponsiveGridLayout.vue'; + +var VueGridLayout = { + // ResponsiveGridLayout, + GridLayout: _GridLayout_vue__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], + GridItem: _GridItem_vue__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"] +}; +function install(Vue) { + if (install.installed) return; + install.installed = true; + Object.keys(VueGridLayout).forEach(function (name) { + Vue.component(name, VueGridLayout[name]); + }); +} +var plugin = { + install: install +}; +var GlobalVue = null; + +if (typeof window !== 'undefined') { + GlobalVue = window.Vue; +} else if (typeof global !== 'undefined') { + GlobalVue = global.Vue; +} + +if (GlobalVue) { + GlobalVue.use(plugin); +} + +/* harmony default export */ __webpack_exports__["c"] = (VueGridLayout); + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba"))) + /***/ }), /***/ "2b4c": @@ -1061,5930 +1288,5868 @@ module.exports = __webpack_require__("8e60") ? function (object, key, value) { /***/ }), -/***/ "38fd": -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__("69a8"); -var toObject = __webpack_require__("4bf8"); -var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); -var ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; - - -/***/ }), - -/***/ "41a0": -/***/ (function(module, exports, __webpack_require__) { +/***/ "37c8": +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -var create = __webpack_require__("2aeb"); -var descriptor = __webpack_require__("4630"); -var setToStringTag = __webpack_require__("7f20"); -var IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__("32e9")(IteratorPrototype, __webpack_require__("2b4c")('iterator'), function () { return this; }); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"388ee136-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=5a186489& +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)} +var staticRenderFns = [] -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& -/***/ }), +// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js +var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); -/***/ "454f": -/***/ (function(module, exports, __webpack_require__) { +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js +var es6_array_iterator = __webpack_require__("cadf"); -__webpack_require__("46a7"); -var $Object = __webpack_require__("584a").Object; -module.exports = function defineProperty(it, key, desc) { - return $Object.defineProperty(it, key, desc); -}; +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js +var es6_object_keys = __webpack_require__("456d"); +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.is-finite.js +var es6_number_is_finite = __webpack_require__("fca0"); -/***/ }), +// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js +var web_dom_iterable = __webpack_require__("ac6a"); -/***/ "456d": -/***/ (function(module, exports, __webpack_require__) { +// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js +var define_property = __webpack_require__("85f2"); +var define_property_default = /*#__PURE__*/__webpack_require__.n(define_property); -// 19.1.2.14 Object.keys(O) -var toObject = __webpack_require__("4bf8"); -var $keys = __webpack_require__("0d58"); +// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js -__webpack_require__("5eda")('keys', function () { - return function keys(it) { - return $keys(toObject(it)); - }; -}); +function _defineProperty(obj, key, value) { + if (key in obj) { + define_property_default()(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js +var es6_number_constructor = __webpack_require__("c5f6"); -/***/ }), +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +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_); -/***/ "4588": -/***/ (function(module, exports) { +// EXTERNAL MODULE: ./src/helpers/utils.js +var utils = __webpack_require__("a2b6"); -// 7.1.4 ToInteger -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.sort.js +var es6_array_sort = __webpack_require__("55dd"); +// CONCATENATED MODULE: ./src/helpers/responsiveUtils.js -/***/ }), -/***/ "4630": -/***/ (function(module, exports) { -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; +// @flow -/***/ }), -/***/ "46a7": -/***/ (function(module, exports, __webpack_require__) { +/*:: import type {Layout} from './utils';*/ -var $export = __webpack_require__("63b6"); -// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !__webpack_require__("8e60"), 'Object', { defineProperty: __webpack_require__("d9f6").f }); +/*:: export type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};*/ +/*:: type Breakpoint = string;*/ -/***/ }), +/** + * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint). + * + * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...}) + * @param {Number} width Screen width. + * @return {String} Highest breakpoint that is less than width. + */ -/***/ "4917": -/***/ (function(module, exports, __webpack_require__) { +/*:: type Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};*/ -"use strict"; +function getBreakpointFromWidth(breakpoints +/*: Breakpoints*/ +, width +/*: number*/ +) +/*: Breakpoint*/ +{ + var sorted = sortBreakpoints(breakpoints); + var matching = sorted[0]; + for (var i = 1, len = sorted.length; i < len; i++) { + var breakpointName = sorted[i]; + if (width > breakpoints[breakpointName]) matching = breakpointName; + } -var anObject = __webpack_require__("cb7c"); -var toLength = __webpack_require__("9def"); -var advanceStringIndex = __webpack_require__("0390"); -var regExpExec = __webpack_require__("5f1b"); + return matching; +} +/** + * Given a breakpoint, get the # of cols set for it. + * @param {String} breakpoint Breakpoint name. + * @param {Object} cols Map of breakpoints to cols. + * @return {Number} Number of cols. + */ -// @@match logic -__webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = defined(this); - var fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative($match, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - if (!rx.global) return regExpExec(rx, S); - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while ((result = regExpExec(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - return n === 0 ? null : A; - } - ]; -}); +function getColsFromBreakpoint(breakpoint +/*: Breakpoint*/ +, cols +/*: Breakpoints*/ +) +/*: number*/ +{ + if (!cols[breakpoint]) { + throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint " + breakpoint + " is missing!"); + } + return cols[breakpoint]; +} +/** + * Given existing layouts and a new breakpoint, find or generate a new layout. + * + * This finds the layout above the new one and generates from it, if it exists. + * + * @param {Array} orgLayout Original layout. + * @param {Object} layouts Existing layouts. + * @param {Array} breakpoints All breakpoints. + * @param {String} breakpoint New breakpoint. + * @param {String} breakpoint Last breakpoint (for fallback). + * @param {Number} cols Column count at new breakpoint. + * @param {Boolean} verticalCompact Whether or not to compact the layout + * vertically. + * @return {Array} New layout. + */ -/***/ }), +function findOrGenerateResponsiveLayout(orgLayout +/*: Layout*/ +, layouts +/*: ResponsiveLayout*/ +, breakpoints +/*: Breakpoints*/ +, breakpoint +/*: Breakpoint*/ +, lastBreakpoint +/*: Breakpoint*/ +, cols +/*: number*/ +, verticalCompact +/*: boolean*/ +) +/*: Layout*/ +{ + // If it already exists, just return it. + if (layouts[breakpoint]) return Object(utils["b" /* cloneLayout */])(layouts[breakpoint]); // Find or generate the next layout -/***/ "499e": -/***/ (function(module, __webpack_exports__, __webpack_require__) { + var layout = orgLayout; + var breakpointsSorted = sortBreakpoints(breakpoints); + var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); -"use strict"; -__webpack_require__.r(__webpack_exports__); + for (var i = 0, len = breakpointsAbove.length; i < len; i++) { + var b = breakpointsAbove[i]; -// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js -/** - * Translates the list format produced by css-loader into something - * easier to manipulate. - */ -function listToStyles (parentId, list) { - var styles = [] - var newStyles = {} - for (var i = 0; i < list.length; i++) { - var item = list[i] - var id = item[0] - var css = item[1] - var media = item[2] - var sourceMap = item[3] - var part = { - id: parentId + ':' + i, - css: css, - media: media, - sourceMap: sourceMap - } - if (!newStyles[id]) { - styles.push(newStyles[id] = { id: id, parts: [part] }) - } else { - newStyles[id].parts.push(part) + if (layouts[b]) { + layout = layouts[b]; + break; } } - return styles -} -// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra - Modified by Evan You @yyx990803 -*/ + layout = Object(utils["b" /* cloneLayout */])(layout || []); // clone layout so we don't modify existing items + return Object(utils["c" /* compact */])(Object(utils["d" /* correctBounds */])(layout, { + cols: cols + }), verticalCompact); +} +function generateResponsiveLayout(layout +/*: Layout*/ +, breakpoints +/*: Breakpoints*/ +, breakpoint +/*: Breakpoint*/ +, lastBreakpoint +/*: Breakpoint*/ +, cols +/*: number*/ +, verticalCompact +/*: boolean*/ +) +/*: Layout*/ +{ + // If it already exists, just return it. + /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]); + // Find or generate the next layout + let layout = layouts[lastBreakpoint];*/ -var hasDocument = typeof document !== 'undefined' + /*const breakpointsSorted = sortBreakpoints(breakpoints); + const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); + for (let i = 0, len = breakpointsAbove.length; i < len; i++) { + const b = breakpointsAbove[i]; + if (layouts[b]) { + layout = layouts[b]; + break; + } + }*/ + layout = Object(utils["b" /* cloneLayout */])(layout || []); // clone layout so we don't modify existing items -if (typeof DEBUG !== 'undefined' && DEBUG) { - if (!hasDocument) { - throw new Error( - 'vue-style-loader cannot be used in a non-browser environment. ' + - "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." - ) } -} - -/* -type StyleObject = { - id: number; - parts: Array -} - -type StyleObjectPart = { - css: string; - media: string; - sourceMap: ?string -} -*/ - -var stylesInDom = {/* - [id: number]: { - id: number, - refs: number, - parts: Array<(obj?: StyleObjectPart) => void> - } -*/} - -var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) -var singletonElement = null -var singletonCounter = 0 -var isProduction = false -var noop = function () {} -var options = null -var ssrIdKey = 'data-vue-ssr-id' - -// Force single-tag solution on IE6-9, which has a hard limit on the # of \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 +{"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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?d811","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/./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/./src/helpers/utils.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/./src/components/GridItem.vue?04cd","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/./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":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCA;CAEA;;AAEA,IAAMI,aAAa,GAAG;AAClB;AACAC,YAAU,EAAVA,+DAFkB;AAGlBC,UAAQ,EAARA,6DAAQA;AAHU,CAAtB;AAMO,SAASC,OAAT,CAAiBC,GAAjB,EAAsB;AACzB,MAAID,OAAO,CAACE,SAAZ,EAAuB;AACvBF,SAAO,CAACE,SAAR,GAAoB,IAApB;AACAC,QAAM,CAACC,IAAP,CAAYP,aAAZ,EAA2BQ,OAA3B,CAAmC,UAAAC,IAAI,EAAI;AACvCL,OAAG,CAACM,SAAJ,CAAcD,IAAd,EAAoBT,aAAa,CAACS,IAAD,CAAjC;AACH,GAFD;AAGH;AAED,IAAME,MAAM,GAAG;AACXR,SAAO,EAAPA;AADW,CAAf;AAIA,IAAIS,SAAS,GAAG,IAAhB;;AACA,IAAI,OAAO3B,MAAP,KAAkB,WAAtB,EAAmC;AAC/B2B,WAAS,GAAG3B,MAAM,CAACmB,GAAnB;AACH,CAFD,MAEO,IAAI,OAAOS,MAAP,KAAkB,WAAtB,EAAmC;AACtCD,WAAS,GAAGC,MAAM,CAACT,GAAnB;AACH;;AACD,IAAIQ,SAAJ,EAAe;AACXA,WAAS,CAACE,GAAV,CAAcH,MAAd;AACH;;AAEcX,sEAAf;;;;;;;;;AChCA,YAAY,mBAAO,CAAC,MAAW;AAC/B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,aAAa,mBAAO,CAAC,MAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACVa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjBA;;;;;;;;ACAA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;ACJa;AACb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA,yCAAyC,cAAc;AACvD,GAAG;AACH;;;;;;;;ACRA,SAAS,mBAAO,CAAC,MAAc;AAC/B,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;;;;;;;;ACPA,SAAS,mBAAO,CAAC,MAAc;AAC/B,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;;;;;;;;;;;ACPA,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,iEAAiE,oCAAoC,aAAa,4EAA4E,4CAA4C,+GAA+G;AACnc;;;;;;;;;;;;;;;;;;;;;;;;;ACD0E;AAC3D;AACf;AACA,IAAI,yBAAsB;AAC1B;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;;;;;;;;ACdA;AAEA;;;;;;;;AAOA;;;;;;;;;;AAOO,SAASe,sBAAT,CAAgCC;AAAhC;AAAA,EAA0DC;AAA1D;AAAA;AAAA;AAAqF;AAC1F,MAAMC,MAAM,GAAGC,eAAe,CAACH,WAAD,CAA9B;AACA,MAAII,QAAQ,GAAGF,MAAM,CAAC,CAAD,CAArB;;AACA,OAAK,IAAIG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAMG,cAAc,GAAGN,MAAM,CAACG,CAAD,CAA7B;AACA,QAAIJ,KAAK,GAAGD,WAAW,CAACQ,cAAD,CAAvB,EAAyCJ,QAAQ,GAAGI,cAAX;AAC1C;;AACD,SAAOJ,QAAP;AACD;AAGD;;;;;;;AAMO,SAASK,qBAAT,CAA+BC;AAA/B;AAAA,EAAuDC;AAAvD;AAAA;AAAA;AAAkF;AACvF,MAAI,CAACA,IAAI,CAACD,UAAD,CAAT,EAAuB;AACrB,UAAM,IAAIE,KAAJ,CAAU,uDAAuDF,UAAvD,GAAoE,cAA9E,CAAN;AACD;;AACD,SAAOC,IAAI,CAACD,UAAD,CAAX;AACD;AAED;;;;;;;;;;;;;;;;AAeO,SAASG,8BAAT,CAAwCC;AAAxC;AAAA,EAA2DC;AAA3D;AAAA,EAAsFf;AAAtF;AAAA,EACwCU;AADxC;AAAA,EACgEM;AADhE;AAAA,EAEwCL;AAFxC;AAAA,EAEsDM;AAFtD;AAAA;AAAA;AAEwF;AAC7F;AACA,MAAIF,OAAO,CAACL,UAAD,CAAX,EAAyB,OAAOQ,oCAAW,CAACH,OAAO,CAACL,UAAD,CAAR,CAAlB,CAFoE,CAG7F;;AACA,MAAIS,MAAM,GAAGL,SAAb;AAEA,MAAMM,iBAAiB,GAAGjB,eAAe,CAACH,WAAD,CAAzC;AACA,MAAMqB,gBAAgB,GAAGD,iBAAiB,CAACE,KAAlB,CAAwBF,iBAAiB,CAACG,OAAlB,CAA0Bb,UAA1B,CAAxB,CAAzB;;AACA,OAAK,IAAIL,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGe,gBAAgB,CAACd,MAAvC,EAA+CF,CAAC,GAAGC,GAAnD,EAAwDD,CAAC,EAAzD,EAA6D;AAC3D,QAAMmB,CAAC,GAAGH,gBAAgB,CAAChB,CAAD,CAA1B;;AACA,QAAIU,OAAO,CAACS,CAAD,CAAX,EAAgB;AACdL,YAAM,GAAGJ,OAAO,CAACS,CAAD,CAAhB;AACA;AACD;AACF;;AACDL,QAAM,GAAGD,oCAAW,CAACC,MAAM,IAAI,EAAX,CAApB,CAf6F,CAezD;;AACpC,SAAOM,gCAAO,CAACC,sCAAa,CAACP,MAAD,EAAS;AAACR,QAAI,EAAEA;AAAP,GAAT,CAAd,EAAsCM,eAAtC,CAAd;AACD;AAEM,SAASU,wBAAT,CAAkCR;AAAlC;AAAA,EAAkDnB;AAAlD;AAAA,EACwCU;AADxC;AAAA,EACgEM;AADhE;AAAA,EAEwCL;AAFxC;AAAA,EAEsDM;AAFtD;AAAA;AAAA;AAEwF;AAC7F;;AACA;;;;AAGE;;;;;;;;;AASFE,QAAM,GAAGD,oCAAW,CAACC,MAAM,IAAI,EAAX,CAApB,CAd6F,CAczD;;AACpC,SAAOM,gCAAO,CAACC,sCAAa,CAACP,MAAD,EAAS;AAACR,QAAI,EAAEA;AAAP,GAAT,CAAd,EAAsCM,eAAtC,CAAd;AACD;AAED;;;;;;;;AAOO,SAASd,eAAT,CAAyBH;AAAzB;AAAA;AAAA;AAAsE;AAC3E,MAAMT;AAAmB;AAAA,IAAGD,MAAM,CAACC,IAAP,CAAYS,WAAZ,CAA5B;AACA,SAAOT,IAAI,CAACqC,IAAL,CAAU,UAASC,CAAT,EAAYL,CAAZ,EAAe;AAC9B,WAAOxB,WAAW,CAAC6B,CAAD,CAAX,GAAiB7B,WAAW,CAACwB,CAAD,CAAnC;AACD,GAFM,CAAP;AAGD,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzFD;;AACA;;AAEA;CAEA;;AAEA;AACA;AAEA;AACA,oBADA;AAEA,SAFA,qBAEA;AACA;AACA;AADA;AAGA,GANA;AAOA;AACA;AADA,GAPA;AAUA;AACA;AACA;AACA,mBADA;AAEA;AAFA,KAFA;AAMA;AACA,kBADA;AAEA;AAFA,KANA;AAUA;AACA,kBADA;AAEA;AAFA,KAVA;AAcA;AACA,kBADA;AAEA;AAFA,KAdA;AAkBA;AACA,iBADA;AAEA;AACA;AACA;AAJA,KAlBA;AAwBA;AACA,mBADA;AAEA;AAFA,KAxBA;AA4BA;AACA,mBADA;AAEA;AAFA,KA5BA;AAgCA;AACA,mBADA;AAEA;AAFA,KAhCA;AAoCA;AACA,mBADA;AAEA;AAFA,KApCA;AAwCA;AACA,mBADA;AAEA;AAFA,KAxCA;AA4CA;AACA,iBADA;AAEA;AAFA,KA5CA;AAgDA;AACA,mBADA;AAEA;AAFA,KAhDA;AAoDA;AACA,kBADA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAFA,KApDA;AAwDA;AACA,kBADA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAFA,KAxDA;AA4DA;AACA,mBADA;AAEA;AAFA;AA5DA,GAVA;AA2EA;AACA;AACA,iBADA;AAEA,qBAFA;AAGA,yBAHA;AAIA,uBAJA;AAKA;AACA,YADA;AAEA,YAFA;AAGA,YAHA;AAIA,YAJA;AAKA;AALA,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;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,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,sEADA,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,sFAPA,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,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;AA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ACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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;AAC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2NA;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;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;ACnBA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;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,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,8EAA8E,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE5uB,sCAAsC,uCAAuC,kBAAkB;;AAE/F,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;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;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;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,sBAAsB,+BAA+B;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;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;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,kCAAkC;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;;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,gEAAgE;;AAEhE;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,8EAA8E,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE5uB,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;;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,EAAE;;AAEL;;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;;AAEA;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;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;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,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;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,8EAA8E,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE5uB,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;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;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;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;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;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;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;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;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;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;;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEjvB,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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;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,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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;AACA;AACA;;AAEA;;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA,yDAAyD;;AAEzD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,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AwB;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;;AAEA,mDAAmD;;;AAGnD;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,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;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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AA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA,oGAAoG,4CAA4C;;AAEhJ;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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;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;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A6B,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;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;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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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;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,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,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;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,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;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,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;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;;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,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,wDAAwD;;AAExD,4DAA4D;;AAE5D,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;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;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;AACA;AACA;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,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,gEAAgE;;AAEhE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,qCAAqC;;AAErC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;AACA;;AAEA,gEAAgE;;AAEhE;;AAEA;;AAEA,4DAA4D;;AAE5D,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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,IAAI;;;AAGJ;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,gEAAgE;;AAEhE;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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,8CAA8C;;AAE9C;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;AACA;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;;AAEA,sBAAsB,oBAAoB;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;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,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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA,yEAAyE;;AAEzE;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,4DAA4D;;AAE5D;;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;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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A;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,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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,6BAA6B;;AAE7B,0BAA0B;AAC1B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,gCAAgC;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA,0CAA0C;;AAE1C;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;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD;;AAEtD;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OA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A;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;;AAEA;;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;AACA,uFAAuF;;AAEvF,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAA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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 \n\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=5a186489&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n\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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=c806aad8&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.7.2\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 _domObjects = _interopRequireDefault(_$domObjects_49);\n\nvar utils = _interopRequireWildcard(_$utils_55);\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 _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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(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 _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\nfunction _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}\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\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 // main window\n // main document\n // main window\n // all documents being listened to\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n _defineProperty(this, \"id\", \"__interact_scope_\".concat(Math.floor(Math.random() * 100)));\n\n _defineProperty(this, \"listenerMaps\", []);\n\n _defineProperty(this, \"browser\", browser);\n\n _defineProperty(this, \"events\", events);\n\n _defineProperty(this, \"utils\", utils);\n\n _defineProperty(this, \"defaults\", utils.clone(_defaultOptions[\"default\"]));\n\n _defineProperty(this, \"Eventable\", _Eventable[\"default\"]);\n\n _defineProperty(this, \"actions\", {\n names: [],\n methodDict: {},\n eventTypes: []\n });\n\n _defineProperty(this, \"InteractEvent\", _InteractEvent[\"default\"]);\n\n _defineProperty(this, \"Interactable\", void 0);\n\n _defineProperty(this, \"interactables\", new _InteractableSet[\"default\"](this));\n\n _defineProperty(this, \"_win\", void 0);\n\n _defineProperty(this, \"document\", void 0);\n\n _defineProperty(this, \"window\", void 0);\n\n _defineProperty(this, \"documents\", []);\n\n _defineProperty(this, \"_plugins\", {\n list: [],\n map: {}\n });\n\n _defineProperty(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.fire('interactable: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.fire('interactions: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.fire('interactable: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: \"addListeners\",\n value: function addListeners(map, id) {\n this.listenerMaps.push({\n id: id,\n map: map\n });\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n for (var _i = 0; _i < this.listenerMaps.length; _i++) {\n var _ref;\n\n _ref = this.listenerMaps[_i];\n var _ref2 = _ref,\n listener = _ref2.map[name];\n\n if (!!listener && listener(arg, this, name) === false) {\n return false;\n }\n }\n }\n }, {\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._plugins.map[plugin.id] || this._plugins.list.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._plugins.map[plugin.id] = plugin;\n }\n\n this._plugins.list.push(plugin);\n\n if (plugin.install) {\n plugin.install(this, options);\n }\n\n if (plugin.listeners && plugin.before) {\n var index = 0;\n\n for (; index < this.listenerMaps.length; index++) {\n var otherId = this.listenerMaps[index].id;\n\n if (otherId === plugin.before) {\n break;\n }\n }\n\n this.listenerMaps.splice(index, 0, {\n id: plugin.id,\n map: plugin.listeners\n });\n } else if (plugin.listeners) {\n this.listenerMaps.push({\n id: plugin.id,\n map: plugin.listeners\n });\n }\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.fire('scope: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.fire('scope: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_47);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_49);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar _events = _interopRequireDefault(_$events_51);\n\nvar pointerUtils = _interopRequireWildcard(_$pointerUtils_60);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(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 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 }); // 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 // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.scopeFire = function (name, arg) {\n return scope.fire(name, arg);\n };\n\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_50.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 var pointerType = pointerUtils.getPointerType(event);\n\n var _pointerUtils$getEven = pointerUtils.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 var pointerId = pointerUtils.getPointerId(pointer);\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.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.fire('interactions:find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, eventMethodName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = _events[\"default\"][eventMethodName];\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 listeners: {\n 'scope:add-document': function scopeAddDocument(arg) {\n return onDocSignal(arg, 'add');\n },\n 'scope:remove-document': function scopeRemoveDocument(arg) {\n return onDocSignal(arg, 'remove');\n }\n },\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\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\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_55);\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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 _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}\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 _createClass(Interaction, [{\n key: \"pointerMoveTolerance\",\n // current interactable being interacted with\n // the target element of the interactable\n // action that's ready to be fired on next move event\n // keep track of added pointers\n // pointerdown/mousedown/touchstart event\n // previous action event\n get: function get() {\n return 1;\n }\n /**\n * @alias Interaction.prototype.move\n */\n\n /** */\n\n }]);\n\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n scopeFire = _ref.scopeFire;\n\n _classCallCheck(this, Interaction);\n\n _defineProperty(this, \"interactable\", null);\n\n _defineProperty(this, \"element\", null);\n\n _defineProperty(this, \"rect\", void 0);\n\n _defineProperty(this, \"edges\", void 0);\n\n _defineProperty(this, \"_scopeFire\", void 0);\n\n _defineProperty(this, \"prepared\", {\n name: null,\n axis: null,\n edges: null\n });\n\n _defineProperty(this, \"pointerType\", void 0);\n\n _defineProperty(this, \"pointers\", []);\n\n _defineProperty(this, \"downEvent\", null);\n\n _defineProperty(this, \"downPointer\", {});\n\n _defineProperty(this, \"_latestPointer\", {\n pointer: null,\n event: null,\n eventTarget: null\n });\n\n _defineProperty(this, \"prevEvent\", null);\n\n _defineProperty(this, \"pointerIsDown\", false);\n\n _defineProperty(this, \"pointerWasMoved\", false);\n\n _defineProperty(this, \"_interacting\", false);\n\n _defineProperty(this, \"_ending\", false);\n\n _defineProperty(this, \"_stopped\", true);\n\n _defineProperty(this, \"_proxy\", null);\n\n _defineProperty(this, \"simulation\", null);\n\n _defineProperty(this, \"doMove\", utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()'));\n\n _defineProperty(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\n this._scopeFire = scopeFire;\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._scopeFire('interactions: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._scopeFire('interactions:down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n type: 'down',\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 type: 'move',\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._scopeFire('interactions:move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n signalArg.type = null;\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 var type = /cancel$/i.test(event.type) ? 'cancel' : 'up';\n\n this._scopeFire(\"interactions:\".concat(type), {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n type: type,\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._scopeFire('interactions:blur', {\n event: event,\n type: 'blur',\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._scopeFire('interactions: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._scopeFire('interactions: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._scopeFire('interactions:remove-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: null,\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._scopeFire(\"interactions: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._scopeFire(\"interactions:action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._scopeFire(\"interactions: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\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$domObjects_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_49, \"__esModule\", {\n value: true\n});\n_$domObjects_49[\"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_49[\"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 _$arr_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_46, \"__esModule\", {\n value: true\n});\n_$arr_46.contains = contains;\n_$arr_46.remove = remove;\n_$arr_46.merge = merge;\n_$arr_46.from = from;\n_$arr_46.findIndex = findIndex;\n_$arr_46.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 _$isWindow_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_57, \"__esModule\", {\n value: true\n});\n_$isWindow_57[\"default\"] = void 0;\n\nvar ___default_57 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_57[\"default\"] = ___default_57;\n\nvar _$window_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_65, \"__esModule\", {\n value: true\n});\n_$window_65.init = __init_65;\n_$window_65.getWindow = getWindow;\n_$window_65[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_57);\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_65\n};\n\nfunction __init_65(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_65(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_65;\nvar ___default_65 = win;\n_$window_65[\"default\"] = ___default_65;\n\nvar _$is_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_56, \"__esModule\", {\n value: true\n});\n_$is_56.array = _$is_56.plainObject = _$is_56.element = _$is_56.string = _$is_56.bool = _$is_56.number = _$is_56.func = _$is_56.object = _$is_56.docFrag = _$is_56.window = void 0;\n\nvar ___isWindow_56 = ___interopRequireDefault_56(_$isWindow_57);\n\nvar _window2 = ___interopRequireDefault_56(_$window_65);\n\nfunction ___interopRequireDefault_56(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_56 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_56[\"default\"])(thing);\n};\n\n_$is_56.window = __window_56;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_56.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_56.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_56.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_56.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_56.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_56.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_56.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_56.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_56.array = array;\n\nvar _$browser_47 = {};\n\"use strict\";\n\nfunction ___typeof_47(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_47 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_47 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_47(obj); }\n\nObject.defineProperty(_$browser_47, \"__esModule\", {\n value: true\n});\n_$browser_47[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_47(_$domObjects_49);\n\nvar is = _interopRequireWildcard(_$is_56);\n\nvar _window = ___interopRequireDefault_47(_$window_65);\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; } if (obj === null || ___typeof_47(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_47(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_47,\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_47(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_47 = browser;\n_$browser_47[\"default\"] = ___default_47;\n\nvar _$domUtils_50 = {};\n\"use strict\";\n\nfunction ___typeof_50(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_50 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_50 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_50(obj); }\n\nObject.defineProperty(_$domUtils_50, \"__esModule\", {\n value: true\n});\n_$domUtils_50.nodeContains = nodeContains;\n_$domUtils_50.closest = closest;\n_$domUtils_50.parentNode = parentNode;\n_$domUtils_50.matchesSelector = matchesSelector;\n_$domUtils_50.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_50.matchesUpTo = matchesUpTo;\n_$domUtils_50.getActualElement = getActualElement;\n_$domUtils_50.getScrollXY = getScrollXY;\n_$domUtils_50.getElementClientRect = getElementClientRect;\n_$domUtils_50.getElementRect = getElementRect;\n_$domUtils_50.getPath = getPath;\n_$domUtils_50.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_50(_$browser_47);\n\nvar ___domObjects_50 = ___interopRequireDefault_50(_$domObjects_49);\n\nvar __is_50 = ___interopRequireWildcard_50(_$is_56);\n\nvar ___window_50 = ___interopRequireWildcard_50(_$window_65);\n\nfunction ___getRequireWildcardCache_50() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_50 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_50(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_50(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_50(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_50(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_50.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_50.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_50.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_50[\"default\"].window !== ___window_50[\"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_50.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_50.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_50[\"default\"].HTMLElement && dropzone instanceof ___domObjects_50[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_50[\"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_50.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_50[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_50[\"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_50[\"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_50[\"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_50.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_50[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$hypot_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_54, \"__esModule\", {\n value: true\n});\n_$hypot_54[\"default\"] = void 0;\n\nvar ___default_54 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_54[\"default\"] = ___default_54;\n\nvar _$pointerExtend_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_59, \"__esModule\", {\n value: true\n});\n_$pointerExtend_59[\"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_59 = pointerExtend;\n_$pointerExtend_59[\"default\"] = ___default_59;\n\nvar _$pointerUtils_60 = {};\n\"use strict\";\n\nfunction ___typeof_60(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_60 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_60 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_60(obj); }\n\nObject.defineProperty(_$pointerUtils_60, \"__esModule\", {\n value: true\n});\n_$pointerUtils_60.copyCoords = copyCoords;\n_$pointerUtils_60.setCoordDeltas = setCoordDeltas;\n_$pointerUtils_60.setCoordVelocity = setCoordVelocity;\n_$pointerUtils_60.setZeroCoords = setZeroCoords;\n_$pointerUtils_60.isNativePointer = isNativePointer;\n_$pointerUtils_60.getXY = getXY;\n_$pointerUtils_60.getPageXY = getPageXY;\n_$pointerUtils_60.getClientXY = getClientXY;\n_$pointerUtils_60.getPointerId = getPointerId;\n_$pointerUtils_60.setCoords = setCoords;\n_$pointerUtils_60.getTouchPair = getTouchPair;\n_$pointerUtils_60.pointerAverage = pointerAverage;\n_$pointerUtils_60.touchBBox = touchBBox;\n_$pointerUtils_60.touchDistance = touchDistance;\n_$pointerUtils_60.touchAngle = touchAngle;\n_$pointerUtils_60.getPointerType = getPointerType;\n_$pointerUtils_60.getEventTargets = getEventTargets;\n_$pointerUtils_60.newCoords = newCoords;\n_$pointerUtils_60.coordsToEvent = coordsToEvent;\nObject.defineProperty(_$pointerUtils_60, \"pointerExtend\", {\n enumerable: true,\n get: function get() {\n return _pointerExtend[\"default\"];\n }\n});\n\nvar ___browser_60 = ___interopRequireDefault_60(_$browser_47);\n\nvar ___domObjects_60 = ___interopRequireDefault_60(_$domObjects_49);\n\nvar domUtils = ___interopRequireWildcard_60(_$domUtils_50);\n\nvar _hypot = ___interopRequireDefault_60(_$hypot_54);\n\nvar __is_60 = ___interopRequireWildcard_60(_$is_56);\n\nvar _pointerExtend = ___interopRequireDefault_60(_$pointerExtend_59);\n\nfunction ___getRequireWildcardCache_60() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_60 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_60(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_60(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_60(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_60(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction 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\nfunction 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\nfunction 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\nfunction setZeroCoords(targetObj) {\n targetObj.page.x = 0;\n targetObj.page.y = 0;\n targetObj.client.x = 0;\n targetObj.client.y = 0;\n}\n\nfunction isNativePointer(pointer) {\n return pointer instanceof ___domObjects_60[\"default\"].Event || pointer instanceof ___domObjects_60[\"default\"].Touch;\n} // Get specified X/Y coords for mouse or event.touches[0]\n\n\nfunction 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\nfunction 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_60[\"default\"].isOperaMobile && isNativePointer(pointer)) {\n getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n getXY('page', pointer, page);\n }\n\n return page;\n}\n\nfunction getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_60[\"default\"].isOperaMobile && isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n getXY('screen', pointer, client);\n } else {\n getXY('client', pointer, client);\n }\n\n return client;\n}\n\nfunction getPointerId(pointer) {\n return __is_60.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n}\n\nfunction setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n}\n\nfunction getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_60.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\nfunction 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\nfunction touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = 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\nfunction touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = 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\nfunction touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = 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\nfunction getPointerType(pointer) {\n return __is_60.string(pointer.pointerType) ? pointer.pointerType : __is_60.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_60[\"default\"].Touch ? 'touch' : 'mouse';\n} // [ event.target, event.currentTarget ]\n\n\nfunction getEventTargets(event) {\n var path = __is_60.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n}\n\nfunction 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\nfunction 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 _$extend_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_52, \"__esModule\", {\n value: true\n});\n_$extend_52[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n var ret = dest;\n return ret;\n}\n\nvar _$rect_62 = {};\n\"use strict\";\n\nfunction ___typeof_62(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_62 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_62 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_62(obj); }\n\nObject.defineProperty(_$rect_62, \"__esModule\", {\n value: true\n});\n_$rect_62.getStringOptionResult = getStringOptionResult;\n_$rect_62.resolveRectLike = resolveRectLike;\n_$rect_62.rectToXY = rectToXY;\n_$rect_62.xywhToTlbr = xywhToTlbr;\n_$rect_62.tlbrToXywh = tlbrToXywh;\n\n/* removed: var _$domUtils_50 = require(\"./domUtils.js\"); */;\n\nvar _extend = ___interopRequireDefault_62(_$extend_52);\n\nvar __is_62 = ___interopRequireWildcard_62(_$is_56);\n\nfunction ___getRequireWildcardCache_62() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_62 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_62(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_62(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_62(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_62(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_50.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_50.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_62.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_62.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_62.element(value)) {\n value = (0, _$domUtils_50.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 _$clone_48 = {};\n\"use strict\";\n\nfunction ___typeof_48(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_48 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_48 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_48(obj); }\n\nObject.defineProperty(_$clone_48, \"__esModule\", {\n value: true\n});\n_$clone_48[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_48(_$arr_46);\n\nvar __is_48 = ___interopRequireWildcard_48(_$is_56);\n\nfunction ___getRequireWildcardCache_48() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_48 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_48(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_48(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_48(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_48.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_48.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$events_51 = {};\n\"use strict\";\n\nfunction ___typeof_51(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_51 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_51 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_51(obj); }\n\nObject.defineProperty(_$events_51, \"__esModule\", {\n value: true\n});\n_$events_51[\"default\"] = _$events_51.FakeEvent = void 0;\n\n/* removed: var _$arr_46 = require(\"./arr.js\"); */;\n\nvar __domUtils_51 = ___interopRequireWildcard_51(_$domUtils_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_56);\n\nvar ___pointerExtend_51 = ___interopRequireDefault_51(_$pointerExtend_59);\n\nvar pointerUtils = ___interopRequireWildcard_51(_$pointerUtils_60);\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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; } if (obj === null || ___typeof_51(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction _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}\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_46.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_51(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_51(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_51(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_51(context, type, delegateListener);\n __remove_51(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.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_51.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_51.matchesSelector(element, selector) && __domUtils_51.nodeContains(context, eventTarget) && __domUtils_51.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_51.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_51.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;\n\n _defineProperty(this, \"currentTarget\", void 0); // duplicate the event so that currentTarget can be changed\n\n\n (0, ___pointerExtend_51[\"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_51.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_51,\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_51 = events;\n_$events_51[\"default\"] = ___default_51;\n\nvar _$getOriginXY_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_53, \"__esModule\", {\n value: true\n});\n_$getOriginXY_53[\"default\"] = ___default_53;\n\n/* removed: var _$rect_62 = require(\"./rect.js\"); */;\n\nfunction ___default_53(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_62.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_62.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_58 = {};\n\"use strict\";\n\nfunction ___typeof_58(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_58 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_58 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_58(obj); }\n\nObject.defineProperty(_$normalizeListeners_58, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_58[\"default\"] = normalize;\n\nvar ___extend_58 = ___interopRequireDefault_58(_$extend_52);\n\nvar __is_58 = ___interopRequireWildcard_58(_$is_56);\n\nfunction ___getRequireWildcardCache_58() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_58 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_58(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_58(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_58(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_58(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_58.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_58.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_58[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_58.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_58.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_58.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_58.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_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_61, \"__esModule\", {\n value: true\n});\n_$raf_61[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_61(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_61 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_61\n};\n_$raf_61[\"default\"] = ___default_61;\n\nvar _$utils_55 = {};\n\"use strict\";\n\nfunction ___typeof_55(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_55 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_55 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_55(obj); }\n\nObject.defineProperty(_$utils_55, \"__esModule\", {\n value: true\n});\n_$utils_55.warnOnce = warnOnce;\n_$utils_55._getQBezierValue = _getQBezierValue;\n_$utils_55.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_55.easeOutQuad = easeOutQuad;\n_$utils_55.copyAction = copyAction;\nObject.defineProperty(_$utils_55, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\n_$utils_55.rect = _$utils_55.pointer = _$utils_55.is = _$utils_55.dom = _$utils_55.arr = void 0;\n\nvar __arr_55 = ___interopRequireWildcard_55(_$arr_46);\n\n_$utils_55.arr = __arr_55;\n\nvar dom = ___interopRequireWildcard_55(_$domUtils_50);\n\n_$utils_55.dom = dom;\n\nvar __is_55 = ___interopRequireWildcard_55(_$is_56);\n\n_$utils_55.is = __is_55;\n\nvar pointer = ___interopRequireWildcard_55(_$pointerUtils_60);\n\n_$utils_55.pointer = pointer;\n\nvar rect = ___interopRequireWildcard_55(_$rect_62);\n\n_$utils_55.rect = rect;\n\nvar ___window_55 = ___interopRequireDefault_55(_$window_65);\n\nvar ___browser_55 = ___interopRequireDefault_55(_$browser_47);\n\nvar _clone = ___interopRequireDefault_55(_$clone_48);\n\nvar _events = ___interopRequireDefault_55(_$events_51);\n\nvar ___extend_55 = ___interopRequireDefault_55(_$extend_52);\n\nvar _getOriginXY = ___interopRequireDefault_55(_$getOriginXY_53);\n\nvar ___hypot_55 = ___interopRequireDefault_55(_$hypot_54);\n\nvar _normalizeListeners = ___interopRequireDefault_55(_$normalizeListeners_58);\n\nvar _raf = ___interopRequireDefault_55(_$raf_61);\n\nfunction ___interopRequireDefault_55(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_55() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_55 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_55(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_55(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_55(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_55[\"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\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n// export interface Options extends BaseDefaults, PerActionDefaults {}\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\nfunction ___typeof_14(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_14 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_14 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_14(obj); }\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_46);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_52);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_58);\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; } if (obj === null || ___typeof_14(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 ___defineProperty_14(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}\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 ___defineProperty_14(this, \"options\", void 0);\n\n ___defineProperty_14(this, \"types\", {});\n\n ___defineProperty_14(this, \"propagationStopped\", false);\n\n ___defineProperty_14(this, \"immediatePropagationStopped\", false);\n\n ___defineProperty_14(this, \"global\", void 0);\n\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\nfunction ___typeof_16(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_16 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_16 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_16(obj); }\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_46);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_47);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_48);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_51);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_52);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_56);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_58);\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_16(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___defineProperty_16(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}\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n ___createClass_16(Interactable, [{\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n /** */\n\n }]);\n\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n ___defineProperty_16(this, \"options\", void 0);\n\n ___defineProperty_16(this, \"_actions\", void 0);\n\n ___defineProperty_16(this, \"target\", void 0);\n\n ___defineProperty_16(this, \"events\", new _Eventable[\"default\"]());\n\n ___defineProperty_16(this, \"_context\", void 0);\n\n ___defineProperty_16(this, \"_win\", void 0);\n\n ___defineProperty_16(this, \"_doc\", void 0);\n\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_65.getWindow)((0, _$domUtils_50.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_50.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_50.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_50.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_50.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_50.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_50.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_50.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\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\nfunction ___typeof_17(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_17 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_17 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_17(obj); }\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_46);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_50);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_52);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_56);\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; } if (obj === null || ___typeof_17(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___defineProperty_17(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}\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n // all set interactables\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n\n ___defineProperty_17(this, \"list\", []);\n\n ___defineProperty_17(this, \"selectorMap\", {});\n\n scope.addListeners({\n 'interactable:unset': function interactableUnset(_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\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.scope.fire('interactable: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\nfunction ___defineProperty_13(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}\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 ___createClass_13(BaseEvent, [{\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n ___defineProperty_13(this, \"type\", void 0);\n\n ___defineProperty_13(this, \"target\", void 0);\n\n ___defineProperty_13(this, \"currentTarget\", void 0);\n\n ___defineProperty_13(this, \"interactable\", void 0);\n\n ___defineProperty_13(this, \"_interaction\", void 0);\n\n ___defineProperty_13(this, \"timeStamp\", void 0);\n\n ___defineProperty_13(this, \"immediatePropagationStopped\", false);\n\n ___defineProperty_13(this, \"propagationStopped\", false);\n\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\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_52);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_53);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_54);\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\nfunction ___defineProperty_15(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}\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 // drag\n // resize\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\n ___defineProperty_15(_assertThisInitialized(_this), \"target\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"currentTarget\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"relatedTarget\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"screenX\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"screenY\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"button\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"buttons\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"ctrlKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"shiftKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"altKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"metaKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"page\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"client\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"delta\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"rect\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"x0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"y0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"t0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dt\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"duration\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"clientX0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"clientY0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"velocity\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"speed\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"swipe\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"timeStamp\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dragEnter\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dragLeave\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"axes\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"preEnd\", void 0);\n\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\nfunction ___typeof_22(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_22 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_22 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_22(obj); }\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_50);\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; } if (obj === null || ___typeof_22(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___typeof_1(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_1 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_1(obj); }\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_46);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_56);\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; } if (obj === null || ___typeof_1(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.addListeners({\n 'interactions:before-action-move': beforeMove,\n 'interactions:action-resume': beforeMove,\n // dragmove\n 'interactions:action-move': move\n });\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_46);\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; } if (obj === null || ___typeof_2(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\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 ___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\nfunction ___defineProperty_2(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}\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\n ___defineProperty_2(___assertThisInitialized_2(_this), \"target\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"dropzone\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"dragEvent\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"relatedTarget\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"draggable\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"timeStamp\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"propagationStopped\", false);\n\n ___defineProperty_2(___assertThisInitialized_2(_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\nfunction ___typeof_3(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_3 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_3(obj); }\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_55);\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; } if (obj === null || ___typeof_3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\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(_ref, draggableElement) {\n var interactables = _ref.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 _ref2;\n\n _ref2 = interactables.list[_i];\n var dropzone = _ref2;\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 _ref3;\n\n _ref3 = dropElements[_i2];\n var dropzoneElement = _ref3;\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 _ref4;\n\n _ref4 = activeDrops[_i3];\n var _ref5 = _ref4,\n dropzone = _ref5.dropzone,\n element = _ref5.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 _ref6;\n\n _ref6 = activeDrops[_i4];\n var activeDrop = _ref6;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref7, dragEvent, pointerEvent) {\n var dropState = _ref7.dropState,\n draggable = _ref7.interactable,\n dragElement = _ref7.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 _ref8;\n\n _ref8 = dropState.activeDrops[_i5];\n var _ref9 = _ref8,\n dropzone = _ref9.dropzone,\n dropzoneElement = _ref9.element,\n rect = _ref9.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(_ref10, scope) {\n var interaction = _ref10.interaction,\n iEvent = _ref10.iEvent,\n event = _ref10.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 listeners: {\n 'interactions:before-action-start': function interactionsBeforeActionStart(_ref11) {\n var interaction = _ref11.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:after-action-start': function interactionsAfterActionStart(_ref12, scope) {\n var interaction = _ref12.interaction,\n event = _ref12.event,\n dragEvent = _ref12.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 },\n // FIXME proper signal types\n 'interactions:action-move': onEventCreated,\n 'interactions:action-end': onEventCreated,\n 'interactions:after-action-move': function fireDropAfterMove(_ref13) {\n var interaction = _ref13.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:after-action-end': function interactionsAfterActionEnd(_ref14) {\n var interaction = _ref14.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n },\n 'interactions:stop': function interactionsStop(_ref15) {\n var interaction = _ref15.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 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\nfunction ___typeof_4(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_4 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_4(obj); }\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_55);\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; } if (obj === null || ___typeof_4(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 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 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 listeners: {\n 'interactions:action-start': updateGestureProps,\n 'interactions:action-move': updateGestureProps,\n 'interactions:action-end': updateGestureProps,\n 'interactions:new': function interactionsNew(_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 },\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\nfunction ___typeof_6(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_6 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_6(obj); }\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_46);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_50);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_52);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_56);\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; } if (obj === null || ___typeof_6(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults; // Less Precision with touch input\n\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 listeners: {\n 'interactions:new': function interactionsNew(_ref) {\n var interaction = _ref.interaction;\n interaction.resizeAxes = 'xy';\n },\n 'interactions:action-start': function interactionsActionStart(arg) {\n start(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-move': function interactionsActionMove(arg) {\n __move_6(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-end': end\n },\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(_ref2) {\n var edges = _ref2.edges,\n axis = _ref2.axis,\n name = _ref2.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(_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 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(_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 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(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.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(_ref6) {\n var iEvent = _ref6.iEvent,\n interaction = _ref6.interaction;\n\n if (interaction.prepared.name !== ___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 _index[\"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 _index = ___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(_index[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nfunction ___typeof_7(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_7 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_7 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_7(obj); }\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_50);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_56);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_61);\n\n/* removed: var _$rect_62 = require(\"../utils/rect.js\"); */;\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_7(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\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 // the handle returned by window.setInterval\n x: 0,\n y: 0,\n // Direction each pulse is to scroll in\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(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.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_62.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_65.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(_ref2, func) {\n var interaction = _ref2.interaction,\n element = _ref2.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 listeners: {\n 'interactions:new': function interactionsNew(_ref3) {\n var interaction = _ref3.interaction;\n interaction.autoScroll = null;\n },\n 'interactions:destroy': function interactionsDestroy(_ref4) {\n var interaction = _ref4.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n },\n 'interactions:stop': autoScroll.stop,\n 'interactions:action-move': function interactionsActionMove(arg) {\n return autoScroll.onInteractionMove(arg);\n }\n }\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nfunction ___typeof_8(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_8 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_8 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_8(obj); }\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_55 = require(\"../utils/index.js\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_56);\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; } if (obj === null || ___typeof_8(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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// TODO: there seems to be a @babel/preset-typescript bug causing regular import\n// syntax to remain in js output\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_55.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_55.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\nfunction ___typeof_9(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_9 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_9 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_9(obj); }\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_55);\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; } if (obj === null || ___typeof_9(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]);\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 };\n}\n\nfunction prepareOnDown(_ref, scope) {\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}\n\nfunction prepareOnMove(_ref2, scope) {\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\nfunction startOnMove(arg, scope) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.fire('autoStart: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\nfunction clearCursorOnStop(_ref3, scope) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\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.fire('autoStart: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 listeners: {\n 'interactions:down': prepareOnDown,\n 'interactions:move': function interactionsMove(arg, scope) {\n prepareOnMove(arg, scope);\n startOnMove(arg, scope);\n },\n 'interactions:stop': clearCursorOnStop\n },\n before: 'ations',\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nfunction ___typeof_10(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_10 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_10 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_10(obj); }\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_50 = require(\"../utils/domUtils.js\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_56);\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; } if (obj === null || ___typeof_10(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 beforeStart(_ref, scope) {\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_50.parentNode)(element);\n }\n }\n}\n\nfunction 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\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n listeners: {\n 'autoStart:before-start': beforeStart\n }\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 defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\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 listeners: {\n 'interactions:new': function interactionsNew(_ref) {\n var interaction = _ref.interaction;\n interaction.autoStartHoldTimer = null;\n },\n 'autoStart:prepared': function autoStartPrepared(_ref2) {\n var interaction = _ref2.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:move': function interactionsMove(_ref3) {\n var interaction = _ref3.interaction,\n duplicate = _ref3.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n },\n // prevent regular down->move autoStart\n 'autoStart:before-start': function autoStartBeforeStart(_ref4) {\n var interaction = _ref4.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n }\n },\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\nfunction ___typeof_21(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_21 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_21 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_21(obj); }\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_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_51);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_56);\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_21(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_65.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_50.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 }; // 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 _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_50.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 listeners: ['down', 'move', 'up', 'cancel'].reduce(function (acc, eventType) {\n acc[\"interactions:\".concat(eventType)] = onInteractionEvent;\n return acc;\n }, {})\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nfunction ___typeof_25(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_25 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_25 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_25(obj); }\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_49);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_52);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_56);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_65);\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; } if (obj === null || ___typeof_25(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 = undefined === '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 Interactable = scope.Interactable,\n defaults = scope.defaults;\n scope.logger = logger || console;\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(_ref2) {\n var element = _ref2.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref3) {\n var element = _ref3.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(_ref4) {\n var element = _ref4.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_50.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 listeners: {\n 'interactions:action-start': function interactionsActionStart(_ref5, scope) {\n var interaction = _ref5.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref6;\n\n _ref6 = checks[_i];\n var check = _ref6;\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 _scope$logger;\n\n (_scope$logger = scope.logger).warn.apply(_scope$logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n }\n },\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_30;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_52);\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 __start_30(_ref, pageCoords, prevCoords) {\n var interaction = _ref.interaction,\n phase = _ref.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 _ref2;\n\n _ref2 = states[_i];\n var state = _ref2;\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 _ref3;\n\n _ref3 = states[_i2];\n var state = _ref3;\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_30(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 _ref4;\n\n _ref4 = states[_i3];\n var state = _ref4;\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 _ref5;\n\n _ref5 = states[_i4];\n var state = _ref5;\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 = null;\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_30(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(_ref6) {\n var _ref6$interaction = _ref6.interaction,\n coords = _ref6$interaction.coords,\n rect = _ref6$interaction.rect,\n modifiers = _ref6$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: function install(scope) {\n scope.defaults.perAction.modifiers = [];\n },\n listeners: {\n 'interactions:new': function interactionsNew(_ref7) {\n var interaction = _ref7.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:before-action-start': function interactionsBeforeActionStart(arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n __setCoords_30(arg);\n },\n 'interactions:action-resume': function interactionsActionResume(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:after-action-move': restoreCoords,\n 'interactions:before-action-move': __beforeMove_30,\n 'interactions:after-action-start': restoreCoords,\n 'interactions:before-action-end': beforeEnd,\n 'interactions:stop': stop\n },\n before: 'ations',\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\nfunction ___typeof_26(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_26 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_26 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_26(obj); }\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"../core/InteractEvent.js\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_55);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_61);\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; } if (obj === null || ___typeof_26(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(___base_26[\"default\"]);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n // the lambda in exponential decay\n minSpeed: 100,\n // target speed must be above this for inertia to start\n endSpeed: 10,\n // the speed at which inertia is slow enough to stop\n allowResume: true,\n // allow resuming an action in inertia phase\n smoothEndDuration: 300 // animate to snap/restrict endOnly if there's no inertia\n\n };\n}\n\nfunction resume(_ref, scope) {\n var interaction = _ref.interaction,\n event = _ref.event,\n pointer = _ref.pointer,\n eventTarget = _ref.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.fire('interactions: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(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n noPreEnd = _ref2.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 interactable: interaction.interactable,\n element: interaction.element,\n rect: interaction.rect,\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(_ref3) {\n var interaction = _ref3.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(_ref4) {\n var interactable = _ref4.interactable,\n prepared = _ref4.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 listeners: {\n 'interactions:new': function interactionsNew(_ref5) {\n var interaction = _ref5.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n },\n 'interactions:before-action-end': release,\n 'interactions:down': resume,\n 'interactions:stop': __stop_26\n },\n before: 'modifiers/base',\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\nfunction ___typeof_33(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_33 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_33 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_33(obj); }\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33.getRestrictionRect = getRestrictionRect;\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_52);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_56);\n\nvar rectUtils = ___interopRequireWildcard_33(_$rect_62);\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; } if (obj === null || ___typeof_33(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 = rectUtils.xywhToTlbr(restriction);\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 rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return rectUtils.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 defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nfunction ___typeof_32(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_32 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_32 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_32(obj); }\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_52);\n\nvar __rectUtils_32 = ___interopRequireWildcard_32(_$rect_62);\n\n/* removed: var _$pointer_33 = require(\"./pointer.js\"); */;\n\nfunction ___getRequireWildcardCache_32() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_32 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_32(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_32(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_32(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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 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 = (0, _$pointer_33.getRestrictionRect)(options.offset, interaction, interaction.coords.start.page);\n offset = __rectUtils_32.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 = (0, _$pointer_33.getRestrictionRect)(options.inner, interaction, page) || {};\n var outer = (0, _$pointer_33.getRestrictionRect)(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 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_52);\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\nfunction ___typeof_35(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_35 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_35 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_35(obj); }\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_52);\n\nvar __rectUtils_35 = ___interopRequireWildcard_35(_$rect_62);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\n/* removed: var _$pointer_33 = require(\"./pointer.js\"); */;\n\nfunction ___getRequireWildcardCache_35() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_35 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_35(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_35(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_35(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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 = __rectUtils_35.xywhToTlbr(interaction.resizeRects.inverted);\n var minSize = __rectUtils_35.tlbrToXywh((0, _$pointer_33.getRestrictionRect)(options.min, interaction, arg.coords)) || noMin;\n var maxSize = __rectUtils_35.tlbrToXywh((0, _$pointer_33.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\nfunction ___typeof_37(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_37 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_37 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_37(obj); }\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_55);\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; } if (obj === null || ___typeof_37(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___typeof_38(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_38 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_38 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_38(obj); }\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_52);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_56);\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; } if (obj === null || ___typeof_38(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_48);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_52);\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 = ___interopRequireWildcard_39(_$pointerUtils_60);\n\nfunction ___getRequireWildcardCache_39() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_39 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_39(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_39(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_39(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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\nfunction ___defineProperty_39(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}\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 ___defineProperty_39(___assertThisInitialized_39(_this), \"type\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"originalEvent\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pointerId\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pointerType\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"double\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pageX\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pageY\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"clientX\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"clientY\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"dt\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"eventable\", void 0);\n\n __pointerUtils_39.pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n __pointerUtils_39.pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = __pointerUtils_39.getPointerId(pointer);\n _this.pointerType = __pointerUtils_39.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\nfunction ___typeof_40(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_40 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_40 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_40(obj); }\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_55);\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; } if (obj === null || ___typeof_40(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 __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 listeners: {\n 'interactions:new': addInteractionProps,\n 'interactions:update-pointer': addHoldInfo,\n 'interactions:move': moveAndClearHold,\n 'interactions:down': function interactionsDown(arg, scope) {\n downAndStartHold(arg, scope);\n fire(arg, scope);\n },\n 'interactions:up': function interactionsUp(arg, scope) {\n clearHold(arg);\n fire(arg, scope);\n tapAfterUp(arg, scope);\n },\n 'interactions:cancel': function interactionsCancel(arg, scope) {\n clearHold(arg);\n fire(arg, scope);\n }\n },\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\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 type = arg.type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg, scope) : _arg$targets;\n var pointerEvent = new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now());\n scope.fire('pointerEvents:new', {\n pointerEvent: pointerEvent\n });\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 scope.fire('pointerEvents: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, scope) {\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 scope.fire('pointerEvents: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 addInteractionProps(_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\nfunction addHoldInfo(_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\nfunction clearHold(_ref5) {\n var interaction = _ref5.interaction,\n pointerIndex = _ref5.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n}\n\nfunction moveAndClearHold(_ref6, scope) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n duplicate = _ref6.duplicate;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicate && (!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\nfunction downAndStartHold(_ref7, scope) {\n var interaction = _ref7.interaction,\n pointer = _ref7.pointer,\n event = _ref7.event,\n eventTarget = _ref7.eventTarget,\n pointerIndex = _ref7.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 _ref8;\n\n _ref8 = path[_i2];\n var node = _ref8;\n signalArg.node = node;\n scope.fire('pointerEvents: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 _ref9;\n\n _ref9 = signalArg.targets[_i3];\n var target = _ref9;\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\nfunction tapAfterUp(_ref10, scope) {\n var interaction = _ref10.interaction,\n pointer = _ref10.pointer,\n event = _ref10.event,\n eventTarget = _ref10.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\nfunction __install_40(scope) {\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\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 scope.usePlugin(___base_41[\"default\"]);\n var pointerEvents = scope.pointerEvents; // don't repeat by default\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 listeners: ['move', 'up', 'cancel', 'endall'].reduce(function (acc, enderTypes) {\n acc[\"pointerEvents:\".concat(enderTypes)] = endHoldRepeat;\n return acc;\n }, {\n 'pointerEvents:new': onNew,\n 'pointerEvents:fired': onFired\n })\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_46 = require(\"../utils/arr.js\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_52);\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 (0, _$arr_46.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 plugin = {\n id: 'pointer-events/interactableTargets',\n install: __install_43,\n listeners: {\n 'pointerEvents:collect-targets': function pointerEventsCollectTargets(_ref, scope) {\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 'interactable:new': function interactableNew(_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n },\n 'interactable:set': function interactableSet(_ref3, scope) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, scope.pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n }\n }\n};\nvar ___default_43 = plugin;\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nfunction ___typeof_42(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_42 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_42 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_42(obj); }\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\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.pointerEvents = _$pointerEvents_42.id = void 0;\n\nvar __pointerEvents_42 = ___interopRequireWildcard_42(_$base_40);\n\n_$pointerEvents_42.pointerEvents = __pointerEvents_42;\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 ___getRequireWildcardCache_42() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_42 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_42(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_42(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_42(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_42(scope) {\n scope.usePlugin(__pointerEvents_42);\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(\"../core/InteractEvent.js\"); */;\n\n/* removed: var _$utils_55 = require(\"../utils/index.js\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\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 }\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 } A promise that resolves to the `Interactable` when actions on all targets have ended\n */\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_55.is.string(interactable.target) ? _$utils_55.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_55.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref2 = elements[_i2];\n var element = _ref2;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_55.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_55.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_55.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 _ref2;\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_55.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_55.win.window.Promise ? new _$utils_55.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 listeners: {\n // remove completed reflow interactions\n 'interactions:stop': function interactionsStop(_ref3, scope) {\n var interaction = _ref3.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_55.arr.remove(scope.interactions.list, interaction);\n }\n }\n }\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nfunction ___typeof_28(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_28 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_28 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_28(obj); }\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 ___browser_28 = ___interopRequireDefault_28(_$browser_47);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_51);\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_55);\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; } if (obj === null || ___typeof_28(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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\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.addListeners({\n 'interactable:unset': function interactableUnset(_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});\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\nfunction ___typeof_27(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_27 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_27 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_27(obj); }\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 _index2[\"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 _index5[\"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 _index8[\"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 _index2 = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _index4 = ___interopRequireDefault_27(_$devTools_25);\n\nvar _index5 = ___interopRequireDefault_27(_$inertia_26);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _index8 = ___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; } if (obj === null || ___typeof_27(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(_index5[\"default\"]); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // 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(_index2[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_index8[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (undefined !== 'production') {\n _interact[\"default\"].use(_index4[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.7.2\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_63, \"__esModule\", {\n value: true\n});\n_$grid_63[\"default\"] = void 0;\n\nfunction ___slicedToArray_63(arr, i) { return ___arrayWithHoles_63(arr) || ___iterableToArrayLimit_63(arr, i) || ___nonIterableRest_63(); }\n\nfunction ___nonIterableRest_63() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_63(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_63(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_63(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n\n var gridFunc = function snapGrid(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_63(_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 gridFunc._isSnapGrid = true;\n gridFunc.grid = grid;\n gridFunc.coordFields = coordFields;\n return gridFunc;\n}\n\nvar ___default_63 = createGrid;\n_$grid_63[\"default\"] = ___default_63;\n\nvar _$snappers_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_64, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_64, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_64(_$grid_63);\n\nfunction ___interopRequireDefault_64(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$interactjs_29 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactjs_29, \"__esModule\", {\n value: true\n});\n_$interactjs_29.init = __init_29;\n_$interactjs_29[\"default\"] = void 0;\n\nvar ___index_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_52);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_64);\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; } if (obj === null || ___typeof_29(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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, ___index_29.init)(win);\n return ___index_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___index_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___index_29[\"default\"].snappers = snappers;\n ___index_29[\"default\"].createSnapGrid = ___index_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___index_29[\"default\"];\n_$interactjs_29[\"default\"] = ___default_29;\n\nvar _$index_66 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_66.exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\n_$index_66.exports[\"default\"] = void 0;\n\nvar ___index_66 = ___interopRequireWildcard_66(_$interactjs_29);\n\nObject.keys(___index_66).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(_$index_66.exports, key, {\n enumerable: true,\n get: function get() {\n return ___index_66[key];\n }\n });\n});\n\nfunction ___getRequireWildcardCache_66() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_66 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_66(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_66(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_66(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_66(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_66 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_66 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_66(obj); }\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_66(_$index_66)) === 'object' && !!_$index_66) {\n _$index_66.exports = ___index_66[\"default\"];\n}\n\n___index_66[\"default\"][\"default\"] = ___index_66[\"default\"] // tslint:disable-line no-string-literal\n;\n___index_66[\"default\"].init = ___index_66.init; // tslint:disable-line no-string-literal\n\nvar ___default_66 = ___index_66[\"default\"];\n_$index_66.exports[\"default\"] = ___default_66;\n\n_$index_66 = _$index_66.exports\nreturn _$index_66;\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 89d97388..b671f656 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -604,6 +604,72 @@ module.exports = function (it, S) { }; +/***/ }), + +/***/ "1ca7": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getDocumentDir; }); +/* unused harmony export setDocumentDir */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addWindowEventListener; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return removeWindowEventListener; }); +var currentDir +/*: "ltr" | "rtl" | "auto"*/ += "auto"; // let currentDir = "auto"; + +function hasDocument() { + return typeof document !== "undefined"; +} + +function hasWindow() { + return typeof window !== "undefined"; +} + +function getDocumentDir() { + if (!hasDocument()) { + return currentDir; + } + + var direction = typeof document.dir !== "undefined" ? document.dir : document.getElementsByTagName("html")[0].getAttribute("dir"); + return direction; +} +function setDocumentDir(dir +/*: "ltr" | "rtl" | "auto"*/ +) { + // export function setDocumentDir(dir){ + if (!hasDocument) { + currentDir = dir; + return; + } + + var html = document.getElementsByTagName("html")[0]; + html.setAttribute("dir", dir); +} +function addWindowEventListener(event +/*:string*/ +, callback +/*: () => mixed*/ +) { + if (!hasWindow) { + callback(); + return; + } + + window.addEventListener(event, callback); +} +function removeWindowEventListener(event +/*:string*/ +, callback +/*: () => mixed*/ +) { + if (!hasWindow) { + return; + } + + window.removeEventListener(event, callback); +} + /***/ }), /***/ "1ec9": @@ -857,6 +923,108 @@ module.exports = function (it) { exports.f = Object.getOwnPropertySymbols; +/***/ }), + +/***/ "2877": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent ( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier, /* server only */ + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = typeof scriptExports === 'function' + ? scriptExports.options + : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functioal component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection (h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing + ? [].concat(existing, hook) + : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + /***/ }), /***/ "294c": @@ -957,6 +1125,65 @@ module.exports = Object.create || function create(O, Properties) { }; +/***/ }), + +/***/ "2af9": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return install; }); +/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7f7f"); +/* harmony import */ var core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("cadf"); +/* harmony import */ var core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("456d"); +/* harmony import */ var core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es6_object_keys__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("ac6a"); +/* harmony import */ var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _GridItem_vue__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("bc21"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _GridItem_vue__WEBPACK_IMPORTED_MODULE_4__["a"]; }); + +/* harmony import */ var _GridLayout_vue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("37c8"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _GridLayout_vue__WEBPACK_IMPORTED_MODULE_5__["a"]; }); + + + + + + + // import ResponsiveGridLayout from './ResponsiveGridLayout.vue'; + +var VueGridLayout = { + // ResponsiveGridLayout, + GridLayout: _GridLayout_vue__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], + GridItem: _GridItem_vue__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"] +}; +function install(Vue) { + if (install.installed) return; + install.installed = true; + Object.keys(VueGridLayout).forEach(function (name) { + Vue.component(name, VueGridLayout[name]); + }); +} +var plugin = { + install: install +}; +var GlobalVue = null; + +if (typeof window !== 'undefined') { + GlobalVue = window.Vue; +} else if (typeof global !== 'undefined') { + GlobalVue = global.Vue; +} + +if (GlobalVue) { + GlobalVue.use(plugin); +} + +/* harmony default export */ __webpack_exports__["c"] = (VueGridLayout); + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba"))) + /***/ }), /***/ "2b4c": @@ -1070,5930 +1297,5868 @@ module.exports = __webpack_require__("8e60") ? function (object, key, value) { /***/ }), -/***/ "38fd": -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__("69a8"); -var toObject = __webpack_require__("4bf8"); -var IE_PROTO = __webpack_require__("613b")('IE_PROTO'); -var ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; - - -/***/ }), - -/***/ "41a0": -/***/ (function(module, exports, __webpack_require__) { +/***/ "37c8": +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -var create = __webpack_require__("2aeb"); -var descriptor = __webpack_require__("4630"); -var setToStringTag = __webpack_require__("7f20"); -var IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__("32e9")(IteratorPrototype, __webpack_require__("2b4c")('iterator'), function () { return this; }); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"388ee136-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=5a186489& +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)} +var staticRenderFns = [] -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& -/***/ }), +// EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js +var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); -/***/ "454f": -/***/ (function(module, exports, __webpack_require__) { +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.iterator.js +var es6_array_iterator = __webpack_require__("cadf"); -__webpack_require__("46a7"); -var $Object = __webpack_require__("584a").Object; -module.exports = function defineProperty(it, key, desc) { - return $Object.defineProperty(it, key, desc); -}; +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js +var es6_object_keys = __webpack_require__("456d"); +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.is-finite.js +var es6_number_is_finite = __webpack_require__("fca0"); -/***/ }), +// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js +var web_dom_iterable = __webpack_require__("ac6a"); -/***/ "456d": -/***/ (function(module, exports, __webpack_require__) { +// EXTERNAL MODULE: ./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js +var define_property = __webpack_require__("85f2"); +var define_property_default = /*#__PURE__*/__webpack_require__.n(define_property); -// 19.1.2.14 Object.keys(O) -var toObject = __webpack_require__("4bf8"); -var $keys = __webpack_require__("0d58"); +// CONCATENATED MODULE: ./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js -__webpack_require__("5eda")('keys', function () { - return function keys(it) { - return $keys(toObject(it)); - }; -}); +function _defineProperty(obj, key, value) { + if (key in obj) { + define_property_default()(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js +var es6_number_constructor = __webpack_require__("c5f6"); -/***/ }), +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +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_); -/***/ "4588": -/***/ (function(module, exports) { +// EXTERNAL MODULE: ./src/helpers/utils.js +var utils = __webpack_require__("a2b6"); -// 7.1.4 ToInteger -var ceil = Math.ceil; -var floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.sort.js +var es6_array_sort = __webpack_require__("55dd"); +// CONCATENATED MODULE: ./src/helpers/responsiveUtils.js -/***/ }), -/***/ "4630": -/***/ (function(module, exports) { -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; +// @flow -/***/ }), -/***/ "46a7": -/***/ (function(module, exports, __webpack_require__) { +/*:: import type {Layout} from './utils';*/ -var $export = __webpack_require__("63b6"); -// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !__webpack_require__("8e60"), 'Object', { defineProperty: __webpack_require__("d9f6").f }); +/*:: export type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};*/ +/*:: type Breakpoint = string;*/ -/***/ }), +/** + * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint). + * + * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...}) + * @param {Number} width Screen width. + * @return {String} Highest breakpoint that is less than width. + */ -/***/ "4917": -/***/ (function(module, exports, __webpack_require__) { +/*:: type Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};*/ -"use strict"; +function getBreakpointFromWidth(breakpoints +/*: Breakpoints*/ +, width +/*: number*/ +) +/*: Breakpoint*/ +{ + var sorted = sortBreakpoints(breakpoints); + var matching = sorted[0]; + for (var i = 1, len = sorted.length; i < len; i++) { + var breakpointName = sorted[i]; + if (width > breakpoints[breakpointName]) matching = breakpointName; + } -var anObject = __webpack_require__("cb7c"); -var toLength = __webpack_require__("9def"); -var advanceStringIndex = __webpack_require__("0390"); -var regExpExec = __webpack_require__("5f1b"); + return matching; +} +/** + * Given a breakpoint, get the # of cols set for it. + * @param {String} breakpoint Breakpoint name. + * @param {Object} cols Map of breakpoints to cols. + * @return {Number} Number of cols. + */ -// @@match logic -__webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = defined(this); - var fn = regexp == undefined ? undefined : regexp[MATCH]; - return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative($match, regexp, this); - if (res.done) return res.value; - var rx = anObject(regexp); - var S = String(this); - if (!rx.global) return regExpExec(rx, S); - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while ((result = regExpExec(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - return n === 0 ? null : A; - } - ]; -}); +function getColsFromBreakpoint(breakpoint +/*: Breakpoint*/ +, cols +/*: Breakpoints*/ +) +/*: number*/ +{ + if (!cols[breakpoint]) { + throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint " + breakpoint + " is missing!"); + } + return cols[breakpoint]; +} +/** + * Given existing layouts and a new breakpoint, find or generate a new layout. + * + * This finds the layout above the new one and generates from it, if it exists. + * + * @param {Array} orgLayout Original layout. + * @param {Object} layouts Existing layouts. + * @param {Array} breakpoints All breakpoints. + * @param {String} breakpoint New breakpoint. + * @param {String} breakpoint Last breakpoint (for fallback). + * @param {Number} cols Column count at new breakpoint. + * @param {Boolean} verticalCompact Whether or not to compact the layout + * vertically. + * @return {Array} New layout. + */ -/***/ }), +function findOrGenerateResponsiveLayout(orgLayout +/*: Layout*/ +, layouts +/*: ResponsiveLayout*/ +, breakpoints +/*: Breakpoints*/ +, breakpoint +/*: Breakpoint*/ +, lastBreakpoint +/*: Breakpoint*/ +, cols +/*: number*/ +, verticalCompact +/*: boolean*/ +) +/*: Layout*/ +{ + // If it already exists, just return it. + if (layouts[breakpoint]) return Object(utils["b" /* cloneLayout */])(layouts[breakpoint]); // Find or generate the next layout -/***/ "499e": -/***/ (function(module, __webpack_exports__, __webpack_require__) { + var layout = orgLayout; + var breakpointsSorted = sortBreakpoints(breakpoints); + var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); -"use strict"; -__webpack_require__.r(__webpack_exports__); + for (var i = 0, len = breakpointsAbove.length; i < len; i++) { + var b = breakpointsAbove[i]; -// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js -/** - * Translates the list format produced by css-loader into something - * easier to manipulate. - */ -function listToStyles (parentId, list) { - var styles = [] - var newStyles = {} - for (var i = 0; i < list.length; i++) { - var item = list[i] - var id = item[0] - var css = item[1] - var media = item[2] - var sourceMap = item[3] - var part = { - id: parentId + ':' + i, - css: css, - media: media, - sourceMap: sourceMap - } - if (!newStyles[id]) { - styles.push(newStyles[id] = { id: id, parts: [part] }) - } else { - newStyles[id].parts.push(part) + if (layouts[b]) { + layout = layouts[b]; + break; } } - return styles -} -// CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra - Modified by Evan You @yyx990803 -*/ + layout = Object(utils["b" /* cloneLayout */])(layout || []); // clone layout so we don't modify existing items + return Object(utils["c" /* compact */])(Object(utils["d" /* correctBounds */])(layout, { + cols: cols + }), verticalCompact); +} +function generateResponsiveLayout(layout +/*: Layout*/ +, breakpoints +/*: Breakpoints*/ +, breakpoint +/*: Breakpoint*/ +, lastBreakpoint +/*: Breakpoint*/ +, cols +/*: number*/ +, verticalCompact +/*: boolean*/ +) +/*: Layout*/ +{ + // If it already exists, just return it. + /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]); + // Find or generate the next layout + let layout = layouts[lastBreakpoint];*/ -var hasDocument = typeof document !== 'undefined' + /*const breakpointsSorted = sortBreakpoints(breakpoints); + const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); + for (let i = 0, len = breakpointsAbove.length; i < len; i++) { + const b = breakpointsAbove[i]; + if (layouts[b]) { + layout = layouts[b]; + break; + } + }*/ + layout = Object(utils["b" /* cloneLayout */])(layout || []); // clone layout so we don't modify existing items -if (typeof DEBUG !== 'undefined' && DEBUG) { - if (!hasDocument) { - throw new Error( - 'vue-style-loader cannot be used in a non-browser environment. ' + - "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." - ) } -} - -/* -type StyleObject = { - id: number; - parts: Array -} - -type StyleObjectPart = { - css: string; - media: string; - sourceMap: ?string -} -*/ - -var stylesInDom = {/* - [id: number]: { - id: number, - refs: number, - parts: Array<(obj?: StyleObjectPart) => void> - } -*/} - -var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) -var singletonElement = null -var singletonCounter = 0 -var isProduction = false -var noop = function () {} -var options = null -var ssrIdKey = 'data-vue-ssr-id' - -// Force single-tag solution on IE6-9, which has a hard limit on the # of \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 +{"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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?d811","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/./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/./src/helpers/utils.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/./src/components/GridItem.vue?04cd","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/./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":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;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,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,sEADA,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,sFAPA,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,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;AAC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Ae;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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,U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;AACA;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;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;ACnBA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;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,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,8EAA8E,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE5uB,sCAAsC,uCAAuC,kBAAkB;;AAE/F,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;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;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;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,sBAAsB,+BAA+B;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;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;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc,kCAAkC;AAChD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;;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,gEAAgE;;AAEhE;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,8EAA8E,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE5uB,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;;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,EAAE;;AAEL;;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;;AAEA;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;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;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,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;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,8EAA8E,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE5uB,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;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;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;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;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;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;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;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;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;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;;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEjvB,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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;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,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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;AACA;AACA;;AAEA;;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA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EA;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;;AAEA,mDAAmD;;;AAGnD;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,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2E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AAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA,oGAAoG,4CAA4C;;AAEhJ;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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;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;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AAmE,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;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;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,GA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Ae;;AAExvB;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;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;;AAE5C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,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,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;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,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;;AAEA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;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,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;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;;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,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,wDAAwD;;AAExD,4DAA4D;;AAE5D,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;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;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;AACA;AACA;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,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,kFAAkF,SAAS,kBAAkB,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAExvB;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,gEAAgE;;AAEhE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,qCAAqC;;AAErC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;AACA;;AAEA,gEAAgE;;AAEhE;;AAEA;;AAEA,4DAA4D;;AAE5D,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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,IAAI;;;AAGJ;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,gEAAgE;;AAEhE;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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,8CAA8C;;AAE9C;AACA,mFAAmF;AACnF;;AAEA;AACA;AACA;AACA;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;;AAEA,sBAAsB,oBAAoB;AAC1C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;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,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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA,yEAAyE;;AAEzE;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,4DAA4D;;AAE5D;;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;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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a;;AAE/gB,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,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB,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;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;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,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,mFAAmF,SAAS,kBAAkB,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE3vB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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,6BAA6B;;AAE7B,0BAA0B;AAC1B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,mBAAmB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,gCAAgC;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA,0CAA0C;;AAE1C;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;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD;;AAEtD;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AQ;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;;AAEA;;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;AACA,uFAAuF;;AAEvF,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AAC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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 \n\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=5a186489&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n\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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=c806aad8&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.7.2\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 _domObjects = _interopRequireDefault(_$domObjects_49);\n\nvar utils = _interopRequireWildcard(_$utils_55);\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 _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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(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 _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\nfunction _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}\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\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 // main window\n // main document\n // main window\n // all documents being listened to\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n _defineProperty(this, \"id\", \"__interact_scope_\".concat(Math.floor(Math.random() * 100)));\n\n _defineProperty(this, \"listenerMaps\", []);\n\n _defineProperty(this, \"browser\", browser);\n\n _defineProperty(this, \"events\", events);\n\n _defineProperty(this, \"utils\", utils);\n\n _defineProperty(this, \"defaults\", utils.clone(_defaultOptions[\"default\"]));\n\n _defineProperty(this, \"Eventable\", _Eventable[\"default\"]);\n\n _defineProperty(this, \"actions\", {\n names: [],\n methodDict: {},\n eventTypes: []\n });\n\n _defineProperty(this, \"InteractEvent\", _InteractEvent[\"default\"]);\n\n _defineProperty(this, \"Interactable\", void 0);\n\n _defineProperty(this, \"interactables\", new _InteractableSet[\"default\"](this));\n\n _defineProperty(this, \"_win\", void 0);\n\n _defineProperty(this, \"document\", void 0);\n\n _defineProperty(this, \"window\", void 0);\n\n _defineProperty(this, \"documents\", []);\n\n _defineProperty(this, \"_plugins\", {\n list: [],\n map: {}\n });\n\n _defineProperty(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.fire('interactable: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.fire('interactions: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.fire('interactable: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: \"addListeners\",\n value: function addListeners(map, id) {\n this.listenerMaps.push({\n id: id,\n map: map\n });\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n for (var _i = 0; _i < this.listenerMaps.length; _i++) {\n var _ref;\n\n _ref = this.listenerMaps[_i];\n var _ref2 = _ref,\n listener = _ref2.map[name];\n\n if (!!listener && listener(arg, this, name) === false) {\n return false;\n }\n }\n }\n }, {\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._plugins.map[plugin.id] || this._plugins.list.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._plugins.map[plugin.id] = plugin;\n }\n\n this._plugins.list.push(plugin);\n\n if (plugin.install) {\n plugin.install(this, options);\n }\n\n if (plugin.listeners && plugin.before) {\n var index = 0;\n\n for (; index < this.listenerMaps.length; index++) {\n var otherId = this.listenerMaps[index].id;\n\n if (otherId === plugin.before) {\n break;\n }\n }\n\n this.listenerMaps.splice(index, 0, {\n id: plugin.id,\n map: plugin.listeners\n });\n } else if (plugin.listeners) {\n this.listenerMaps.push({\n id: plugin.id,\n map: plugin.listeners\n });\n }\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.fire('scope: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.fire('scope: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_47);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_49);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar _events = _interopRequireDefault(_$events_51);\n\nvar pointerUtils = _interopRequireWildcard(_$pointerUtils_60);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(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 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 }); // 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 // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.scopeFire = function (name, arg) {\n return scope.fire(name, arg);\n };\n\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_50.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 var pointerType = pointerUtils.getPointerType(event);\n\n var _pointerUtils$getEven = pointerUtils.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 var pointerId = pointerUtils.getPointerId(pointer);\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.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.fire('interactions:find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, eventMethodName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = _events[\"default\"][eventMethodName];\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 listeners: {\n 'scope:add-document': function scopeAddDocument(arg) {\n return onDocSignal(arg, 'add');\n },\n 'scope:remove-document': function scopeRemoveDocument(arg) {\n return onDocSignal(arg, 'remove');\n }\n },\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\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\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_55);\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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 _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}\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 _createClass(Interaction, [{\n key: \"pointerMoveTolerance\",\n // current interactable being interacted with\n // the target element of the interactable\n // action that's ready to be fired on next move event\n // keep track of added pointers\n // pointerdown/mousedown/touchstart event\n // previous action event\n get: function get() {\n return 1;\n }\n /**\n * @alias Interaction.prototype.move\n */\n\n /** */\n\n }]);\n\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n scopeFire = _ref.scopeFire;\n\n _classCallCheck(this, Interaction);\n\n _defineProperty(this, \"interactable\", null);\n\n _defineProperty(this, \"element\", null);\n\n _defineProperty(this, \"rect\", void 0);\n\n _defineProperty(this, \"edges\", void 0);\n\n _defineProperty(this, \"_scopeFire\", void 0);\n\n _defineProperty(this, \"prepared\", {\n name: null,\n axis: null,\n edges: null\n });\n\n _defineProperty(this, \"pointerType\", void 0);\n\n _defineProperty(this, \"pointers\", []);\n\n _defineProperty(this, \"downEvent\", null);\n\n _defineProperty(this, \"downPointer\", {});\n\n _defineProperty(this, \"_latestPointer\", {\n pointer: null,\n event: null,\n eventTarget: null\n });\n\n _defineProperty(this, \"prevEvent\", null);\n\n _defineProperty(this, \"pointerIsDown\", false);\n\n _defineProperty(this, \"pointerWasMoved\", false);\n\n _defineProperty(this, \"_interacting\", false);\n\n _defineProperty(this, \"_ending\", false);\n\n _defineProperty(this, \"_stopped\", true);\n\n _defineProperty(this, \"_proxy\", null);\n\n _defineProperty(this, \"simulation\", null);\n\n _defineProperty(this, \"doMove\", utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()'));\n\n _defineProperty(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\n this._scopeFire = scopeFire;\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._scopeFire('interactions: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._scopeFire('interactions:down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n type: 'down',\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 type: 'move',\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._scopeFire('interactions:move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n signalArg.type = null;\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 var type = /cancel$/i.test(event.type) ? 'cancel' : 'up';\n\n this._scopeFire(\"interactions:\".concat(type), {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n type: type,\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._scopeFire('interactions:blur', {\n event: event,\n type: 'blur',\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._scopeFire('interactions: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._scopeFire('interactions: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._scopeFire('interactions:remove-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: null,\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._scopeFire(\"interactions: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._scopeFire(\"interactions:action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._scopeFire(\"interactions: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\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$domObjects_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_49, \"__esModule\", {\n value: true\n});\n_$domObjects_49[\"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_49[\"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 _$arr_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_46, \"__esModule\", {\n value: true\n});\n_$arr_46.contains = contains;\n_$arr_46.remove = remove;\n_$arr_46.merge = merge;\n_$arr_46.from = from;\n_$arr_46.findIndex = findIndex;\n_$arr_46.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 _$isWindow_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_57, \"__esModule\", {\n value: true\n});\n_$isWindow_57[\"default\"] = void 0;\n\nvar ___default_57 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_57[\"default\"] = ___default_57;\n\nvar _$window_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_65, \"__esModule\", {\n value: true\n});\n_$window_65.init = __init_65;\n_$window_65.getWindow = getWindow;\n_$window_65[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_57);\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_65\n};\n\nfunction __init_65(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_65(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_65;\nvar ___default_65 = win;\n_$window_65[\"default\"] = ___default_65;\n\nvar _$is_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_56, \"__esModule\", {\n value: true\n});\n_$is_56.array = _$is_56.plainObject = _$is_56.element = _$is_56.string = _$is_56.bool = _$is_56.number = _$is_56.func = _$is_56.object = _$is_56.docFrag = _$is_56.window = void 0;\n\nvar ___isWindow_56 = ___interopRequireDefault_56(_$isWindow_57);\n\nvar _window2 = ___interopRequireDefault_56(_$window_65);\n\nfunction ___interopRequireDefault_56(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_56 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_56[\"default\"])(thing);\n};\n\n_$is_56.window = __window_56;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_56.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_56.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_56.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_56.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_56.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_56.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_56.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_56.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_56.array = array;\n\nvar _$browser_47 = {};\n\"use strict\";\n\nfunction ___typeof_47(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_47 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_47 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_47(obj); }\n\nObject.defineProperty(_$browser_47, \"__esModule\", {\n value: true\n});\n_$browser_47[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_47(_$domObjects_49);\n\nvar is = _interopRequireWildcard(_$is_56);\n\nvar _window = ___interopRequireDefault_47(_$window_65);\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; } if (obj === null || ___typeof_47(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_47(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_47,\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_47(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_47 = browser;\n_$browser_47[\"default\"] = ___default_47;\n\nvar _$domUtils_50 = {};\n\"use strict\";\n\nfunction ___typeof_50(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_50 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_50 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_50(obj); }\n\nObject.defineProperty(_$domUtils_50, \"__esModule\", {\n value: true\n});\n_$domUtils_50.nodeContains = nodeContains;\n_$domUtils_50.closest = closest;\n_$domUtils_50.parentNode = parentNode;\n_$domUtils_50.matchesSelector = matchesSelector;\n_$domUtils_50.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_50.matchesUpTo = matchesUpTo;\n_$domUtils_50.getActualElement = getActualElement;\n_$domUtils_50.getScrollXY = getScrollXY;\n_$domUtils_50.getElementClientRect = getElementClientRect;\n_$domUtils_50.getElementRect = getElementRect;\n_$domUtils_50.getPath = getPath;\n_$domUtils_50.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_50(_$browser_47);\n\nvar ___domObjects_50 = ___interopRequireDefault_50(_$domObjects_49);\n\nvar __is_50 = ___interopRequireWildcard_50(_$is_56);\n\nvar ___window_50 = ___interopRequireWildcard_50(_$window_65);\n\nfunction ___getRequireWildcardCache_50() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_50 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_50(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_50(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_50(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_50(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_50.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_50.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_50.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_50[\"default\"].window !== ___window_50[\"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_50.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_50.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_50[\"default\"].HTMLElement && dropzone instanceof ___domObjects_50[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_50[\"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_50.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_50[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_50[\"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_50[\"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_50[\"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_50.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_50[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$hypot_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_54, \"__esModule\", {\n value: true\n});\n_$hypot_54[\"default\"] = void 0;\n\nvar ___default_54 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_54[\"default\"] = ___default_54;\n\nvar _$pointerExtend_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_59, \"__esModule\", {\n value: true\n});\n_$pointerExtend_59[\"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_59 = pointerExtend;\n_$pointerExtend_59[\"default\"] = ___default_59;\n\nvar _$pointerUtils_60 = {};\n\"use strict\";\n\nfunction ___typeof_60(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_60 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_60 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_60(obj); }\n\nObject.defineProperty(_$pointerUtils_60, \"__esModule\", {\n value: true\n});\n_$pointerUtils_60.copyCoords = copyCoords;\n_$pointerUtils_60.setCoordDeltas = setCoordDeltas;\n_$pointerUtils_60.setCoordVelocity = setCoordVelocity;\n_$pointerUtils_60.setZeroCoords = setZeroCoords;\n_$pointerUtils_60.isNativePointer = isNativePointer;\n_$pointerUtils_60.getXY = getXY;\n_$pointerUtils_60.getPageXY = getPageXY;\n_$pointerUtils_60.getClientXY = getClientXY;\n_$pointerUtils_60.getPointerId = getPointerId;\n_$pointerUtils_60.setCoords = setCoords;\n_$pointerUtils_60.getTouchPair = getTouchPair;\n_$pointerUtils_60.pointerAverage = pointerAverage;\n_$pointerUtils_60.touchBBox = touchBBox;\n_$pointerUtils_60.touchDistance = touchDistance;\n_$pointerUtils_60.touchAngle = touchAngle;\n_$pointerUtils_60.getPointerType = getPointerType;\n_$pointerUtils_60.getEventTargets = getEventTargets;\n_$pointerUtils_60.newCoords = newCoords;\n_$pointerUtils_60.coordsToEvent = coordsToEvent;\nObject.defineProperty(_$pointerUtils_60, \"pointerExtend\", {\n enumerable: true,\n get: function get() {\n return _pointerExtend[\"default\"];\n }\n});\n\nvar ___browser_60 = ___interopRequireDefault_60(_$browser_47);\n\nvar ___domObjects_60 = ___interopRequireDefault_60(_$domObjects_49);\n\nvar domUtils = ___interopRequireWildcard_60(_$domUtils_50);\n\nvar _hypot = ___interopRequireDefault_60(_$hypot_54);\n\nvar __is_60 = ___interopRequireWildcard_60(_$is_56);\n\nvar _pointerExtend = ___interopRequireDefault_60(_$pointerExtend_59);\n\nfunction ___getRequireWildcardCache_60() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_60 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_60(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_60(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_60(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_60(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction 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\nfunction 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\nfunction 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\nfunction setZeroCoords(targetObj) {\n targetObj.page.x = 0;\n targetObj.page.y = 0;\n targetObj.client.x = 0;\n targetObj.client.y = 0;\n}\n\nfunction isNativePointer(pointer) {\n return pointer instanceof ___domObjects_60[\"default\"].Event || pointer instanceof ___domObjects_60[\"default\"].Touch;\n} // Get specified X/Y coords for mouse or event.touches[0]\n\n\nfunction 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\nfunction 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_60[\"default\"].isOperaMobile && isNativePointer(pointer)) {\n getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n getXY('page', pointer, page);\n }\n\n return page;\n}\n\nfunction getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_60[\"default\"].isOperaMobile && isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n getXY('screen', pointer, client);\n } else {\n getXY('client', pointer, client);\n }\n\n return client;\n}\n\nfunction getPointerId(pointer) {\n return __is_60.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n}\n\nfunction setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n}\n\nfunction getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_60.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\nfunction 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\nfunction touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = 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\nfunction touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = 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\nfunction touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = 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\nfunction getPointerType(pointer) {\n return __is_60.string(pointer.pointerType) ? pointer.pointerType : __is_60.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_60[\"default\"].Touch ? 'touch' : 'mouse';\n} // [ event.target, event.currentTarget ]\n\n\nfunction getEventTargets(event) {\n var path = __is_60.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n}\n\nfunction 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\nfunction 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 _$extend_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_52, \"__esModule\", {\n value: true\n});\n_$extend_52[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n var ret = dest;\n return ret;\n}\n\nvar _$rect_62 = {};\n\"use strict\";\n\nfunction ___typeof_62(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_62 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_62 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_62(obj); }\n\nObject.defineProperty(_$rect_62, \"__esModule\", {\n value: true\n});\n_$rect_62.getStringOptionResult = getStringOptionResult;\n_$rect_62.resolveRectLike = resolveRectLike;\n_$rect_62.rectToXY = rectToXY;\n_$rect_62.xywhToTlbr = xywhToTlbr;\n_$rect_62.tlbrToXywh = tlbrToXywh;\n\n/* removed: var _$domUtils_50 = require(\"./domUtils.js\"); */;\n\nvar _extend = ___interopRequireDefault_62(_$extend_52);\n\nvar __is_62 = ___interopRequireWildcard_62(_$is_56);\n\nfunction ___getRequireWildcardCache_62() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_62 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_62(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_62(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_62(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_62(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_50.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_50.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_62.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_62.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_62.element(value)) {\n value = (0, _$domUtils_50.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 _$clone_48 = {};\n\"use strict\";\n\nfunction ___typeof_48(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_48 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_48 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_48(obj); }\n\nObject.defineProperty(_$clone_48, \"__esModule\", {\n value: true\n});\n_$clone_48[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_48(_$arr_46);\n\nvar __is_48 = ___interopRequireWildcard_48(_$is_56);\n\nfunction ___getRequireWildcardCache_48() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_48 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_48(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_48(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_48(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_48.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_48.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$events_51 = {};\n\"use strict\";\n\nfunction ___typeof_51(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_51 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_51 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_51(obj); }\n\nObject.defineProperty(_$events_51, \"__esModule\", {\n value: true\n});\n_$events_51[\"default\"] = _$events_51.FakeEvent = void 0;\n\n/* removed: var _$arr_46 = require(\"./arr.js\"); */;\n\nvar __domUtils_51 = ___interopRequireWildcard_51(_$domUtils_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_56);\n\nvar ___pointerExtend_51 = ___interopRequireDefault_51(_$pointerExtend_59);\n\nvar pointerUtils = ___interopRequireWildcard_51(_$pointerUtils_60);\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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; } if (obj === null || ___typeof_51(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction _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}\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_46.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_51(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_51(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_51(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_51(context, type, delegateListener);\n __remove_51(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.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_51.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_51.matchesSelector(element, selector) && __domUtils_51.nodeContains(context, eventTarget) && __domUtils_51.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_51.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_51.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;\n\n _defineProperty(this, \"currentTarget\", void 0); // duplicate the event so that currentTarget can be changed\n\n\n (0, ___pointerExtend_51[\"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_51.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_51,\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_51 = events;\n_$events_51[\"default\"] = ___default_51;\n\nvar _$getOriginXY_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_53, \"__esModule\", {\n value: true\n});\n_$getOriginXY_53[\"default\"] = ___default_53;\n\n/* removed: var _$rect_62 = require(\"./rect.js\"); */;\n\nfunction ___default_53(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_62.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_62.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_58 = {};\n\"use strict\";\n\nfunction ___typeof_58(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_58 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_58 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_58(obj); }\n\nObject.defineProperty(_$normalizeListeners_58, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_58[\"default\"] = normalize;\n\nvar ___extend_58 = ___interopRequireDefault_58(_$extend_52);\n\nvar __is_58 = ___interopRequireWildcard_58(_$is_56);\n\nfunction ___getRequireWildcardCache_58() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_58 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_58(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_58(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_58(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_58(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_58.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_58.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_58[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_58.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_58.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_58.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_58.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_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_61, \"__esModule\", {\n value: true\n});\n_$raf_61[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_61(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_61 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_61\n};\n_$raf_61[\"default\"] = ___default_61;\n\nvar _$utils_55 = {};\n\"use strict\";\n\nfunction ___typeof_55(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_55 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_55 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_55(obj); }\n\nObject.defineProperty(_$utils_55, \"__esModule\", {\n value: true\n});\n_$utils_55.warnOnce = warnOnce;\n_$utils_55._getQBezierValue = _getQBezierValue;\n_$utils_55.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_55.easeOutQuad = easeOutQuad;\n_$utils_55.copyAction = copyAction;\nObject.defineProperty(_$utils_55, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\n_$utils_55.rect = _$utils_55.pointer = _$utils_55.is = _$utils_55.dom = _$utils_55.arr = void 0;\n\nvar __arr_55 = ___interopRequireWildcard_55(_$arr_46);\n\n_$utils_55.arr = __arr_55;\n\nvar dom = ___interopRequireWildcard_55(_$domUtils_50);\n\n_$utils_55.dom = dom;\n\nvar __is_55 = ___interopRequireWildcard_55(_$is_56);\n\n_$utils_55.is = __is_55;\n\nvar pointer = ___interopRequireWildcard_55(_$pointerUtils_60);\n\n_$utils_55.pointer = pointer;\n\nvar rect = ___interopRequireWildcard_55(_$rect_62);\n\n_$utils_55.rect = rect;\n\nvar ___window_55 = ___interopRequireDefault_55(_$window_65);\n\nvar ___browser_55 = ___interopRequireDefault_55(_$browser_47);\n\nvar _clone = ___interopRequireDefault_55(_$clone_48);\n\nvar _events = ___interopRequireDefault_55(_$events_51);\n\nvar ___extend_55 = ___interopRequireDefault_55(_$extend_52);\n\nvar _getOriginXY = ___interopRequireDefault_55(_$getOriginXY_53);\n\nvar ___hypot_55 = ___interopRequireDefault_55(_$hypot_54);\n\nvar _normalizeListeners = ___interopRequireDefault_55(_$normalizeListeners_58);\n\nvar _raf = ___interopRequireDefault_55(_$raf_61);\n\nfunction ___interopRequireDefault_55(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_55() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_55 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_55(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_55(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_55(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_55[\"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\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n// export interface Options extends BaseDefaults, PerActionDefaults {}\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\nfunction ___typeof_14(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_14 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_14 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_14(obj); }\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_46);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_52);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_58);\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; } if (obj === null || ___typeof_14(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 ___defineProperty_14(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}\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 ___defineProperty_14(this, \"options\", void 0);\n\n ___defineProperty_14(this, \"types\", {});\n\n ___defineProperty_14(this, \"propagationStopped\", false);\n\n ___defineProperty_14(this, \"immediatePropagationStopped\", false);\n\n ___defineProperty_14(this, \"global\", void 0);\n\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\nfunction ___typeof_16(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_16 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_16 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_16(obj); }\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_46);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_47);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_48);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_51);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_52);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_56);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_58);\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_16(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___defineProperty_16(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}\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n ___createClass_16(Interactable, [{\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n /** */\n\n }]);\n\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n ___defineProperty_16(this, \"options\", void 0);\n\n ___defineProperty_16(this, \"_actions\", void 0);\n\n ___defineProperty_16(this, \"target\", void 0);\n\n ___defineProperty_16(this, \"events\", new _Eventable[\"default\"]());\n\n ___defineProperty_16(this, \"_context\", void 0);\n\n ___defineProperty_16(this, \"_win\", void 0);\n\n ___defineProperty_16(this, \"_doc\", void 0);\n\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_65.getWindow)((0, _$domUtils_50.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_50.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_50.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_50.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_50.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_50.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_50.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_50.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\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\nfunction ___typeof_17(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_17 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_17 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_17(obj); }\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_46);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_50);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_52);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_56);\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; } if (obj === null || ___typeof_17(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___defineProperty_17(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}\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n // all set interactables\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n\n ___defineProperty_17(this, \"list\", []);\n\n ___defineProperty_17(this, \"selectorMap\", {});\n\n scope.addListeners({\n 'interactable:unset': function interactableUnset(_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\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.scope.fire('interactable: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\nfunction ___defineProperty_13(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}\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 ___createClass_13(BaseEvent, [{\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n ___defineProperty_13(this, \"type\", void 0);\n\n ___defineProperty_13(this, \"target\", void 0);\n\n ___defineProperty_13(this, \"currentTarget\", void 0);\n\n ___defineProperty_13(this, \"interactable\", void 0);\n\n ___defineProperty_13(this, \"_interaction\", void 0);\n\n ___defineProperty_13(this, \"timeStamp\", void 0);\n\n ___defineProperty_13(this, \"immediatePropagationStopped\", false);\n\n ___defineProperty_13(this, \"propagationStopped\", false);\n\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\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_52);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_53);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_54);\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\nfunction ___defineProperty_15(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}\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 // drag\n // resize\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\n ___defineProperty_15(_assertThisInitialized(_this), \"target\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"currentTarget\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"relatedTarget\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"screenX\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"screenY\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"button\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"buttons\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"ctrlKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"shiftKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"altKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"metaKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"page\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"client\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"delta\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"rect\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"x0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"y0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"t0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dt\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"duration\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"clientX0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"clientY0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"velocity\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"speed\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"swipe\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"timeStamp\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dragEnter\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dragLeave\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"axes\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"preEnd\", void 0);\n\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\nfunction ___typeof_22(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_22 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_22 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_22(obj); }\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_50);\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; } if (obj === null || ___typeof_22(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___typeof_1(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_1 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_1(obj); }\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_46);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_56);\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; } if (obj === null || ___typeof_1(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.addListeners({\n 'interactions:before-action-move': beforeMove,\n 'interactions:action-resume': beforeMove,\n // dragmove\n 'interactions:action-move': move\n });\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_46);\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; } if (obj === null || ___typeof_2(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\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 ___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\nfunction ___defineProperty_2(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}\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\n ___defineProperty_2(___assertThisInitialized_2(_this), \"target\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"dropzone\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"dragEvent\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"relatedTarget\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"draggable\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"timeStamp\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"propagationStopped\", false);\n\n ___defineProperty_2(___assertThisInitialized_2(_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\nfunction ___typeof_3(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_3 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_3(obj); }\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_55);\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; } if (obj === null || ___typeof_3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\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(_ref, draggableElement) {\n var interactables = _ref.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 _ref2;\n\n _ref2 = interactables.list[_i];\n var dropzone = _ref2;\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 _ref3;\n\n _ref3 = dropElements[_i2];\n var dropzoneElement = _ref3;\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 _ref4;\n\n _ref4 = activeDrops[_i3];\n var _ref5 = _ref4,\n dropzone = _ref5.dropzone,\n element = _ref5.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 _ref6;\n\n _ref6 = activeDrops[_i4];\n var activeDrop = _ref6;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref7, dragEvent, pointerEvent) {\n var dropState = _ref7.dropState,\n draggable = _ref7.interactable,\n dragElement = _ref7.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 _ref8;\n\n _ref8 = dropState.activeDrops[_i5];\n var _ref9 = _ref8,\n dropzone = _ref9.dropzone,\n dropzoneElement = _ref9.element,\n rect = _ref9.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(_ref10, scope) {\n var interaction = _ref10.interaction,\n iEvent = _ref10.iEvent,\n event = _ref10.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 listeners: {\n 'interactions:before-action-start': function interactionsBeforeActionStart(_ref11) {\n var interaction = _ref11.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:after-action-start': function interactionsAfterActionStart(_ref12, scope) {\n var interaction = _ref12.interaction,\n event = _ref12.event,\n dragEvent = _ref12.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 },\n // FIXME proper signal types\n 'interactions:action-move': onEventCreated,\n 'interactions:action-end': onEventCreated,\n 'interactions:after-action-move': function fireDropAfterMove(_ref13) {\n var interaction = _ref13.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:after-action-end': function interactionsAfterActionEnd(_ref14) {\n var interaction = _ref14.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n },\n 'interactions:stop': function interactionsStop(_ref15) {\n var interaction = _ref15.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 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\nfunction ___typeof_4(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_4 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_4(obj); }\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_55);\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; } if (obj === null || ___typeof_4(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 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 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 listeners: {\n 'interactions:action-start': updateGestureProps,\n 'interactions:action-move': updateGestureProps,\n 'interactions:action-end': updateGestureProps,\n 'interactions:new': function interactionsNew(_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 },\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\nfunction ___typeof_6(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_6 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_6(obj); }\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_46);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_50);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_52);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_56);\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; } if (obj === null || ___typeof_6(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults; // Less Precision with touch input\n\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 listeners: {\n 'interactions:new': function interactionsNew(_ref) {\n var interaction = _ref.interaction;\n interaction.resizeAxes = 'xy';\n },\n 'interactions:action-start': function interactionsActionStart(arg) {\n start(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-move': function interactionsActionMove(arg) {\n __move_6(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-end': end\n },\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(_ref2) {\n var edges = _ref2.edges,\n axis = _ref2.axis,\n name = _ref2.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(_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 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(_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 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(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.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(_ref6) {\n var iEvent = _ref6.iEvent,\n interaction = _ref6.interaction;\n\n if (interaction.prepared.name !== ___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 _index[\"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 _index = ___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(_index[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nfunction ___typeof_7(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_7 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_7 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_7(obj); }\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_50);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_56);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_61);\n\n/* removed: var _$rect_62 = require(\"../utils/rect.js\"); */;\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_7(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\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 // the handle returned by window.setInterval\n x: 0,\n y: 0,\n // Direction each pulse is to scroll in\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(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.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_62.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_65.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(_ref2, func) {\n var interaction = _ref2.interaction,\n element = _ref2.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 listeners: {\n 'interactions:new': function interactionsNew(_ref3) {\n var interaction = _ref3.interaction;\n interaction.autoScroll = null;\n },\n 'interactions:destroy': function interactionsDestroy(_ref4) {\n var interaction = _ref4.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n },\n 'interactions:stop': autoScroll.stop,\n 'interactions:action-move': function interactionsActionMove(arg) {\n return autoScroll.onInteractionMove(arg);\n }\n }\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nfunction ___typeof_8(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_8 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_8 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_8(obj); }\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_55 = require(\"../utils/index.js\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_56);\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; } if (obj === null || ___typeof_8(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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// TODO: there seems to be a @babel/preset-typescript bug causing regular import\n// syntax to remain in js output\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_55.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_55.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\nfunction ___typeof_9(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_9 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_9 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_9(obj); }\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_55);\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; } if (obj === null || ___typeof_9(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]);\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 };\n}\n\nfunction prepareOnDown(_ref, scope) {\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}\n\nfunction prepareOnMove(_ref2, scope) {\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\nfunction startOnMove(arg, scope) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.fire('autoStart: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\nfunction clearCursorOnStop(_ref3, scope) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\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.fire('autoStart: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 listeners: {\n 'interactions:down': prepareOnDown,\n 'interactions:move': function interactionsMove(arg, scope) {\n prepareOnMove(arg, scope);\n startOnMove(arg, scope);\n },\n 'interactions:stop': clearCursorOnStop\n },\n before: 'ations',\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nfunction ___typeof_10(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_10 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_10 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_10(obj); }\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_50 = require(\"../utils/domUtils.js\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_56);\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; } if (obj === null || ___typeof_10(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 beforeStart(_ref, scope) {\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_50.parentNode)(element);\n }\n }\n}\n\nfunction 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\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n listeners: {\n 'autoStart:before-start': beforeStart\n }\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 defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\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 listeners: {\n 'interactions:new': function interactionsNew(_ref) {\n var interaction = _ref.interaction;\n interaction.autoStartHoldTimer = null;\n },\n 'autoStart:prepared': function autoStartPrepared(_ref2) {\n var interaction = _ref2.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:move': function interactionsMove(_ref3) {\n var interaction = _ref3.interaction,\n duplicate = _ref3.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n },\n // prevent regular down->move autoStart\n 'autoStart:before-start': function autoStartBeforeStart(_ref4) {\n var interaction = _ref4.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n }\n },\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\nfunction ___typeof_21(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_21 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_21 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_21(obj); }\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_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_51);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_56);\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_21(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_65.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_50.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 }; // 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 _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_50.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 listeners: ['down', 'move', 'up', 'cancel'].reduce(function (acc, eventType) {\n acc[\"interactions:\".concat(eventType)] = onInteractionEvent;\n return acc;\n }, {})\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nfunction ___typeof_25(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_25 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_25 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_25(obj); }\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_49);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_52);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_56);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_65);\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; } if (obj === null || ___typeof_25(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 = undefined === '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 Interactable = scope.Interactable,\n defaults = scope.defaults;\n scope.logger = logger || console;\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(_ref2) {\n var element = _ref2.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref3) {\n var element = _ref3.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(_ref4) {\n var element = _ref4.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_50.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 listeners: {\n 'interactions:action-start': function interactionsActionStart(_ref5, scope) {\n var interaction = _ref5.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref6;\n\n _ref6 = checks[_i];\n var check = _ref6;\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 _scope$logger;\n\n (_scope$logger = scope.logger).warn.apply(_scope$logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n }\n },\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_30;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_52);\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 __start_30(_ref, pageCoords, prevCoords) {\n var interaction = _ref.interaction,\n phase = _ref.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 _ref2;\n\n _ref2 = states[_i];\n var state = _ref2;\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 _ref3;\n\n _ref3 = states[_i2];\n var state = _ref3;\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_30(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 _ref4;\n\n _ref4 = states[_i3];\n var state = _ref4;\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 _ref5;\n\n _ref5 = states[_i4];\n var state = _ref5;\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 = null;\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_30(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(_ref6) {\n var _ref6$interaction = _ref6.interaction,\n coords = _ref6$interaction.coords,\n rect = _ref6$interaction.rect,\n modifiers = _ref6$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: function install(scope) {\n scope.defaults.perAction.modifiers = [];\n },\n listeners: {\n 'interactions:new': function interactionsNew(_ref7) {\n var interaction = _ref7.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:before-action-start': function interactionsBeforeActionStart(arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n __setCoords_30(arg);\n },\n 'interactions:action-resume': function interactionsActionResume(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:after-action-move': restoreCoords,\n 'interactions:before-action-move': __beforeMove_30,\n 'interactions:after-action-start': restoreCoords,\n 'interactions:before-action-end': beforeEnd,\n 'interactions:stop': stop\n },\n before: 'ations',\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\nfunction ___typeof_26(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_26 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_26 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_26(obj); }\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"../core/InteractEvent.js\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_55);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_61);\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; } if (obj === null || ___typeof_26(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(___base_26[\"default\"]);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n // the lambda in exponential decay\n minSpeed: 100,\n // target speed must be above this for inertia to start\n endSpeed: 10,\n // the speed at which inertia is slow enough to stop\n allowResume: true,\n // allow resuming an action in inertia phase\n smoothEndDuration: 300 // animate to snap/restrict endOnly if there's no inertia\n\n };\n}\n\nfunction resume(_ref, scope) {\n var interaction = _ref.interaction,\n event = _ref.event,\n pointer = _ref.pointer,\n eventTarget = _ref.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.fire('interactions: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(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n noPreEnd = _ref2.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 interactable: interaction.interactable,\n element: interaction.element,\n rect: interaction.rect,\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(_ref3) {\n var interaction = _ref3.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(_ref4) {\n var interactable = _ref4.interactable,\n prepared = _ref4.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 listeners: {\n 'interactions:new': function interactionsNew(_ref5) {\n var interaction = _ref5.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n },\n 'interactions:before-action-end': release,\n 'interactions:down': resume,\n 'interactions:stop': __stop_26\n },\n before: 'modifiers/base',\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\nfunction ___typeof_33(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_33 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_33 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_33(obj); }\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33.getRestrictionRect = getRestrictionRect;\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_52);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_56);\n\nvar rectUtils = ___interopRequireWildcard_33(_$rect_62);\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; } if (obj === null || ___typeof_33(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 = rectUtils.xywhToTlbr(restriction);\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 rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return rectUtils.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 defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nfunction ___typeof_32(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_32 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_32 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_32(obj); }\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_52);\n\nvar __rectUtils_32 = ___interopRequireWildcard_32(_$rect_62);\n\n/* removed: var _$pointer_33 = require(\"./pointer.js\"); */;\n\nfunction ___getRequireWildcardCache_32() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_32 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_32(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_32(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_32(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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 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 = (0, _$pointer_33.getRestrictionRect)(options.offset, interaction, interaction.coords.start.page);\n offset = __rectUtils_32.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 = (0, _$pointer_33.getRestrictionRect)(options.inner, interaction, page) || {};\n var outer = (0, _$pointer_33.getRestrictionRect)(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 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_52);\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\nfunction ___typeof_35(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_35 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_35 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_35(obj); }\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_52);\n\nvar __rectUtils_35 = ___interopRequireWildcard_35(_$rect_62);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\n/* removed: var _$pointer_33 = require(\"./pointer.js\"); */;\n\nfunction ___getRequireWildcardCache_35() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_35 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_35(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_35(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_35(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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 = __rectUtils_35.xywhToTlbr(interaction.resizeRects.inverted);\n var minSize = __rectUtils_35.tlbrToXywh((0, _$pointer_33.getRestrictionRect)(options.min, interaction, arg.coords)) || noMin;\n var maxSize = __rectUtils_35.tlbrToXywh((0, _$pointer_33.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\nfunction ___typeof_37(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_37 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_37 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_37(obj); }\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_55);\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; } if (obj === null || ___typeof_37(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___typeof_38(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_38 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_38 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_38(obj); }\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_52);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_56);\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; } if (obj === null || ___typeof_38(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_48);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_52);\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 = ___interopRequireWildcard_39(_$pointerUtils_60);\n\nfunction ___getRequireWildcardCache_39() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_39 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_39(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_39(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_39(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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\nfunction ___defineProperty_39(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}\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 ___defineProperty_39(___assertThisInitialized_39(_this), \"type\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"originalEvent\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pointerId\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pointerType\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"double\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pageX\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pageY\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"clientX\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"clientY\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"dt\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"eventable\", void 0);\n\n __pointerUtils_39.pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n __pointerUtils_39.pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = __pointerUtils_39.getPointerId(pointer);\n _this.pointerType = __pointerUtils_39.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\nfunction ___typeof_40(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_40 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_40 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_40(obj); }\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_55);\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; } if (obj === null || ___typeof_40(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 __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 listeners: {\n 'interactions:new': addInteractionProps,\n 'interactions:update-pointer': addHoldInfo,\n 'interactions:move': moveAndClearHold,\n 'interactions:down': function interactionsDown(arg, scope) {\n downAndStartHold(arg, scope);\n fire(arg, scope);\n },\n 'interactions:up': function interactionsUp(arg, scope) {\n clearHold(arg);\n fire(arg, scope);\n tapAfterUp(arg, scope);\n },\n 'interactions:cancel': function interactionsCancel(arg, scope) {\n clearHold(arg);\n fire(arg, scope);\n }\n },\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\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 type = arg.type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg, scope) : _arg$targets;\n var pointerEvent = new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now());\n scope.fire('pointerEvents:new', {\n pointerEvent: pointerEvent\n });\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 scope.fire('pointerEvents: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, scope) {\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 scope.fire('pointerEvents: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 addInteractionProps(_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\nfunction addHoldInfo(_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\nfunction clearHold(_ref5) {\n var interaction = _ref5.interaction,\n pointerIndex = _ref5.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n}\n\nfunction moveAndClearHold(_ref6, scope) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n duplicate = _ref6.duplicate;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicate && (!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\nfunction downAndStartHold(_ref7, scope) {\n var interaction = _ref7.interaction,\n pointer = _ref7.pointer,\n event = _ref7.event,\n eventTarget = _ref7.eventTarget,\n pointerIndex = _ref7.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 _ref8;\n\n _ref8 = path[_i2];\n var node = _ref8;\n signalArg.node = node;\n scope.fire('pointerEvents: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 _ref9;\n\n _ref9 = signalArg.targets[_i3];\n var target = _ref9;\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\nfunction tapAfterUp(_ref10, scope) {\n var interaction = _ref10.interaction,\n pointer = _ref10.pointer,\n event = _ref10.event,\n eventTarget = _ref10.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\nfunction __install_40(scope) {\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\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 scope.usePlugin(___base_41[\"default\"]);\n var pointerEvents = scope.pointerEvents; // don't repeat by default\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 listeners: ['move', 'up', 'cancel', 'endall'].reduce(function (acc, enderTypes) {\n acc[\"pointerEvents:\".concat(enderTypes)] = endHoldRepeat;\n return acc;\n }, {\n 'pointerEvents:new': onNew,\n 'pointerEvents:fired': onFired\n })\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_46 = require(\"../utils/arr.js\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_52);\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 (0, _$arr_46.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 plugin = {\n id: 'pointer-events/interactableTargets',\n install: __install_43,\n listeners: {\n 'pointerEvents:collect-targets': function pointerEventsCollectTargets(_ref, scope) {\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 'interactable:new': function interactableNew(_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n },\n 'interactable:set': function interactableSet(_ref3, scope) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, scope.pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n }\n }\n};\nvar ___default_43 = plugin;\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nfunction ___typeof_42(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_42 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_42 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_42(obj); }\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\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.pointerEvents = _$pointerEvents_42.id = void 0;\n\nvar __pointerEvents_42 = ___interopRequireWildcard_42(_$base_40);\n\n_$pointerEvents_42.pointerEvents = __pointerEvents_42;\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 ___getRequireWildcardCache_42() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_42 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_42(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_42(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_42(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_42(scope) {\n scope.usePlugin(__pointerEvents_42);\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(\"../core/InteractEvent.js\"); */;\n\n/* removed: var _$utils_55 = require(\"../utils/index.js\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\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 }\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 } A promise that resolves to the `Interactable` when actions on all targets have ended\n */\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_55.is.string(interactable.target) ? _$utils_55.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_55.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref2 = elements[_i2];\n var element = _ref2;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_55.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_55.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_55.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 _ref2;\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_55.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_55.win.window.Promise ? new _$utils_55.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 listeners: {\n // remove completed reflow interactions\n 'interactions:stop': function interactionsStop(_ref3, scope) {\n var interaction = _ref3.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_55.arr.remove(scope.interactions.list, interaction);\n }\n }\n }\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nfunction ___typeof_28(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_28 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_28 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_28(obj); }\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 ___browser_28 = ___interopRequireDefault_28(_$browser_47);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_51);\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_55);\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; } if (obj === null || ___typeof_28(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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\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.addListeners({\n 'interactable:unset': function interactableUnset(_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});\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\nfunction ___typeof_27(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_27 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_27 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_27(obj); }\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 _index2[\"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 _index5[\"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 _index8[\"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 _index2 = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _index4 = ___interopRequireDefault_27(_$devTools_25);\n\nvar _index5 = ___interopRequireDefault_27(_$inertia_26);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _index8 = ___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; } if (obj === null || ___typeof_27(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(_index5[\"default\"]); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // 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(_index2[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_index8[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (undefined !== 'production') {\n _interact[\"default\"].use(_index4[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.7.2\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_63, \"__esModule\", {\n value: true\n});\n_$grid_63[\"default\"] = void 0;\n\nfunction ___slicedToArray_63(arr, i) { return ___arrayWithHoles_63(arr) || ___iterableToArrayLimit_63(arr, i) || ___nonIterableRest_63(); }\n\nfunction ___nonIterableRest_63() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_63(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_63(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_63(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n\n var gridFunc = function snapGrid(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_63(_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 gridFunc._isSnapGrid = true;\n gridFunc.grid = grid;\n gridFunc.coordFields = coordFields;\n return gridFunc;\n}\n\nvar ___default_63 = createGrid;\n_$grid_63[\"default\"] = ___default_63;\n\nvar _$snappers_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_64, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_64, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_64(_$grid_63);\n\nfunction ___interopRequireDefault_64(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$interactjs_29 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactjs_29, \"__esModule\", {\n value: true\n});\n_$interactjs_29.init = __init_29;\n_$interactjs_29[\"default\"] = void 0;\n\nvar ___index_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_52);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_64);\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; } if (obj === null || ___typeof_29(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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, ___index_29.init)(win);\n return ___index_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___index_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___index_29[\"default\"].snappers = snappers;\n ___index_29[\"default\"].createSnapGrid = ___index_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___index_29[\"default\"];\n_$interactjs_29[\"default\"] = ___default_29;\n\nvar _$index_66 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_66.exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\n_$index_66.exports[\"default\"] = void 0;\n\nvar ___index_66 = ___interopRequireWildcard_66(_$interactjs_29);\n\nObject.keys(___index_66).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(_$index_66.exports, key, {\n enumerable: true,\n get: function get() {\n return ___index_66[key];\n }\n });\n});\n\nfunction ___getRequireWildcardCache_66() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_66 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_66(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_66(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_66(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_66(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_66 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_66 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_66(obj); }\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_66(_$index_66)) === 'object' && !!_$index_66) {\n _$index_66.exports = ___index_66[\"default\"];\n}\n\n___index_66[\"default\"][\"default\"] = ___index_66[\"default\"] // tslint:disable-line no-string-literal\n;\n___index_66[\"default\"].init = ___index_66.init; // tslint:disable-line no-string-literal\n\nvar ___default_66 = ___index_66[\"default\"];\n_$index_66.exports[\"default\"] = ___default_66;\n\n_$index_66 = _$index_66.exports\nreturn _$index_66;\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 42edba1a..9ee96012 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",v="keys",h="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 E)return E[e];switch(e){case v:return function(){return new n(this,e)};case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==h,M=!1,E=e.prototype,k=E[f]||E[p]||m&&E[m],T=k||_(m),z=m?S?_("entries"):T:void 0,D="Array"==t&&E.entries||k;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&&k&&k.name!==h&&(M=!0,T=function(){return k.call(this)}),r&&!w||!d&&!M&&E[f]||a(E,f,T),s[t]=T,s[j]=g,m)if(x={values:S?T:_(h),keys:b?T:_(v),entries:z},w)for(O in x)O in E||o(E,O,x[O]);else i(i.P+i.F*(d||M),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)})),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=c?e?"":void 0:(i=u.charCodeAt(s),i<55296||i>56319||s+1===c||(a=u.charCodeAt(s+1))<56320||a>57343?e?u.charAt(s):i:e?u.slice(s,s+2):a-56320+(i-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"),o=n("e11e");e.exports=Object.keys||function(e){return r(e,o)}},1156:function(e,t,n){var r=n("ad20");"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var o=n("499e").default;o("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(e,t,n){var r=n("52a7"),o=n("4630"),i=n("6821"),a=n("6a99"),u=n("69a8"),s=n("c69a"),c=Object.getOwnPropertyDescriptor;t.f=n("9e1e")?c:function(e,t){if(e=i(e),t=a(t,!0),s)try{return c(e,t)}catch(n){}if(u(e,t))return o(!r.f.call(e,t),e[t])}},1495:function(e,t,n){var r=n("86cc"),o=n("cb7c"),i=n("0d58");e.exports=n("9e1e")?Object.defineProperties:function(e,t){o(e);var n,a=i(t),u=a.length,s=0;while(u>s)r.f(e,n=a[s++],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,o=e.stateHandler.getState;if(!t)throw new Error("Missing required dependency: reporter.");function i(e,t){if(!u(e))throw new Error("Element is not detectable by this strategy.");function n(){t(e)}if(r.isIE(8))o(e).object={proxy:n},e.attachEvent("onresize",n);else{var i=u(e);i.contentDocument.defaultView.addEventListener("resize",n)}}function a(e,i,a){a||(a=i,i=e,e=null),e=e||{};e.debug;function u(e,i){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;",u=!1,s=window.getComputedStyle(e),c=e.offsetWidth,l=e.offsetHeight;function f(){function n(){if("static"===s.position){e.style.position="relative";var n=function(e,t,n,r){function o(e){return e.replace(/[^-\d\.]/g,"")}var i=n[r];"auto"!==i&&"0"!==o(i)&&(e.warn("An element that is positioned static has style."+r+"="+i+" 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,s,"top"),n(t,e,s,"right"),n(t,e,s,"bottom"),n(t,e,s,"left")}}function c(){function t(e,n){e.contentDocument?n(e.contentDocument):setTimeout((function(){t(e,n)}),100)}u||n();var r=this;t(r,(function(t){i(e)}))}""!==s.position&&(n(s),u=!0);var l=document.createElement("object");l.style.cssText=a,l.tabIndex=-1,l.type="text/html",l.setAttribute("aria-hidden","true"),l.onload=c,r.isIE()||(l.data="about:blank"),e.appendChild(l),o(e).object=l,r.isIE()&&(l.data="about:blank")}o(e).startSize={width:c,height:l},n?n.add(f):f()}r.isIE(8)?a(i):u(i,a)}function u(e){return o(e).object}function s(e){r.isIE(8)?e.detachEvent("onresize",o(e).object.proxy):e.removeChild(u(e)),delete o(e).object}return{makeDetectable:a,addListener:i,uninstall:s}}},"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,o;if(t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if("function"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&"function"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError("Can't convert object to primitive value")}},"1ca7":function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return u})),n.d(t,"c",(function(){return s}));var r="auto";function o(){return"undefined"!==typeof document}function i(){return"undefined"!==typeof window}function a(){if(!o())return r;var e="undefined"!==typeof document.dir?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir");return e}function u(e,t){i?window.addEventListener(e,t):t()}function s(e,t){i&&window.removeEventListener(e,t)}},"1ec9":function(e,t,n){var r=n("f772"),o=n("e53d").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},"214f":function(e,t,n){"use strict";n("b0c5");var r=n("2aba"),o=n("32e9"),i=n("79e5"),a=n("be13"),u=n("2b4c"),s=n("520a"),c=u("species"),l=!i((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=u(e),p=!i((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),v=p?!i((function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!t})):void 0;if(!p||!v||"replace"===e&&!l||"split"===e&&!f){var h=/./[d],y=n(a,d,""[e],(function(e,t,n,r,o){return t.exec===s?p&&!o?{done:!0,value:h.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}})),g=y[0],m=y[1];r(String.prototype,e,g),o(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"),o=n("7726").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},2350:function(e,t){function n(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"===typeof btoa){var i=r(o),a=o.sources.map((function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"}));return[n].concat(a).concat([i]).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={},o=0;o";t.style.display="none",n("fab2").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(o+"script"+a+"document.F=Object"+o+"/script"+a),e.close(),c=e.F;while(r--)delete c[s][i[r]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(u[s]=r(e),n=new u,u[s]=null,n[a]=e):n=c(),void 0===t?n:o(n,t)}},"2af9":function(e,t,n){"use strict";(function(e){n.d(t,"d",(function(){return a}));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var r=n("bc21");n.d(t,"a",(function(){return r["a"]}));var o=n("37c8");n.d(t,"b",(function(){return o["a"]}));var i={GridLayout:o["a"],GridItem:r["a"]};function a(e){a.installed||(a.installed=!0,Object.keys(i).forEach((function(t){e.component(t,i[t])})))}var u={install:a},s=null;"undefined"!==typeof window?s=window.Vue:"undefined"!==typeof e&&(s=e.Vue),s&&s.use(u),t["c"]=i}).call(this,n("c8ba"))},"2b4c":function(e,t,n){var r=n("5537")("wks"),o=n("ca5a"),i=n("7726").Symbol,a="function"==typeof i,u=e.exports=function(e){return r[e]||(r[e]=a&&i[e]||(a?i:o)("Symbol."+e))};u.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"),o=n("4630");e.exports=n("9e1e")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},"35e8":function(e,t,n){var r=n("d9f6"),o=n("aebd");e.exports=n("8e60")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},"37c8":function(e,t,n){"use strict";var r=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)},o=[],i=(n("8e6e"),n("cadf"),n("456d"),n("fca0"),n("ac6a"),n("85f2")),a=n.n(i);function u(e,t,n){return t in e?a()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n("c5f6");var s=n("8bbf"),c=n.n(s),l=n("a2b6");n("55dd");function f(e,t){for(var n=v(e),r=n[0],o=1,i=n.length;oe[a]&&(r=a)}return r}function d(e,t){if(!t[e])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]}function p(e,t,n,r,o,i,a){if(t[r])return Object(l["b"])(t[r]);for(var u=e,s=v(n),c=s.slice(s.indexOf(r)),f=0,d=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()}Object(l["c"])(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 Object(l["a"])(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px"},dragEvent:function(e,t,n,r,o,i){var a=Object(l["f"])(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=i,this.placeholder.h=o,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.layout=Object(l["g"])(this.layout,a,n,r,!0,this.preventCollision),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===e&&this.$emit("layout-updated",this.layout)},resizeEvent:function(e,t,n,r,o,i){var a,u=Object(l["f"])(this.layout,t);if(void 0!==u&&null!==u||(u={h:0,w:0}),this.preventCollision){var s=Object(l["e"])(this.layout,m({},u,{w:i,h:o})).filter((function(e){return e.i!==u.i}));if(a=s.length>0,a){var c=1/0,f=1/0;s.forEach((function(e){e.x>u.x&&(c=Math.min(c,e.x)),e.y>u.y&&(f=Math.min(f,e.y))})),Number.isFinite(c)&&(u.w=c-u.x),Number.isFinite(f)&&(u.h=f-u.y)}}a||(u.w=i,u.h=o),"resizestart"===e||"resizemove"===e?(this.placeholder.i=t,this.placeholder.x=n,this.placeholder.y=r,this.placeholder.w=u.w,this.placeholder.h=u.h,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.responsive&&this.responsiveGridLayout(),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===e&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var e=f(this.breakpoints,this.width),t=d(e,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=Object(l["b"])(this.layout));var n=p(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",d(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)}}},x=w,O=(n("e279"),n("2877")),S=Object(O["a"])(x,r,o,!1,null,null,null);t["a"]=S.exports},"38fd":function(e,t,n){var r=n("69a8"),o=n("4bf8"),i=n("613b")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:"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"),o=n("4630"),i=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(a,{next:o(1,n)}),i(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"),o=n("0d58");n("5eda")("keys",(function(){return function(e){return o(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"),o=n("9def"),i=n("0390"),a=n("5f1b");n("214f")("match",1,(function(e,t,n,u){return[function(n){var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=u(n,e,this);if(t.done)return t.value;var s=r(e),c=String(this);if(!s.global)return a(s,c);var l=s.unicode;s.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(s,c))){var v=String(f[0]);d[p]=v,""===v&&(s.lastIndex=i(c,o(s.lastIndex),l)),p++}return 0===p?null:d}]}))},"499e":function(e,t,n){"use strict";function r(e,t){for(var n=[],r={},o=0;on.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o1&&i.call(a[0],n,(function(){for(l=1;lf)n=s(r,t=c[f++]),void 0!==n&&u(l,t,n);return l}})},9093:function(e,t,n){var r=n("ce10"),o=n("e11e").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},"990b":function(e,t,n){var r=n("9093"),o=n("2621"),i=n("cb7c"),a=n("7726").Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(i(e)),n=o.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,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},"9c6c":function(e,t,n){var r=n("2b4c")("unscopables"),o=Array.prototype;void 0==o[r]&&n("32e9")(o,r,{}),e.exports=function(e){o[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"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},"9e1e":function(e,t,n){e.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a2b6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return u})),n.d(t,"d",(function(){return c})),n.d(t,"f",(function(){return l})),n.d(t,"e",(function(){return d})),n.d(t,"g",(function(){return v})),n.d(t,"j",(function(){return y})),n.d(t,"k",(function(){return g})),n.d(t,"h",(function(){return m})),n.d(t,"i",(function(){return b})),n.d(t,"l",(function(){return x}));n("a481"),n("cadf"),n("456d"),n("ac6a"),n("55dd");function r(e){for(var t,n=0,r=0,o=e.length;rn&&(n=t);return n}function o(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 u(e,t){for(var n=p(e),r=w(e),o=Array(e.length),i=0,a=r.length;i0&&!f(e,t))t.y--;var r;while(r=f(e,t))t.y=r.y+r.h;return t}function c(e,t){for(var n=p(e),r=0,o=e.length;rt.cols&&(i.x=t.cols-i.w),i.x<0&&(i.x=0,i.w=t.cols),i.static)while(f(n,i))i.y++;else n.push(i)}return e}function l(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 c=w(e);s&&(c=c.reverse());var l=d(c,t);if(i&&l.length)return t.x=a,t.y=u,t.moved=!1,e;for(var f=0,p=l.length;fv.y&&t.y-v.y>v.h/4||(e=v.static?h(e,v,t,o):h(e,t,v,o)))}return e}function h(e,t,n,r){var o=!1;if(r){var i={x:n.x,y:n.y,w:n.w,h:n.h,i:"-1"};if(i.y=Math.max(t.y-n.h,0),!f(e,i))return v(e,n,void 0,i.y,o)}return v(e,n,void 0,n.y+1,o)}function y(e,t,n,r){var o="translate3d("+t+"px,"+e+"px, 0)";return{transform:o,WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,width:n+"px",height:r+"px",position:"absolute"}}function g(e,t,n,r){var o="translate3d("+-1*t+"px,"+e+"px, 0)";return{transform:o,WebkitTransform:o,MozTransform:o,msTransform:o,OTransform:o,width:n+"px",height:r+"px",position:"absolute"}}function m(e,t,n,r){return{top:e+"px",left:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function b(e,t,n,r){return{top:e+"px",right:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function w(e){return[].concat(e).sort((function(e,t){return e.y>t.y||e.y===t.y&&e.x>t.x?1:-1}))}function x(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,o=e.length;r]*>)/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,o){var i=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(e,t){var o=h(n,e,this,t);if(o.done)return o.value;var f=r(e),d=String(this),p="function"===typeof t;p||(t=String(t));var g=f.global;if(g){var m=f.unicode;f.lastIndex=0}var b=[];while(1){var w=s(f,d);if(null===w)break;if(b.push(w),!g)break;var x=String(w[0]);""===x&&(f.lastIndex=u(d,i(f.lastIndex),m))}for(var O="",S=0,P=0;P=S&&(O+=d.slice(S,j)+z,S=j+_.length)}return O+d.slice(S)}];function y(e,t,r,i,a,u){var s=r+e.length,c=i.length,l=p;return void 0!==a&&(a=o(a),l=d),n.call(u,l,(function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(s);case"<":u=a[o.slice(1,-1)];break;default:var l=+o;if(0===l)return n;if(l>c){var d=f(l/10);return 0===d?n:d<=c?void 0===i[d-1]?o.charAt(1):i[d-1]+o.charAt(1):n}u=i[l-1]}return void 0===u?"":u}))}}))},aa77:function(e,t,n){var r=n("5ca1"),o=n("be13"),i=n("79e5"),a=n("fdef"),u="["+a+"]",s="​…",c=RegExp("^"+u+u+"*"),l=RegExp(u+u+"*$"),f=function(e,t,n){var o={},u=i((function(){return!!a[e]()||s[e]()!=s})),c=o[e]=u?t(d):a[e];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},d=f.trim=function(e,t){return e=String(o(e)),1&t&&(e=e.replace(c,"")),2&t&&(e=e.replace(l,"")),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;nthis.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?Object(i["k"])(t.top,t.right,t.width,t.height):Object(i["j"])(t.top,t.left,t.width,t.height):this.renderRtl?Object(i["i"])(t.top,t.right,t.width,t.height):Object(i["h"])(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=o,this.innerW===n.w&&this.innerH===n.h||this.$emit("resize",this.i,n.h,n.w,i.height,i.width),"resizeend"!==e.type||this.previousW===this.innerW&&this.previousH===this.innerH||this.$emit("resized",this.i,n.h,n.w,i.height,i.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=a(e);if(null!==t){var n,r=t.x,o=t.y,i={top:0,left:0};switch(e.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var u=e.target.offsetParent.getBoundingClientRect(),c=e.target.getBoundingClientRect();this.renderRtl?i.left=-1*(c.right-u.right):i.left=c.left-u.left,i.top=c.top-u.top,this.dragging=i,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var l=e.target.offsetParent.getBoundingClientRect(),f=e.target.getBoundingClientRect();this.renderRtl?i.left=-1*(f.right-l.right):i.left=f.left-l.left,i.top=f.top-l.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var d=s(this.lastX,this.lastY,r,o);this.renderRtl?i.left=this.dragging.left-d.deltaX:i.left=this.dragging.left+d.deltaX,i.top=this.dragging.top+d.deltaY,this.dragging=i;break}n=(this.renderRtl,this.calcXY(i.top,i.left)),this.lastX=r,this.lastY=o,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 o,i=this.calcColWidth();return o=this.renderRtl?{right:Math.round(i*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(i*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(i*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(i*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])},o},calcXY:function(e,t){var n=this.calcColWidth(),r=Math.round((t-this.margin[0])/(n+this.margin[0])),o=Math.round((e-this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerW),0),o=Math.max(Math.min(o,this.maxRows-this.innerH),0),{x:r,y:o}},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])),o=Math.round((e+this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerX),0),o=Math.max(Math.min(o,this.maxRows-this.innerY),0),{w:r,h:o}},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=f(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=f(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))}}},p=d,v=(n("5ed4"),n("2877")),h=Object(v["a"])(p,r,o,!1,null,null,null);t["a"]=h.exports},be13:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},c274:function(e,t,n){"use strict";var r=n("50bf");function o(){var e={},t=0,n=0,r=0;function o(o,i){i||(i=o,o=0),o>n?n=o:ol)if(u=s[l++],u!=u)return!0}else for(;c>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}}},c5f6:function(e,t,n){"use strict";var r=n("7726"),o=n("69a8"),i=n("2d95"),a=n("5dbc"),u=n("6a99"),s=n("79e5"),c=n("9093").f,l=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",v=r[p],h=v,y=v.prototype,g=i(n("2aeb")(y))==p,m="trim"in String.prototype,b=function(e){var t=u(e,!1);if("string"==typeof t&&t.length>2){t=m?t.trim():d(t,3);var n,r,o,i=t.charCodeAt(0);if(43===i||45===i){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(t.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+t}for(var a,s=t.slice(2),c=0,l=s.length;co)return NaN;return parseInt(s,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&&(g?s((function(){y.valueOf.call(n)})):i(n)!=p)?a(new h(b(t)),n,v):b(t)};for(var w,x=n("9e1e")?c(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++)o(h,w=x[O])&&!o(v,w)&&f(v,w,l(h,w));v.prototype=y,y.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}))},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},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,o=e.stateHandler.getState,i=(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=c(),u="erd_scroll_detection_scrollbar_style",s="erd_scroll_detection_container";function c(){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 o=e-r.clientWidth,i=t-r.clientHeight;return document.body.removeChild(r),{width:o,height:i}}function l(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",o=t+"_animation_active",i="/* Created by the element-resize-detector library. */\n";i+="."+t+" > div::-webkit-scrollbar { display: none; }\n\n",i+="."+o+" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: "+r+"; animation-name: "+r+"; }\n",i+="@-webkit-keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",i+="@keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",n(i)}}function f(e){e.className+=" "+s+"_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 o(e).container.childNodes[0].childNodes[0].childNodes[0]}function h(e){return o(e).container.childNodes[0].childNodes[0].childNodes[1]}function y(e,t){var n=o(e).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");o(e).listeners.push(t)}function g(e,u,c){function l(){if(e.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(i.get(u),"Scroll: "),t.log.apply)t.log.apply(null,n);else for(var r=0;r=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),i.Arguments=i.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"),o=n("6821"),i=n("c366")(!1),a=n("613b")("IE_PROTO");e.exports=function(e,t){var n,u=o(e),s=0,c=[];for(n in u)n!=a&&r(u,n)&&c.push(n);while(t.length>s)r(u,n=t[s++])&&(~i(c,n)||c.push(n));return c}},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 o(e){return e[r]={},i(e)}function i(e){return e[r]}function a(e){delete e[r]}e.exports={initState:o,getState:i,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,o){return e.call(t,n,r,o)}}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"),o=n("794b"),i=n("1bc3"),a=Object.defineProperty;t.f=n("8e60")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(u){}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"),o=n.n(r);o.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,o=n("5be5"),i=n("49ad"),a=n("2cef"),u=n("5058"),s=n("abb4"),c=n("18e9"),l=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 y(e){return e&&1===e.nodeType}function g(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=u({idGenerator:n,stateHandler:f});t=m}var b=e.reporter;if(!b){var w=!1===b;b=s(w)}var x=g(e,"batchProcessor",l({reporter:b})),O={};O.callOnAdd=!!g(e,"callOnAdd",!0),O.debug=!!g(e,"debug",!1);var S,P=i(t),_=o({stateHandler:f}),j=g(e,"strategy","object"),M={reporter:b,batchProcessor:x,stateHandler:f,idHandler:t};if("scroll"===j&&(c.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),j="object"):c.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),j="object")),"scroll"===j)S=p(M);else{if("object"!==j)throw new Error("Invalid strategy name: "+j);S=d(M)}var E={};function k(e,n,o){function i(e){var t=P.get(e);r(t,(function(t){t(e)}))}function a(e,t,n){P.add(t,n),e&&n(t)}if(o||(o=n,n=e,e={}),!n)throw new Error("At least one element required.");if(!o)throw new Error("Listener required.");if(y(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 u=0,s=g(e,"callOnAdd",O.callOnAdd),c=g(e,"onReady",(function(){})),l=g(e,"debug",O.debug);r(n,(function(e){f.getState(e)||(f.initState(e),t.set(e));var d=t.get(e);if(l&&b.log("Attaching listener to element",d,e),!_.isDetectable(e))return l&&b.log(d,"Not detectable."),_.isBusy(e)?(l&&b.log(d,"System busy making it detectable"),a(s,e,o),E[d]=E[d]||[],void E[d].push((function(){u++,u===n.length&&c()}))):(l&&b.log(d,"Making detectable..."),_.markBusy(e,!0),S.makeDetectable({debug:l},e,(function(e){if(l&&b.log(d,"onElementDetectable"),f.getState(e)){_.markAsDetectable(e),_.markBusy(e,!1),S.addListener(e,i),a(s,e,o);var t=f.getState(e);if(t&&t.startSize){var p=e.offsetWidth,v=e.offsetHeight;t.startSize.width===p&&t.startSize.height===v||i(e)}E[d]&&r(E[d],(function(e){e()}))}else l&&b.log(d,"Element uninstalled before being detectable.");delete E[d],u++,u===n.length&&c()})));l&&b.log(d,"Already detecable, adding listener."),a(s,e,o),u++})),u===n.length&&c()}function T(e){if(!e)return b.error("At least one element is required.");if(y(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){P.removeAllListeners(e),S.uninstall(e),f.cleanState(e)}))}return{listenTo:k,removeListener:P.removeListener,removeAllListeners:P.removeAllListeners,uninstall:T}}},f1ae:function(e,t,n){"use strict";var r=n("86cc"),o=n("4630");e.exports=function(e,t,n){t in e?r.f(e,t,o(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]));var o=n("2af9");n.d(t,"install",(function(){return o["d"]})),n.d(t,"GridLayout",(function(){return o["b"]})),n.d(t,"GridItem",(function(){return o["a"]}));t["default"]=o["c"]},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(o),i=p(wn),a=v(Xn),u=v(Vn),s=v(sr),c=v(Mr),l=v(Ur),f=v(n({}));function d(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return d=function(){return e},e}function p(e){if(e&&e.__esModule)return e;if(null===e||"object"!==h(e)&&"function"!==typeof e)return{default:e};var t=d();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function v(e){return e&&e.__esModule?e:{default:e}}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 y(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 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 o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n):o.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 S(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.fire("interactions:destroy",{interaction:r}),r.destroy(),n.interactions.list.length>2&&n.interactions.list.splice(e,1))}n.fire("interactable:unset",{interactable:this})}},{key:"_defaults",get:function(){return n.defaults}}]),t}(s["default"])}return _(e,[{key:"addListeners",value:function(e,t){this.listenerMaps.push({id:t,map:e})}},{key:"fire",value:function(e,t){for(var n=0;nthis.pointerMoveTolerance);var u={pointer:e,pointerIndex:this.getPointerIndex(e),event:t,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||(a.pointer.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),a.pointer.setCoordVelocity(this.coords.velocity,this.coords.delta)),this._scopeFire("interactions:move",u),i||(this.interacting()&&(u.type=null,this.move(u)),this.pointerWasMoved&&a.pointer.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(e){e=a.extend({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{}),e.phase=u.EventPhase.Move,this._doPhase(e)}},{key:"pointerUp",value:function(e,t,n,r){var o=this.getPointerIndex(e);-1===o&&(o=this.updatePointer(e,t,n,!1));var i=/cancel$/i.test(t.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:e,pointerIndex:o,event:t,eventTarget:n,type:i,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._scopeFire("interactions:blur",{event:e,type:"blur",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:u.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._scopeFire("interactions: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=a.pointer.getPointerId(e);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:a.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 o=a.pointer.getPointerId(e),i=this.getPointerIndex(e),u=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(t.type)),u?u.pointer=e:(u=new s["default"](o,e,t,null,null),i=this.pointers.length,this.pointers.push(u)),r&&(this.pointerIsDown=!0,this.interacting()||(a.pointer.setCoords(this.coords.start,this.pointers.map((function(e){return e.pointer})),this._now()),a.pointer.copyCoords(this.coords.cur,this.coords.start),a.pointer.copyCoords(this.coords.prev,this.coords.start),a.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._scopeFire("interactions:update-pointer",{pointer:e,event:t,eventTarget:n,down:r,pointerInfo:u,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(e,t){var n=this.getPointerIndex(e);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:e,event:t,eventTarget:null,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 o=this.prepared.name;return new u["default"](this,e,o,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,o=e.type,i=this._scopeFire("interactions:before-action-".concat(n),e);if(!1===i)return!1;var a=e.iEvent=this._createPreparedEvent(t,n,r,o),u=this.rect;if(u){var s=this.edges||this.prepared.edges||{left:!0,right:!0,top:!0,bottom:!0};s.top&&(u.top+=a.delta.y),s.bottom&&(u.bottom+=a.delta.y),s.left&&(u.left+=a.delta.x),s.right&&(u.right+=a.delta.x),u.width=u.right-u.left,u.height=u.bottom-u.top}return this._scopeFire("interactions:action-".concat(n),e),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),e),!0}},{key:"_now",value:function(){return Date.now()}}]),e}();n.Interaction=g;var m=g;n["default"]=m})),o={};Object.defineProperty(o,"__esModule",{value:!0}),o["default"]=void 0;var i={init:s,document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function a(){}var u=i;function s(e){var t=e;i.document=t.document,i.DocumentFragment=t.DocumentFragment||a,i.SVGElement=t.SVGElement||a,i.SVGSVGElement=t.SVGSVGElement||a,i.SVGElementInstance=t.SVGElementInstance||a,i.Element=t.Element||a,i.HTMLElement=t.HTMLElement||i.Element,i.Event=t.Event,i.Touch=t.Touch||a,i.PointerEvent=t.PointerEvent||t.MSPointerEvent}o["default"]=u;var c={};function l(e,t){return-1!==e.indexOf(t)}function f(e,t){return e.splice(e.indexOf(t),1)}function d(e,t){for(var n=0;n=p&&(o=a,i=t)}else o=a,i=t}else o=a,i=t}return i}function de(e,t,n){while(te.element(e)){if(ce(e,t))return!0;if(e=se(e),e===n)return ce(e,t)}return!1}function pe(e){return e instanceof ee["default"].SVGElementInstance?e.correspondingUseElement:e}function ve(e){return e=e||ne["default"].window,{x:e.scrollX||e.document.documentElement.scrollLeft,y:e.scrollY||e.document.documentElement.scrollTop}}function he(e){var t=e instanceof ee["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 ye(e){var t=he(e);if(!Q["default"].isIOS7&&t){var n=ve(ne["default"].getWindow(e));t.left+=n.x,t.right+=n.x,t.top+=n.y,t.bottom+=n.y}return t}function ge(e){var t=[];while(e)t.push(e),e=se(e);return t}function me(e){return!!te.string(e)&&(ee["default"].document.querySelector(e),!0)}var be={};Object.defineProperty(be,"__esModule",{value:!0}),be["default"]=void 0;var we=function(e,t){return Math.sqrt(e*e+t*t)};be["default"]=we;var xe={};function Oe(e,t){for(var n in t){var r=Oe.prefixedPropREs,o=!1;for(var i in r)if(0===n.indexOf(i)&&r[i].test(n)){o=!0;break}o||"function"===typeof t[n]||(e[n]=t[n])}return e}Object.defineProperty(xe,"__esModule",{value:!0}),xe["default"]=void 0,Oe.prefixedPropREs={webkit:/(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,moz:/(Pressure)$/};var Se=Oe;xe["default"]=Se;var Pe={};function _e(e){return _e="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},_e(e)}Object.defineProperty(Pe,"__esModule",{value:!0}),Pe.copyCoords=Ae,Pe.setCoordDeltas=Ce,Pe.setCoordVelocity=We,Pe.setZeroCoords=Ne,Pe.isNativePointer=He,Pe.getXY=Le,Pe.getPageXY=$e,Pe.getClientXY=Be,Pe.getPointerId=Fe,Pe.setCoords=Xe,Pe.getTouchPair=Ye,Pe.pointerAverage=Ge,Pe.touchBBox=Ve,Pe.touchDistance=qe,Pe.touchAngle=Ue,Pe.getPointerType=Ze,Pe.getEventTargets=Ke,Pe.newCoords=Je,Pe.coordsToEvent=Qe,Object.defineProperty(Pe,"pointerExtend",{enumerable:!0,get:function(){return ze["default"]}});var je=Ie(L),Me=Ie(o),Ee=Re(K),ke=Ie(be),Te=Re(_),ze=Ie(xe);function De(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return De=function(){return e},e}function Re(e){if(e&&e.__esModule)return e;if(null===e||"object"!==_e(e)&&"function"!==typeof e)return{default:e};var t=De();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Ie(e){return e&&e.__esModule?e:{default:e}}function Ae(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}function Ce(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}function We(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}function Ne(e){e.page.x=0,e.page.y=0,e.client.x=0,e.client.y=0}function He(e){return e instanceof Me["default"].Event||e instanceof Me["default"].Touch}function Le(e,t,n){return n=n||{},e=e||"page",n.x=t[e+"X"],n.y=t[e+"Y"],n}function $e(e,t){return t=t||{x:0,y:0},je["default"].isOperaMobile&&He(e)?(Le("screen",e,t),t.x+=window.scrollX,t.y+=window.scrollY):Le("page",e,t),t}function Be(e,t){return t=t||{},je["default"].isOperaMobile&&He(e)?Le("screen",e,t):Le("client",e,t),t}function Fe(e){return Te.number(e.pointerId)?e.pointerId:e.identifier}function Xe(e,t,n){var r=t.length>1?Ge(t):t[0],o={};$e(r,o),e.page.x=o.x,e.page.y=o.y,Be(r,o),e.client.x=o.x,e.client.y=o.y,e.timeStamp=n}function Ye(e){var t=[];return Te.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}function Ge(e){for(var t={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n1))return null;var t=Ye(e),n=Math.min(t[0].pageX,t[1].pageX),r=Math.min(t[0].pageY,t[1].pageY),o=Math.max(t[0].pageX,t[1].pageX),i=Math.max(t[0].pageY,t[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}}function qe(e,t){var n=t+"X",r=t+"Y",o=Ye(e),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,ke["default"])(i,a)}function Ue(e,t){var n=t+"X",r=t+"Y",o=Ye(e),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r],u=180*Math.atan2(a,i)/Math.PI;return u}function Ze(e){return Te.string(e.pointerType)?e.pointerType:Te.number(e.pointerType)?[void 0,void 0,"touch","pen","mouse"][e.pointerType]:/touch/.test(e.type)||e instanceof Me["default"].Touch?"touch":"mouse"}function Ke(e){var t=Te.func(e.composedPath)?e.composedPath():e.path;return[Ee.getActualElement(t?t[0]:e.target),Ee.getActualElement(e.currentTarget)]}function Je(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}}function Qe(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}var et={};function tt(e,t){for(var n in t)e[n]=t[n];var r=e;return r}Object.defineProperty(et,"__esModule",{value:!0}),et["default"]=tt;var nt={};function rt(e){return rt="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},rt(e)}Object.defineProperty(nt,"__esModule",{value:!0}),nt.getStringOptionResult=pt,nt.resolveRectLike=vt,nt.rectToXY=ht,nt.xywhToTlbr=yt,nt.tlbrToXywh=gt;var ot=st(et),it=ut(_);function at(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return at=function(){return e},e}function ut(e){if(e&&e.__esModule)return e;if(null===e||"object"!==rt(e)&&"function"!==typeof e)return{default:e};var t=at();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function st(e){return e&&e.__esModule?e:{default:e}}function ct(e){return dt(e)||ft(e)||lt()}function lt(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function ft(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function dt(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=0;c--)if(l.selectors[c]===e&&l.contexts[c]===t)break;-1===c&&(c=l.selectors.length,l.selectors.push(e),l.contexts.push(t),l.listeners.push([])),l.listeners[c].push([r,!!i.capture,i.passive])}function Ut(e,t,n,r,o){var i,a=Jt(o),u=Xt[n],s=!1;if(u)for(i=u.selectors.length-1;i>=0;i--)if(u.selectors[i]===e&&u.contexts[i]===t){for(var c=u.listeners[i],l=c.length-1;l>=0;l--){var f=Wt(c[l],3),d=f[0],p=f[1],v=f[2];if(d===r&&p===!!a.capture&&v===a.passive){c.splice(l,1),c.length||(u.selectors.splice(i,1),u.contexts.splice(i,1),u.listeners.splice(i,1),Vt(t,n,Zt),Vt(t,n,Kt,!0),u.selectors.length||(Xt[n]=null)),s=!0;break}}if(s)break}}function Zt(e,t){var n=Jt(t),r=new Qt(e),o=Xt[e.type],i=Tt.getEventTargets(e),a=Wt(i,1),u=a[0],s=u;while(Et.element(s)){for(var c=0;c150)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,o=225-n<=t&&t<315+n,i=!r&&(315-n<=t||t<45+n),a=!o&&45-n<=t&&t<135+n;return{up:o,down:a,left:r,right:i,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}(eo["default"]);Ur.InteractEvent=vo;var ho=vo;Ur["default"]=ho;var yo={};function go(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(yo,"__esModule",{value:!0}),yo["default"]=yo.PointerInfo=void 0;var mo=function e(t,n,r,o,i){go(this,e),this.id=t,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};yo.PointerInfo=mo;var bo=mo;yo["default"]=bo;var wo={};function xo(e){return xo="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},xo(e)}Object.defineProperty(wo,"__esModule",{value:!0}),wo["default"]=void 0;var Oo=Po(K);function So(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return So=function(){return e},e}function Po(e){if(e&&e.__esModule)return e;if(null===e||"object"!==xo(e)&&"function"!==typeof e)return{default:e};var t=So();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}var _o={methodOrder:["simulationResume","mouseOrPen","hasPointer","idle"],search:function(e){for(var t=0;t<_o.methodOrder.length;t++){var n;n=_o.methodOrder[t];var r=n,o=_o[r](e);if(o)return o}},simulationResume:function(e){var t=e.pointerType,n=e.eventType,r=e.eventTarget,o=e.scope;if(!/down|start/i.test(n))return null;for(var i=0;i=2)continue;if(!i.interacting()&&t===i.pointerType)return i}return null}};function jo(e,t){return e.pointers.some((function(e){var n=e.id;return n===t}))}var Mo=_o;wo["default"]=Mo;var Eo={};function ko(e){return ko="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},ko(e)}Object.defineProperty(Eo,"__esModule",{value:!0}),Eo["default"]=void 0;var To=t({}),zo=Io(c),Do=Io(_);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;if(null===e||"object"!==ko(e)&&"function"!==typeof e)return{default:e};var t=Ro();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Ao(e){var t=e.actions,n=e.Interactable,r=e.defaults;e.addListeners({"interactions:before-action-move":Co,"interactions:action-resume":Co,"interactions:action-move":Wo}),n.prototype.draggable=Ho.draggable,t[To.ActionName.Drag]=Ho,t.names.push(To.ActionName.Drag),zo.merge(t.eventTypes,["dragstart","dragmove","draginertiastart","dragresume","dragend"]),t.methodDict.drag="draggable",r.actions.drag=Ho.defaults}function Co(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 Wo(e){var t=e.iEvent,n=e.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";t.page[o]=n.coords.start.page[o],t.client[o]=n.coords.start.client[o],t.delta[o]=0}}}To.ActionName.Drag="drag";var No=function(e){return Do.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):Do.bool(e)?(this.options.drag.enabled=e,this):this.options.drag},Ho={id:"actions/drag",install:Ao,draggable:No,beforeMove:Co,move:Wo,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"}},Lo=Ho;Eo["default"]=Lo;var $o={};Object.defineProperty($o,"__esModule",{value:!0}),$o["default"]=void 0;var Bo=Go(Br),Fo=Yo(c);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;if(null===e||"object"!==Vo(e)&&"function"!==typeof e)return{default:e};var t=Xo();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Go(e){return e&&e.__esModule?e:{default:e}}function Vo(e){return Vo="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},Vo(e)}function qo(e){return Ko(e)||Zo(e)||Uo()}function Uo(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Zo(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function Ko(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);ta.left&&l.xa.top&&l.y=a.left&&v<=a.right&&h>=a.top&&h<=a.bottom}if(p&&fi.is.number(s)){var y=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)),g=y/(p.width*p.height);u=g>=s}return e.options.drop.checker&&(u=e.options.drop.checker(t,n,u,e,i,r,o)),u}var Mi={id:"actions/drop",install:gi,listeners:{"interactions:before-action-start":function(e){var t=e.interaction;"drag"===t.prepared.name&&(t.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:null})},"interactions:after-action-start":function(e,t){var n=e.interaction,r=e.event,o=e.iEvent;if("drag"===n.prepared.name){var i=n.dropState;i.activeDrops=null,i.events=null,i.activeDrops=wi(t,n.element),i.events=Oi(n,r,o),i.events.activate&&bi(i.activeDrops,i.events.activate)}},"interactions:action-move":Pi,"interactions:action-end":Pi,"interactions:after-action-move":function(e){var t=e.interaction;"drag"===t.prepared.name&&(Si(t,t.dropState.events),t.dropState.events={})},"interactions:after-action-end":function(e){var t=e.interaction;"drag"===t.prepared.name&&Si(t,t.dropState.events)},"interactions:stop":function(e){var t=e.interaction;if("drag"===t.prepared.name){var n=t.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:wi,getDrop:xi,getDropEvents:Oi,fireDropEvents:Si,defaults:{enabled:!1,accept:null,overlap:"pointer"}},Ei=Mi;ci["default"]=Ei;var ki={};function Ti(e){return Ti="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},Ti(e)}Object.defineProperty(ki,"__esModule",{value:!0}),ki["default"]=void 0;var zi=Ci(Ur),Di=t({}),Ri=Ai(wn);function Ii(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ii=function(){return e},e}function Ai(e){if(e&&e.__esModule)return e;if(null===e||"object"!==Ti(e)&&"function"!==typeof e)return{default:e};var t=Ii();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Ci(e){return e&&e.__esModule?e:{default:e}}function Wi(e){var t=e.actions,n=e.Interactable,r=e.defaults;n.prototype.gesturable=function(e){return Ri.is.object(e)?(this.options.gesture.enabled=!1!==e.enabled,this.setPerAction("gesture",e),this.setOnEvents("gesture",e),this):Ri.is.bool(e)?(this.options.gesture.enabled=e,this):this.options.gesture},t[Di.ActionName.Gesture]=Ni,t.names.push(Di.ActionName.Gesture),Ri.arr.merge(t.eventTypes,["gesturestart","gesturemove","gestureend"]),t.methodDict.gesture="gesturable",r.actions.gesture=Ni.defaults}Di.ActionName.Gesture="gesture";var Ni={id:"actions/gesture",install:Wi,listeners:{"interactions:action-start":Hi,"interactions:action-move":Hi,"interactions:action-end":Hi,"interactions:new":function(e){var t=e.interaction;t.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}}},defaults:{},checker:function(e,t,n,r,o){return o.pointers.length>=2?{name:"gesture"}:null},getCursor:function(){return""}};function Hi(e){var t=e.interaction,n=e.iEvent,r=e.event,o=e.phase;if("gesture"===t.prepared.name){var i=t.pointers.map((function(e){return e.pointer})),a="start"===o,u="end"===o,s=t.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],a)n.distance=Ri.pointer.touchDistance(i,s),n.box=Ri.pointer.touchBBox(i),n.scale=1,n.ds=0,n.angle=Ri.pointer.touchAngle(i,s),n.da=0,t.gesture.startDistance=n.distance,t.gesture.startAngle=n.angle;else if(u||r instanceof zi["default"]){var c=t.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=Ri.pointer.touchDistance(i,s),n.box=Ri.pointer.touchBBox(i),n.scale=n.distance/t.gesture.startDistance,n.angle=Ri.pointer.touchAngle(i,s),n.ds=n.scale-t.gesture.scale,n.da=n.angle-t.gesture.angle;t.gesture.distance=n.distance,t.gesture.angle=n.angle,Ri.is.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(t.gesture.scale=n.scale)}}var Li=Ni;ki["default"]=Li;var $i={};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)}Object.defineProperty($i,"__esModule",{value:!0}),$i["default"]=void 0;var Fi=t({}),Xi=Zi(c),Yi=Zi(K),Gi=qi(et),Vi=Zi(_);function qi(e){return e&&e.__esModule?e:{default:e}}function Ui(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ui=function(){return e},e}function Zi(e){if(e&&e.__esModule)return e;if(null===e||"object"!==Bi(e)&&"function"!==typeof e)return{default:e};var t=Ui();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Ki(e){var t=e.actions,n=e.browser,r=e.Interactable,o=e.defaults;Ji.cursors=ta(n),Ji.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(t){return Qi(this,t,e)},t[Fi.ActionName.Resize]=Ji,t.names.push(Fi.ActionName.Resize),Xi.merge(t.eventTypes,["resizestart","resizemove","resizeinertiastart","resizeresume","resizeend"]),t.methodDict.resize="resizable",o.actions.resize=Ji.defaults}Fi.ActionName.Resize="resize";var Ji={id:"actions/resize",install:Ki,listeners:{"interactions:new":function(e){var t=e.interaction;t.resizeAxes="xy"},"interactions:action-start":function(e){na(e),ia(e)},"interactions:action-move":function(e){ra(e),ia(e)},"interactions:action-end":oa},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},checker:function(e,t,n,r,o,i){if(!i)return null;var a=(0,Gi["default"])({},o.coords.cur.page),u=n.options;if(u.resize.enabled){var s=u.resize,c={left:!1,right:!1,top:!1,bottom:!1};if(Vi.object(s.edges)){for(var l in c)c[l]=ea(l,s.edges[l],a,o._latestPointer.eventTarget,r,i,s.margin||this.defaultMargin);if(c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,c.left||c.right||c.top||c.bottom)return{name:"resize",edges:c}}else{var f="y"!==u.resize.axis&&a.x>i.right-this.defaultMargin,d="x"!==u.resize.axis&&a.y>i.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,o=Ji.cursors,i=null;if(n)i=o[r+n];else if(t){for(var a="",u=["top","bottom","left","right"],s=0;s=0?i.left:i.right)+a;if("top"===e)return n.y<(s>=0?i.top:i.bottom)+a;if("right"===e)return n.x>(u>=0?i.right:i.left)-a;if("bottom"===e)return n.y>(s>=0?i.bottom:i.top)-a}return!!Vi.element(r)&&(Vi.element(t)?t===r:Yi.matchesUpTo(r,t,o))}function ta(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 na(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=(0,Gi["default"])({},n.rect),o=n.interactable.options.resize;if(o.square||o.preserveAspectRatio){var i=(0,Gi["default"])({},n.prepared.edges);i.top=i.top||i.left&&!i.bottom,i.left=i.left||i.top&&!i.right,i.bottom=i.bottom||i.right&&!i.top,i.right=i.right||i.bottom&&!i.left,n.prepared._linkedEdges=i}else n.prepared._linkedEdges=null;o.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,Gi["default"])({},r),previous:(0,Gi["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 ra(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r,o=n.interactable.options.resize,i=o.invert,a="reposition"===i||"negate"===i,u=n.prepared.edges,s=n.resizeRects.start,c=n.resizeRects.current,l=n.resizeRects.inverted,f=n.resizeRects.delta,d=(0,Gi["default"])(n.resizeRects.previous,l),p=u,v=(0,Gi["default"])({},t.delta);if(o.preserveAspectRatio||o.square){var h=o.preserveAspectRatio?n.resizeStartAspectRatio:1;u=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(u.top&&(c.top+=v.y),u.bottom&&(c.bottom+=v.y),u.left&&(c.left+=v.x),u.right&&(c.right+=v.x),a){if((0,Gi["default"])(l,c),"reposition"===i)l.top>l.bottom&&(r=l.top,l.top=l.bottom,l.bottom=r),l.left>l.right&&(r=l.left,l.left=l.right,l.right=r)}else l.top=Math.min(c.top,s.bottom),l.bottom=Math.max(c.bottom,s.top),l.left=Math.min(c.left,s.right),l.right=Math.max(c.right,s.left);for(var y in l.width=l.right-l.left,l.height=l.bottom-l.top,l)f[y]=l[y]-d[y];t.edges=n.prepared.edges,t.rect=l,t.deltaRect=f}}function oa(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 ia(e){var t=e.iEvent,n=e.interaction;if(n.prepared.name===Fi.ActionName.Resize&&n.resizeAxes){var r=n.interactable.options;r.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 aa=Ji;$i["default"]=aa;var ua={};Object.defineProperty(ua,"__esModule",{value:!0}),ua.install=pa,Object.defineProperty(ua,"drag",{enumerable:!0,get:function(){return sa["default"]}}),Object.defineProperty(ua,"drop",{enumerable:!0,get:function(){return ca["default"]}}),Object.defineProperty(ua,"gesture",{enumerable:!0,get:function(){return la["default"]}}),Object.defineProperty(ua,"resize",{enumerable:!0,get:function(){return fa["default"]}}),ua.id=void 0;var sa=da(Eo),ca=da(ci),la=da(ki),fa=da($i);function da(e){return e&&e.__esModule?e:{default:e}}function pa(e){e.usePlugin(la["default"]),e.usePlugin(fa["default"]),e.usePlugin(sa["default"]),e.usePlugin(ca["default"])}var va="actions";ua.id=va;var ha={};function ya(e){return ya="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},ya(e)}Object.defineProperty(ha,"__esModule",{value:!0}),ha.getContainer=_a,ha.getScroll=ja,ha.getScrollSize=Ma,ha.getScrollSizeDelta=Ea,ha["default"]=void 0;var ga=Oa(K),ma=Oa(_),ba=wa(vn);function wa(e){return e&&e.__esModule?e:{default:e}}function xa(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return xa=function(){return e},e}function Oa(e){if(e&&e.__esModule)return e;if(null===e||"object"!==ya(e)&&"function"!==typeof e)return{default:e};var t=xa();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Sa(e){var t=e.defaults,n=e.actions;e.autoScroll=Pa,Pa.now=function(){return e.now()},n.eventTypes.push("autoscroll"),t.perAction.autoScroll=Pa.defaults}var Pa={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){Pa.isScrolling=!0,ba["default"].cancel(Pa.i),e.autoScroll=Pa,Pa.interaction=e,Pa.prevTime=Pa.now(),Pa.i=ba["default"].request(Pa.scroll)},stop:function(){Pa.isScrolling=!1,Pa.interaction&&(Pa.interaction.autoScroll=null),ba["default"].cancel(Pa.i)},scroll:function(){var e=Pa.interaction,t=e.interactable,n=e.element,r=t.options[Pa.interaction.prepared.name].autoScroll,o=_a(r.container,t,n),i=Pa.now(),a=(i-Pa.prevTime)/1e3,u=r.speed*a;if(u>=1){var s={x:Pa.x*u,y:Pa.y*u};if(s.x||s.y){var c=ja(o);ma.window(o)?o.scrollBy(s.x,s.y):o&&(o.scrollLeft+=s.x,o.scrollTop+=s.y);var l=ja(o),f={x:l.x-c.x,y:l.y-c.y};(f.x||f.y)&&t.fire({type:"autoscroll",target:n,interactable:t,delta:f,interaction:e,container:o})}Pa.prevTime=i}Pa.isScrolling&&(ba["default"].cancel(Pa.i),Pa.i=ba["default"].request(Pa.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()&&Pa.check(t.interactable,t.prepared.name))if(t.simulation)Pa.x=Pa.y=0;else{var r,o,i,a,u=t.interactable,s=t.element,c=u.options[t.prepared.name].autoScroll,l=_a(c.container,u,s);if(ma.window(l))a=n.clientXl.innerWidth-Pa.margin,i=n.clientY>l.innerHeight-Pa.margin;else{var f=ga.getElementClientRect(l);a=n.clientXf.right-Pa.margin,i=n.clientY>f.bottom-Pa.margin}Pa.x=o?1:a?-1:0,Pa.y=i?1:r?-1:0,Pa.isScrolling||(Pa.margin=c.margin,Pa.speed=c.speed,Pa.start(t))}}};function _a(e,t,n){return(ma.string(e)?(0,nt.getStringOptionResult)(e,t,n):e)||(0,m.getWindow)(n)}function ja(e){return ma.window(e)&&(e=window.document.body),{x:e.scrollLeft,y:e.scrollTop}}function Ma(e){return ma.window(e)&&(e=window.document.body),{x:e.scrollWidth,y:e.scrollHeight}}function Ea(e,t){var n=e.interaction,r=e.element,o=n&&n.interactable.options[n.prepared.name].autoScroll;if(!o||!o.enabled)return t(),{x:0,y:0};var i=_a(o.container,n.interactable,r),a=ja(i);t();var u=ja(i);return{x:u.x-a.x,y:u.y-a.y}}var ka={id:"auto-scroll",install:Sa,listeners:{"interactions:new":function(e){var t=e.interaction;t.autoScroll=null},"interactions:destroy":function(e){var t=e.interaction;t.autoScroll=null,Pa.stop(),Pa.interaction&&(Pa.interaction=null)},"interactions:stop":Pa.stop,"interactions:action-move":function(e){return Pa.onInteractionMove(e)}}};ha["default"]=ka;var Ta={};function za(e){return za="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},za(e)}Object.defineProperty(Ta,"__esModule",{value:!0}),Ta["default"]=void 0;var Da=Ia(_);function Ra(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ra=function(){return e},e}function Ia(e){if(e&&e.__esModule)return e;if(null===e||"object"!==za(e)&&"function"!==typeof e)return{default:e};var t=Ra();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Aa(e){var t=e.Interactable,n=e.actions;t.prototype.getAction=Ca,t.prototype.ignoreFrom=(0,wn.warnOnce)((function(e){return this._backCompatOption("ignoreFrom",e)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),t.prototype.allowFrom=(0,wn.warnOnce)((function(e){return this._backCompatOption("allowFrom",e)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),t.prototype.actionChecker=Ha,t.prototype.styleCursor=Na,t.prototype.defaultActionChecker=function(e,t,r,o){return Wa(this,e,t,r,o,n)}}function Ca(e,t,n,r){var o=this.defaultActionChecker(e,t,n,r);return this.options.actionChecker?this.options.actionChecker(e,t,o,this,r,n):o}function Wa(e,t,n,r,o,i){for(var a=e.getRect(o),u=n.buttons||{0:1,1:4,3:8,4:16}[n.button],s=null,c=0;c=u)return!1;if(p.interactable===e){if(c+=v===n.name?1:0,c>=i)return!1;if(p.element===t&&(l++,v===n.name&&l>=a))return!1}}}return u>0}function ou(e,t){return Fa.is.number(e)?(t.autoStart.maxInteractions=e,this):t.autoStart.maxInteractions}function iu(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 au(e,t){var n=e.interactable,r=e.element,o=e.prepared;if("mouse"===e.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var a=n.options[o.name].cursorChecker;i=Fa.is.func(a)?a(o,n,r,e._interacting):t.actions[o.name].getCursor(o)}iu(e.element,i||"",t)}}var uu={id:"auto-start/base",install:qa,listeners:{"interactions:down":Ua,"interactions:move":function(e,t){Za(e,t),Ka(e,t)},"interactions:stop":Ja},before:"ations",maxInteractions:ou,withinInteractionLimit:ru,validateAction:Qa};$a["default"]=uu;var su={};function cu(e){return cu="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},cu(e)}Object.defineProperty(su,"__esModule",{value:!0}),su["default"]=void 0;var lu=t({}),fu=hu(_),du=pu($a);function pu(e){return e&&e.__esModule?e:{default:e}}function vu(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return vu=function(){return e},e}function hu(e){if(e&&e.__esModule)return e;if(null===e||"object"!==cu(e)&&"function"!==typeof e)return{default:e};var t=vu();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function yu(e,t){var n=e.interaction,r=e.eventTarget,o=e.dx,i=e.dy;if("drag"===n.prepared.name){var a=Math.abs(o),u=Math.abs(i),s=n.interactable.options.drag,c=s.startAxis,l=a>u?"x":a0&&(t.autoStartHoldTimer=setTimeout((function(){t.start(t.prepared,t.interactable,t.element)}),n))},"interactions:move":function(e){var t=e.interaction,n=e.duplicate;t.pointerWasMoved&&!n&&clearTimeout(t.autoStartHoldTimer)},"autoStart:before-start":function(e){var t=e.interaction,n=Su(t);n>0&&(t.prepared.name=null)}},getHoldDuration:Su};bu["default"]=Pu;var _u={};Object.defineProperty(_u,"__esModule",{value:!0}),_u.install=Tu,Object.defineProperty(_u,"autoStart",{enumerable:!0,get:function(){return ju["default"]}}),Object.defineProperty(_u,"dragAxis",{enumerable:!0,get:function(){return Mu["default"]}}),Object.defineProperty(_u,"hold",{enumerable:!0,get:function(){return Eu["default"]}}),_u.id=void 0;var ju=ku($a),Mu=ku(su),Eu=ku(bu);function ku(e){return e&&e.__esModule?e:{default:e}}function Tu(e){e.usePlugin(ju["default"]),e.usePlugin(Eu["default"]),e.usePlugin(Mu["default"])}var zu="auto-start";_u.id=zu;var Du={};function Ru(e){return Ru="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},Ru(e)}Object.defineProperty(Du,"__esModule",{value:!0}),Du.install=Bu,Du["default"]=void 0;var Iu=Nu(_t),Au=Wu(_);function Cu(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Cu=function(){return e},e}function Wu(e){if(e&&e.__esModule)return e;if(null===e||"object"!==Ru(e)&&"function"!==typeof e)return{default:e};var t=Cu();if(t&&t.has(e))return t.get(e);var n={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=r?Object.getOwnPropertyDescriptor(e,o):null;i&&(i.get||i.set)?Object.defineProperty(n,o,i):n[o]=e[o]}return n["default"]=e,t&&t.set(e,n),n}function Nu(e){return e&&e.__esModule?e:{default:e}}function Hu(e){return/^(always|never|auto)$/.test(e)?(this.options.preventDefault=e,this):Au.bool(e)?(this.options.preventDefault=e?"always":"never",this):this.options.preventDefault}function Lu(e,t,n){var r=e.options.preventDefault;if("never"!==r)if("always"!==r){if(Iu["default"].supportsPassive&&/^touch(start|move)$/.test(n.type)){var o=(0,m.getWindow)(n.target).document,i=t.getDocOptions(o);if(!i||!i.events||!1!==i.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(n.type)||Au.element(n.target)&&(0,K.matchesSelector)(n.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||n.preventDefault()}else n.preventDefault()}function $u(e){var t=e.interaction,n=e.event;t.interactable&&t.interactable.checkAndPreventDefault(n)}function Bu(e){var t=e.Interactable;t.prototype.preventDefault=Hu,t.prototype.checkAndPreventDefault=function(t){return Lu(this,e,t)},e.interactions.docEvents.push({type:"dragstart",listener:function(t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},n=t.logger,r=e.Interactable,o=e.defaults;e.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(e){return e?((0,qu["default"])(this.options.devTools,e),this):this.options.devTools}}var ss=[{name:"touchAction",perform:function(e){var t=e.element;return!ls(t,"touchAction",/pan-|pinch|none/)},getInfo:function(e){var t=e.element;return[t,is.touchAction]},text:'Consider adding CSS "touch-action: none" to this element\n'},{name:"boxSizing",perform:function(e){var t=e.element;return"resize"===e.prepared.name&&t instanceof Vu["default"].HTMLElement&&!cs(t,"boxSizing",/border-box/)},text:'Consider adding CSS "box-sizing: border-box" to this resizable element',getInfo:function(e){var t=e.element;return[t,is.boxSizing]}},{name:"noListeners",perform:function(e){var t=e.prepared.name,n=e.interactable.events.types["".concat(t,"move")]||[];return!n.length},getInfo:function(e){return[e.prepared.name,e.interactable]},text:"There are no listeners set for this action"}];function cs(e,t,n){return n.test(e.style[t]||Zu["default"].window.getComputedStyle(e)[t])}function ls(e,t,n){var r=e;while(Uu.element(r)){if(cs(r,t,n))return!0;r=(0,K.parentNode)(r)}return!1}var fs="dev-tools",ds=as?{id:fs,install:function(){}}:{id:fs,install:us,listeners:{"interactions:action-start":function(e,t){for(var n=e.interaction,r=0;ru.minSpeed&&l>u.endSpeed,v={interaction:n,interactable:n.interactable,element:n.element,rect:n.rect,pageCoords:n.coords.cur.page,states:d&&n.modifiers.states.map((function(e){return Ns.extend({},e)})),preEnd:!0,prevCoords:null,requireEndOnly:null,phase:Ur.EventPhase.InertiaStart};return d&&!p&&(v.prevCoords=n.modifiers.result?n.modifiers.result.coords:n.prevEvent.page,v.requireEndOnly=!1,a=Ws["default"].setAll(v),a.changed&&(f=!0)),p||f?(Ns.pointer.copyCoords(i.upCoords,n.coords.cur),(0,Ws.setCoords)(v),n.pointers[0].pointer=i.startEvent=new t.InteractEvent(n,r,n.prepared.name,Ur.EventPhase.InertiaStart,n.element),(0,Ws.restoreCoords)(v),i.t0=s,i.active=!0,i.allowResume=u.allowResume,n.simulation=i,n.interactable.fire(i.startEvent),p?(i.vx0=n.coords.velocity.client.x,i.vy0=n.coords.velocity.client.y,i.v0=l,Vs(n,i),Ns.extend(v.pageCoords,n.coords.cur.page),v.pageCoords.x+=i.xe,v.pageCoords.y+=i.ye,v.prevCoords=null,v.requireEndOnly=!0,a=Ws["default"].setAll(v),i.modifiedXe+=a.delta.x,i.modifiedYe+=a.delta.y,i.timeout=Hs["default"].request((function(){return qs(n)}))):(i.smoothEnd=!0,i.xe=a.delta.x,i.ye=a.delta.y,i.sx=i.sy=0,i.timeout=Hs["default"].request((function(){return Us(n)}))),!1):null}function Gs(e){var t=e.interaction,n=t.inertia;n.active&&(Hs["default"].cancel(n.timeout),n.active=!1,t.simulation=null)}function Vs(e,t){var n=Ks(e),r=n.resistance,o=-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-o)/r,t.modifiedYe=t.ye=(t.vy0-o)/r,t.te=o,t.lambda_v0=r/t.v0,t.one_ve_v0=1-n.endSpeed/t.v0}function qs(e){Zs(e),Ns.pointer.setCoordDeltas(e.coords.delta,e.coords.prev,e.coords.cur),Ns.pointer.setCoordVelocity(e.coords.velocity,e.coords.delta);var t=e.inertia,n=Ks(e),r=n.resistance,o=e._now()/1e3-t.t0;if(o 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 +{"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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?d811","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/./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/./src/helpers/utils.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/./src/components/GridItem.vue?04cd","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/./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","currentDir","hasDocument","hasWindow","getDocumentDir","direction","dir","getAttribute","addWindowEventListener","event","removeWindowEventListener","removeEventListener","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","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","VueGridLayout","GridLayout","GridItem","install","Vue","installed","forEach","component","plugin","GlobalVue","use","store","uid","USE_SYMBOL","$exports","idCount","generate","method","_vm","_h","$createElement","_c","_self","ref","staticClass","_t","directives","rawName","expression","attrs","placeholder","x","y","w","_defineProperty","obj","configurable","writable","getBreakpointFromWidth","breakpoints","sorted","sortBreakpoints","matching","len","breakpointName","getColsFromBreakpoint","breakpoint","cols","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","compact","correctBounds","sort","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","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","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","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","bottom","bottomY","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","compareWith","getStatics","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","top","left","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","right","setTopLeft","setTopRight","validateLayout","contextName","subProps","isArray","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","collection","class","classObj","resizableHandleClass","_e","getControlPosition","offsetXYFromParentOf","evt","offsetParent","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","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","g","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","child","container","widthSize","clientWidth","heightSize","clientHeight","injectScrollStyle","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","getExpandElement","getShrinkElement","args","unshift","isDetached","isInDocument","ownerDocument","contains","isUnrendered","getStyle","elementStyle","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","areElementsInjected","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","px","random","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","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","createModuleFactory","_$scope_24","Scope","ActionName","_domObjects","_interopRequireDefault","_$domObjects_49","_interopRequireWildcard","_$utils_55","_defaultOptions","_$defaultOptions_20","_Eventable","_$Eventable_14","_Interactable","_$Interactable_16","_InteractableSet","_$InteractableSet_17","_InteractEvent","_$InteractEvent_15","_interactions","_$interactions_23","_getRequireWildcardCache","WeakMap","cache","_typeof","hasPropertyDescriptor","iterator","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_get","receiver","base","_superPropBase","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_classCallCheck","instance","_defineProperties","props","_createClass","protoProps","staticProps","win","browser","events","_this","clone","methodDict","eventTypes","removeDocument","scope","Interactable","_InteractableBase","fire","interactable","interactions","interaction","stop","destroy","defaults","listenerMaps","_ref","_ref2","initScope","_plugins","pluginIsInstalled","before","otherId","doc","getDocIndex","getWindow","extend","documents","onWindowUnload","docIndex","Date","now","init","usePlugin","_browser","_$browser_47","_events","_$events_51","pointerUtils","_$pointerUtils_60","_Interaction","_$Interaction_18","_interactionFinder","_$interactionFinder_22","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_s","methodNames","doOnInteractions","docEvents","pEventTypes","releasePointersOnRemovedEls","_i3","_ref3","pointerIsDown","pointerType","_interacting","_loop","_ref4","pointers","_i4","pointer","some","_ref5","_$domUtils_50","nodeContains","downTarget","removePointer","PointerEvent","down","pointerDown","move","pointerMove","up","pointerUp","_i2","documentBlur","prevTouchTime","Interaction","_InteractionBase","pointerMoveTolerance","scopeFire","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","onDocSignal","_ref7","eventMethodName","eventMethod","isIOS","passive","delegatedEvents","delegateListener","delegateUseCapture","eventOptions","_i7","_ref8","_ref9","_default","_PointerInfo","_ProxyMethods","_ProxyValues","_$PointerInfo_19","_scope","axis","edges","warnOnce","start","newCoords","prev","cur","delta","velocity","_scopeFire","_proxy","_loop2","_key","pointerIndex","updatePointer","action","interacting","Gesture","enabled","copyAction","prepared","rect","getRect","_stopped","_doPhase","downEvent","phase","EventPhase","Start","simulation","modifiers","endPrevented","setCoords","coords","_now","dx","dy","duplicateMove","page","client","pointerWasMoved","hypot","getPointerIndex","duplicate","setCoordDeltas","setCoordVelocity","copyCoords","_latestPointer","Move","end","endPhaseResult","_ending","End","prevEvent","findIndex","curPointer","pointerInfo","pointerExtend","downPointer","downTime","_updateLatestPointer","preEnd","actionName","iEvent","beforeResult","_createPreparedEvent","_fireEvent","domObjects","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","Element","HTMLElement","Event","Touch","blank","MSPointerEvent","_$arr_46","merge","from","func","find","_$isWindow_57","___default_57","thing","Window","_$window_65","__init_65","_isWindow","realWindow","wrap","node","rootNode","___default_65","_$is_56","plainObject","bool","number","docFrag","___isWindow_56","___interopRequireDefault_56","_window2","__window_56","_window","nodeName","___typeof_47","___interopRequireDefault_47","__init_47","supportsTouch","isIOS7","isIe9","isOperaMobile","prefixedMatchesSelector","wheelEvent","DocumentTouch","pointerEnabled","platform","appVersion","appName","over","___default_47","___typeof_50","closest","matchesSelector","indexOfDeepestElement","matchesUpTo","getActualElement","getScrollXY","getElementClientRect","getElementRect","getPath","trySelector","___interopRequireDefault_50","___domObjects_50","__is_50","___interopRequireWildcard_50","___window_50","___getRequireWildcardCache_50","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","_$hypot_54","___default_54","sqrt","_$pointerExtend_59","dest","prefixedPropREs","deprecated","vendor","webkit","moz","___default_59","___typeof_60","setZeroCoords","isNativePointer","getXY","getPageXY","getClientXY","getTouchPair","pointerAverage","touchBBox","touchDistance","touchAngle","coordsToEvent","_pointerExtend","___browser_60","___interopRequireDefault_60","___domObjects_60","domUtils","___interopRequireWildcard_60","_hypot","__is_60","___getRequireWildcardCache_60","targetObj","dt","xy","identifier","tmpXY","touches","average","pageX","pageY","screenX","screenY","_prop","minX","minY","maxX","maxY","deltaSource","sourceX","sourceY","angle","atan2","PI","composedPath","currentTarget","buttons","_$extend_52","ret","_$rect_62","___typeof_62","getStringOptionResult","resolveRectLike","rectToXY","xywhToTlbr","tlbrToXywh","_extend","___interopRequireDefault_62","__is_62","___interopRequireWildcard_62","___getRequireWildcardCache_62","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","functionArgs","_$clone_48","___typeof_48","___interopRequireWildcard_48","__is_48","___getRequireWildcardCache_48","___typeof_51","FakeEvent","__domUtils_51","___interopRequireWildcard_51","__is_51","___pointerExtend_51","___interopRequireDefault_51","___getRequireWildcardCache_51","targets","optionalArg","getOptions","elementIndex","typeCount","supportsOptions","__remove_51","addDelegate","contexts","selectors","delegated","removeDelegate","matchFound","_listeners$i","fakeEvent","param","originalEvent","preventDefault","stopPropagation","stopImmediatePropagation","supportsPassive","_elements","_targets","___default_51","_$getOriginXY_53","___default_53","actionOptions","actionOrigin","origin","originRect","_$normalizeListeners_58","___typeof_58","normalize","___extend_58","___interopRequireDefault_58","__is_58","___interopRequireWildcard_58","___getRequireWildcardCache_58","reduce","acc","prefix","combinedTypes","_$raf_61","_request","_cancel","lastTime","__init_61","requestAnimationFrame","cancelAnimationFrame","vendors","currTime","timeToCall","token","___default_61","request","___typeof_55","_getQBezierValue","getQuadraticCurvePoint","easeOutQuad","___window_55","___browser_55","_clone","___extend_55","_getOriginXY","___hypot_55","_normalizeListeners","_raf","dom","__arr_55","___interopRequireWildcard_55","__is_55","___interopRequireDefault_55","___getRequireWildcardCache_55","message","warned","p1","p2","p3","iT","startX","startY","cpX","cpY","endX","endY","perAction","actions","___default_20","___typeof_14","__arr_14","___interopRequireWildcard_14","___extend_14","___interopRequireDefault_14","___normalizeListeners_14","___getRequireWildcardCache_14","___classCallCheck_14","___defineProperties_14","___createClass_14","___defineProperty_14","fireUntilImmediateStopped","immediatePropagationStopped","Eventable","types","propagationStopped","eventList","subListener","_element","___default_14","___typeof_16","__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","___defineProperty_16","defaultContext","_actions","_context","_win","_doc","phases","onstart","on","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","___typeof_17","__arr_17","___interopRequireWildcard_17","__domUtils_17","___extend_17","___interopRequireDefault_17","__is_17","___getRequireWildcardCache_17","___classCallCheck_17","___defineProperties_17","___createClass_17","___defineProperty_17","InteractableSet","addListeners","targetMappings","selectorMap","targetIndex","mappingInfo","addDocument","isSelector","found","inContext","_$BaseEvent_13","___classCallCheck_13","___defineProperties_13","___createClass_13","___defineProperty_13","BaseEvent","___default_13","InteractEvent","__EventPhase_15","___extend_15","___interopRequireDefault_15","___getOriginXY_15","___hypot_15","_BaseEvent2","___typeof_15","___classCallCheck_15","___defineProperties_15","___createClass_15","___defineProperty_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","___typeof_22","__dom_22","___interopRequireWildcard_22","___getRequireWildcardCache_22","finder","methodOrder","details","simulationResume","allowResume","mouseOrPen","firstNonActive","hasPointerId","hasPointer","idle","_ref10","gesture","_ref11","___default_22","_$drag_1","___typeof_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","___defineProperty_2","DropEvent","dropState","dragEvent","_this2","rejected","enter","activeDrops","deactivateEvent","___default_2","_$drop_3","___typeof_3","__utils_3","___interopRequireWildcard_3","_drag","___interopRequireDefault_3","_DropEvent","___getRequireWildcardCache_3","__install_3","interact","dropzoneMethod","dropCheck","draggableElement","dropElement","dropCheckMethod","dynamicDrop","drop","collectDrops","interactables","drops","accept","dropElements","querySelectorAll","dropzoneElement","fireActivationEvents","getActiveDrops","dragElement","activeDrop","getDrop","pointerEvent","validDrops","dropIndex","getDropEvents","_pointerEvent","dropEvents","leave","activate","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","fireDropEvents","onEventCreated","dropResult","normalized","normalizeListeners","corrected","correctedType","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","dropped","dropOverlap","getOriginXY","horizontal","vertical","dragRect","cx","cy","overlapArea","overlapRatio","_ref12","_ref13","_ref14","_ref15","___default_3","_$gesture_4","___typeof_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","___typeof_6","___scope_6","__arr_6","___interopRequireWildcard_6","__dom_6","___extend_6","___interopRequireDefault_6","__is_6","___getRequireWildcardCache_6","__install_6","resize","cursors","initCursors","defaultMargin","resizable","Resize","resizeAxes","updateEventAxes","__move_6","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","_index","_gesture","_resize","___interopRequireDefault_5","_$autoScroll_7","___typeof_7","getContainer","getScroll","getScrollSize","getScrollSizeDelta","__domUtils_7","___interopRequireWildcard_7","__is_7","___raf_7","___interopRequireDefault_7","___getRequireWildcardCache_7","__install_7","autoScroll","isScrolling","prevTime","scrollBy","prevScroll","curScroll","onInteractionMove","innerWidth","innerHeight","scrollWidth","scrollHeight","scrollOptions","scrollContainer","prevSize","curSize","___default_7","_$InteractableMethods_8","___typeof_8","__is_8","___interopRequireWildcard_8","___getRequireWildcardCache_8","__install_8","getAction","actionChecker","styleCursor","defaultActionChecker","0","1","3","4","mouseButtons","___default_8","_$base_9","___typeof_9","__utils_9","___interopRequireWildcard_9","_InteractableMethods","___interopRequireDefault_9","___getRequireWildcardCache_9","__install_9","manualStart","maxPerElement","maxInteractions","autoStart","withinInteractionLimit","cursorElement","prepareOnDown","actionInfo","getActionInfo","prepare","prepareOnMove","startOnMove","setInteractionCursor","clearCursorOnStop","setCursor","validateAction","testIgnoreAllow","validateMatches","matchElements","matchElement","matchAction","pushMatches","forEachMatch","maxActions","autoStartMax","activeInteractions","interactableCount","elementCount","otherAction","cursor","cursorChecker","___default_9","_$dragAxis_10","___typeof_10","___scope_10","__is_10","___interopRequireWildcard_10","_base","___interopRequireDefault_10","___getRequireWildcardCache_10","beforeStart","absX","abs","absY","targetOptions","currentAxis","getDraggable","checkStartAxis","thisAxis","___default_10","_$hold_11","___base_11","___interopRequireDefault_11","__install_11","hold","delay","getHoldDuration","___default_11","autoStartHoldTimer","_$autoStart_12","__install_12","___base_12","_dragAxis","_hold","___interopRequireDefault_12","__id_12","_$interactablePreventDefault_21","___typeof_21","__install_21","___events_21","___interopRequireDefault_21","__is_21","___interopRequireWildcard_21","___getRequireWildcardCache_21","checkAndPreventDefault","docOptions","getDocOptions","onInteractionEvent","___default_21","_$devTools_25","___typeof_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","devTools","ignore","checks","perform","parentHasStyle","getInfo","text","hasStyle","moveListeners","styleRe","__id_25","defaultExport","_scope$logger","___default_25","_$base_30","startAll","setAll","prepareStates","__setCoords_30","restoreCoords","makeModifier","___extend_30","___interopRequireDefault_30","___slicedToArray_30","___arrayWithHoles_30","___iterableToArrayLimit_30","___nonIterableRest_30","__start_30","pageCoords","prevCoords","modifierList","getModifierList","states","startOffset","getRectOffset","startDelta","requireEndOnly","rectDelta","changed","shouldDo","rectChanged","__beforeMove_30","skipModifiers","modifierResult","modifiedCoords","adjustment","beforeEnd","noPreEnd","didPreEnd","endResult","modifierArg","actionModifiers","modifier","_methods","_modifierList$index","curCoords","startCoords","_interaction$modifier","curDelta","_arr$_i","coordsSet","_ref6$interaction","_modifiers$result","coordsAndDeltas","_coordsAndDeltas$_i","endOnly","alwaysOnEnd","setStart","___default_30","offsets","_$inertia_26","___typeof_26","___base_26","___interopRequireWildcard_26","__utils_26","___raf_26","___interopRequireDefault_26","___getRequireWildcardCache_26","__install_26","inertia","resistance","minSpeed","endSpeed","smoothEndDuration","resume","active","timeout","Resume","resumeEvent","release","__getOptions_26","velocityClient","pointerSpeed","smoothEnd","inertiaPossible","startEvent","modifierStatus","InertiaStart","upCoords","vx0","vy0","v0","calcInertia","xe","ye","modifiedXe","modifiedYe","inertiaTick","sx","sy","smothEndTick","__stop_26","lambda","inertiaDur","te","lambda_v0","one_ve_v0","updateInertiaCoords","progress","quadPoint","_getOptions","pageUp","clientUp","___default_26","_$pointer_33","___typeof_33","getRestrictionRect","___extend_33","___interopRequireDefault_33","__is_33","___interopRequireWildcard_33","rectUtils","___getRequireWildcardCache_33","__start_33","elementRect","offset","restriction","widthDiff","heightDiff","__defaults_33","restrict","___default_33","_$edges_32","___typeof_32","___extend_32","___interopRequireDefault_32","__rectUtils_32","___interopRequireWildcard_32","___getRequireWildcardCache_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","___typeof_35","___extend_35","___interopRequireDefault_35","__rectUtils_35","___interopRequireWildcard_35","_edges","___getRequireWildcardCache_35","noMin","noMax","__start_35","__set_35","minSize","maxSize","__defaults_35","restrictSize","___default_35","_$pointer_37","___typeof_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","___typeof_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","___interopRequireWildcard_39","___getRequireWildcardCache_39","___typeof_39","___classCallCheck_39","___defineProperties_39","___createClass_39","___possibleConstructorReturn_39","___assertThisInitialized_39","___getPrototypeOf_39","___inherits_39","___setPrototypeOf_39","___defineProperty_39","interval","tapTime","prevTap","originX","originY","_$base_40","___typeof_40","__utils_40","___interopRequireWildcard_40","_PointerEvent","___interopRequireDefault_40","___getRequireWildcardCache_40","__defaults_40","holdDuration","pointerEvents","__install_40","addInteractionProps","addHoldInfo","moveAndClearHold","downAndStartHold","clearHold","tapAfterUp","collectEventTargets","_arg$targets","eventable","_subtractOrigin","_addOrigin","timer","minDuration","___default_40","_$holdRepeat_41","___base_41","___interopRequireDefault_41","__install_41","holdRepeatInterval","onNew","count","onFired","holdIntervalHandle","endHoldRepeat","clearInterval","___default_41","enderTypes","_$interactableTargets_43","___extend_43","___interopRequireDefault_43","__install_43","pointerEventsMethod","__backCompatOption","___default_43","_$pointerEvents_42","___typeof_42","__install_42","_holdRepeat","_interactableTargets","__pointerEvents_42","___interopRequireWildcard_42","___interopRequireDefault_42","___getRequireWildcardCache_42","__id_42","_$reflow_44","__install_44","reflow","Promise","promises","runningInteraction","reflowPromise","_reflowPromise","resolve","_reflowResolve","xywh","startReflow","_ret","then","Reflow","___default_44","_$interact_28","___typeof_28","___scope_28","___browser_28","___interopRequireDefault_28","___events_28","__utils_28","___interopRequireWildcard_28","___getRequireWildcardCache_28","globalEvents","isSet","__stop_28","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","___default_28","_$interact_27","___typeof_27","__init_27","_index2","_interactablePreventDefault","_index5","___base_27","_index8","_interact","___interopRequireWildcard_27","___interopRequireDefault_27","_index4","__pointerEvents_27","___getRequireWildcardCache_27","_modifiers$type","___default_27","_$grid_63","___slicedToArray_63","___arrayWithHoles_63","___iterableToArrayLimit_63","___nonIterableRest_63","createGrid","grid","coordFields","gridFunc","_grid$limits","limits","_grid$offset","gridx","round","gridy","_isSnapGrid","___default_63","_$snappers_64","_grid","___interopRequireDefault_64","_$interactjs_29","__init_29","___index_29","___interopRequireWildcard_29","__modifiers_29","___extend_29","___interopRequireDefault_29","snappers","___getRequireWildcardCache_29","___typeof_29","createSnapGrid","___default_29","_$index_66","_exportNames","___index_66","___interopRequireWildcard_66","___getRequireWildcardCache_66","___typeof_66","___default_66","_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 \n\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=5a186489&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \n\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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=c806aad8&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.7.2\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 _domObjects = _interopRequireDefault(_$domObjects_49);\n\nvar utils = _interopRequireWildcard(_$utils_55);\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 _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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(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 _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\nfunction _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}\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\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 // main window\n // main document\n // main window\n // all documents being listened to\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n _defineProperty(this, \"id\", \"__interact_scope_\".concat(Math.floor(Math.random() * 100)));\n\n _defineProperty(this, \"listenerMaps\", []);\n\n _defineProperty(this, \"browser\", browser);\n\n _defineProperty(this, \"events\", events);\n\n _defineProperty(this, \"utils\", utils);\n\n _defineProperty(this, \"defaults\", utils.clone(_defaultOptions[\"default\"]));\n\n _defineProperty(this, \"Eventable\", _Eventable[\"default\"]);\n\n _defineProperty(this, \"actions\", {\n names: [],\n methodDict: {},\n eventTypes: []\n });\n\n _defineProperty(this, \"InteractEvent\", _InteractEvent[\"default\"]);\n\n _defineProperty(this, \"Interactable\", void 0);\n\n _defineProperty(this, \"interactables\", new _InteractableSet[\"default\"](this));\n\n _defineProperty(this, \"_win\", void 0);\n\n _defineProperty(this, \"document\", void 0);\n\n _defineProperty(this, \"window\", void 0);\n\n _defineProperty(this, \"documents\", []);\n\n _defineProperty(this, \"_plugins\", {\n list: [],\n map: {}\n });\n\n _defineProperty(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.fire('interactable: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.fire('interactions: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.fire('interactable: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: \"addListeners\",\n value: function addListeners(map, id) {\n this.listenerMaps.push({\n id: id,\n map: map\n });\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n for (var _i = 0; _i < this.listenerMaps.length; _i++) {\n var _ref;\n\n _ref = this.listenerMaps[_i];\n var _ref2 = _ref,\n listener = _ref2.map[name];\n\n if (!!listener && listener(arg, this, name) === false) {\n return false;\n }\n }\n }\n }, {\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._plugins.map[plugin.id] || this._plugins.list.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._plugins.map[plugin.id] = plugin;\n }\n\n this._plugins.list.push(plugin);\n\n if (plugin.install) {\n plugin.install(this, options);\n }\n\n if (plugin.listeners && plugin.before) {\n var index = 0;\n\n for (; index < this.listenerMaps.length; index++) {\n var otherId = this.listenerMaps[index].id;\n\n if (otherId === plugin.before) {\n break;\n }\n }\n\n this.listenerMaps.splice(index, 0, {\n id: plugin.id,\n map: plugin.listeners\n });\n } else if (plugin.listeners) {\n this.listenerMaps.push({\n id: plugin.id,\n map: plugin.listeners\n });\n }\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.fire('scope: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.fire('scope: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_47);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_49);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar _events = _interopRequireDefault(_$events_51);\n\nvar pointerUtils = _interopRequireWildcard(_$pointerUtils_60);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(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 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 }); // 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 // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.scopeFire = function (name, arg) {\n return scope.fire(name, arg);\n };\n\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_50.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 var pointerType = pointerUtils.getPointerType(event);\n\n var _pointerUtils$getEven = pointerUtils.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 var pointerId = pointerUtils.getPointerId(pointer);\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.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.fire('interactions:find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, eventMethodName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = _events[\"default\"][eventMethodName];\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 listeners: {\n 'scope:add-document': function scopeAddDocument(arg) {\n return onDocSignal(arg, 'add');\n },\n 'scope:remove-document': function scopeRemoveDocument(arg) {\n return onDocSignal(arg, 'remove');\n }\n },\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\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\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_55);\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; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 _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}\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 _createClass(Interaction, [{\n key: \"pointerMoveTolerance\",\n // current interactable being interacted with\n // the target element of the interactable\n // action that's ready to be fired on next move event\n // keep track of added pointers\n // pointerdown/mousedown/touchstart event\n // previous action event\n get: function get() {\n return 1;\n }\n /**\n * @alias Interaction.prototype.move\n */\n\n /** */\n\n }]);\n\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n scopeFire = _ref.scopeFire;\n\n _classCallCheck(this, Interaction);\n\n _defineProperty(this, \"interactable\", null);\n\n _defineProperty(this, \"element\", null);\n\n _defineProperty(this, \"rect\", void 0);\n\n _defineProperty(this, \"edges\", void 0);\n\n _defineProperty(this, \"_scopeFire\", void 0);\n\n _defineProperty(this, \"prepared\", {\n name: null,\n axis: null,\n edges: null\n });\n\n _defineProperty(this, \"pointerType\", void 0);\n\n _defineProperty(this, \"pointers\", []);\n\n _defineProperty(this, \"downEvent\", null);\n\n _defineProperty(this, \"downPointer\", {});\n\n _defineProperty(this, \"_latestPointer\", {\n pointer: null,\n event: null,\n eventTarget: null\n });\n\n _defineProperty(this, \"prevEvent\", null);\n\n _defineProperty(this, \"pointerIsDown\", false);\n\n _defineProperty(this, \"pointerWasMoved\", false);\n\n _defineProperty(this, \"_interacting\", false);\n\n _defineProperty(this, \"_ending\", false);\n\n _defineProperty(this, \"_stopped\", true);\n\n _defineProperty(this, \"_proxy\", null);\n\n _defineProperty(this, \"simulation\", null);\n\n _defineProperty(this, \"doMove\", utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()'));\n\n _defineProperty(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\n this._scopeFire = scopeFire;\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._scopeFire('interactions: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._scopeFire('interactions:down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n type: 'down',\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 type: 'move',\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._scopeFire('interactions:move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n signalArg.type = null;\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 var type = /cancel$/i.test(event.type) ? 'cancel' : 'up';\n\n this._scopeFire(\"interactions:\".concat(type), {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n type: type,\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._scopeFire('interactions:blur', {\n event: event,\n type: 'blur',\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._scopeFire('interactions: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._scopeFire('interactions: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._scopeFire('interactions:remove-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: null,\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._scopeFire(\"interactions: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._scopeFire(\"interactions:action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._scopeFire(\"interactions: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\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$domObjects_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_49, \"__esModule\", {\n value: true\n});\n_$domObjects_49[\"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_49[\"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 _$arr_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_46, \"__esModule\", {\n value: true\n});\n_$arr_46.contains = contains;\n_$arr_46.remove = remove;\n_$arr_46.merge = merge;\n_$arr_46.from = from;\n_$arr_46.findIndex = findIndex;\n_$arr_46.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 _$isWindow_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_57, \"__esModule\", {\n value: true\n});\n_$isWindow_57[\"default\"] = void 0;\n\nvar ___default_57 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_57[\"default\"] = ___default_57;\n\nvar _$window_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_65, \"__esModule\", {\n value: true\n});\n_$window_65.init = __init_65;\n_$window_65.getWindow = getWindow;\n_$window_65[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_57);\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_65\n};\n\nfunction __init_65(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_65(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_65;\nvar ___default_65 = win;\n_$window_65[\"default\"] = ___default_65;\n\nvar _$is_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_56, \"__esModule\", {\n value: true\n});\n_$is_56.array = _$is_56.plainObject = _$is_56.element = _$is_56.string = _$is_56.bool = _$is_56.number = _$is_56.func = _$is_56.object = _$is_56.docFrag = _$is_56.window = void 0;\n\nvar ___isWindow_56 = ___interopRequireDefault_56(_$isWindow_57);\n\nvar _window2 = ___interopRequireDefault_56(_$window_65);\n\nfunction ___interopRequireDefault_56(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_56 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_56[\"default\"])(thing);\n};\n\n_$is_56.window = __window_56;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_56.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_56.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_56.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_56.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_56.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_56.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_56.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_56.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_56.array = array;\n\nvar _$browser_47 = {};\n\"use strict\";\n\nfunction ___typeof_47(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_47 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_47 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_47(obj); }\n\nObject.defineProperty(_$browser_47, \"__esModule\", {\n value: true\n});\n_$browser_47[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_47(_$domObjects_49);\n\nvar is = _interopRequireWildcard(_$is_56);\n\nvar _window = ___interopRequireDefault_47(_$window_65);\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; } if (obj === null || ___typeof_47(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_47(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_47,\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_47(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_47 = browser;\n_$browser_47[\"default\"] = ___default_47;\n\nvar _$domUtils_50 = {};\n\"use strict\";\n\nfunction ___typeof_50(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_50 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_50 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_50(obj); }\n\nObject.defineProperty(_$domUtils_50, \"__esModule\", {\n value: true\n});\n_$domUtils_50.nodeContains = nodeContains;\n_$domUtils_50.closest = closest;\n_$domUtils_50.parentNode = parentNode;\n_$domUtils_50.matchesSelector = matchesSelector;\n_$domUtils_50.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_50.matchesUpTo = matchesUpTo;\n_$domUtils_50.getActualElement = getActualElement;\n_$domUtils_50.getScrollXY = getScrollXY;\n_$domUtils_50.getElementClientRect = getElementClientRect;\n_$domUtils_50.getElementRect = getElementRect;\n_$domUtils_50.getPath = getPath;\n_$domUtils_50.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_50(_$browser_47);\n\nvar ___domObjects_50 = ___interopRequireDefault_50(_$domObjects_49);\n\nvar __is_50 = ___interopRequireWildcard_50(_$is_56);\n\nvar ___window_50 = ___interopRequireWildcard_50(_$window_65);\n\nfunction ___getRequireWildcardCache_50() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_50 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_50(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_50(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_50(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_50(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_50.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_50.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_50.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_50[\"default\"].window !== ___window_50[\"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_50.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_50.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_50[\"default\"].HTMLElement && dropzone instanceof ___domObjects_50[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_50[\"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_50.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_50[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_50[\"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_50[\"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_50[\"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_50.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_50[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$hypot_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_54, \"__esModule\", {\n value: true\n});\n_$hypot_54[\"default\"] = void 0;\n\nvar ___default_54 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_54[\"default\"] = ___default_54;\n\nvar _$pointerExtend_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_59, \"__esModule\", {\n value: true\n});\n_$pointerExtend_59[\"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_59 = pointerExtend;\n_$pointerExtend_59[\"default\"] = ___default_59;\n\nvar _$pointerUtils_60 = {};\n\"use strict\";\n\nfunction ___typeof_60(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_60 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_60 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_60(obj); }\n\nObject.defineProperty(_$pointerUtils_60, \"__esModule\", {\n value: true\n});\n_$pointerUtils_60.copyCoords = copyCoords;\n_$pointerUtils_60.setCoordDeltas = setCoordDeltas;\n_$pointerUtils_60.setCoordVelocity = setCoordVelocity;\n_$pointerUtils_60.setZeroCoords = setZeroCoords;\n_$pointerUtils_60.isNativePointer = isNativePointer;\n_$pointerUtils_60.getXY = getXY;\n_$pointerUtils_60.getPageXY = getPageXY;\n_$pointerUtils_60.getClientXY = getClientXY;\n_$pointerUtils_60.getPointerId = getPointerId;\n_$pointerUtils_60.setCoords = setCoords;\n_$pointerUtils_60.getTouchPair = getTouchPair;\n_$pointerUtils_60.pointerAverage = pointerAverage;\n_$pointerUtils_60.touchBBox = touchBBox;\n_$pointerUtils_60.touchDistance = touchDistance;\n_$pointerUtils_60.touchAngle = touchAngle;\n_$pointerUtils_60.getPointerType = getPointerType;\n_$pointerUtils_60.getEventTargets = getEventTargets;\n_$pointerUtils_60.newCoords = newCoords;\n_$pointerUtils_60.coordsToEvent = coordsToEvent;\nObject.defineProperty(_$pointerUtils_60, \"pointerExtend\", {\n enumerable: true,\n get: function get() {\n return _pointerExtend[\"default\"];\n }\n});\n\nvar ___browser_60 = ___interopRequireDefault_60(_$browser_47);\n\nvar ___domObjects_60 = ___interopRequireDefault_60(_$domObjects_49);\n\nvar domUtils = ___interopRequireWildcard_60(_$domUtils_50);\n\nvar _hypot = ___interopRequireDefault_60(_$hypot_54);\n\nvar __is_60 = ___interopRequireWildcard_60(_$is_56);\n\nvar _pointerExtend = ___interopRequireDefault_60(_$pointerExtend_59);\n\nfunction ___getRequireWildcardCache_60() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_60 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_60(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_60(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_60(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_60(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction 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\nfunction 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\nfunction 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\nfunction setZeroCoords(targetObj) {\n targetObj.page.x = 0;\n targetObj.page.y = 0;\n targetObj.client.x = 0;\n targetObj.client.y = 0;\n}\n\nfunction isNativePointer(pointer) {\n return pointer instanceof ___domObjects_60[\"default\"].Event || pointer instanceof ___domObjects_60[\"default\"].Touch;\n} // Get specified X/Y coords for mouse or event.touches[0]\n\n\nfunction 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\nfunction 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_60[\"default\"].isOperaMobile && isNativePointer(pointer)) {\n getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n getXY('page', pointer, page);\n }\n\n return page;\n}\n\nfunction getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_60[\"default\"].isOperaMobile && isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n getXY('screen', pointer, client);\n } else {\n getXY('client', pointer, client);\n }\n\n return client;\n}\n\nfunction getPointerId(pointer) {\n return __is_60.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n}\n\nfunction setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n}\n\nfunction getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_60.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\nfunction 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\nfunction touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = 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\nfunction touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = 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\nfunction touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = 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\nfunction getPointerType(pointer) {\n return __is_60.string(pointer.pointerType) ? pointer.pointerType : __is_60.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_60[\"default\"].Touch ? 'touch' : 'mouse';\n} // [ event.target, event.currentTarget ]\n\n\nfunction getEventTargets(event) {\n var path = __is_60.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n}\n\nfunction 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\nfunction 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 _$extend_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_52, \"__esModule\", {\n value: true\n});\n_$extend_52[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n var ret = dest;\n return ret;\n}\n\nvar _$rect_62 = {};\n\"use strict\";\n\nfunction ___typeof_62(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_62 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_62 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_62(obj); }\n\nObject.defineProperty(_$rect_62, \"__esModule\", {\n value: true\n});\n_$rect_62.getStringOptionResult = getStringOptionResult;\n_$rect_62.resolveRectLike = resolveRectLike;\n_$rect_62.rectToXY = rectToXY;\n_$rect_62.xywhToTlbr = xywhToTlbr;\n_$rect_62.tlbrToXywh = tlbrToXywh;\n\n/* removed: var _$domUtils_50 = require(\"./domUtils.js\"); */;\n\nvar _extend = ___interopRequireDefault_62(_$extend_52);\n\nvar __is_62 = ___interopRequireWildcard_62(_$is_56);\n\nfunction ___getRequireWildcardCache_62() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_62 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_62(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_62(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_62(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_62(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_50.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_50.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_62.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_62.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_62.element(value)) {\n value = (0, _$domUtils_50.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 _$clone_48 = {};\n\"use strict\";\n\nfunction ___typeof_48(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_48 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_48 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_48(obj); }\n\nObject.defineProperty(_$clone_48, \"__esModule\", {\n value: true\n});\n_$clone_48[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_48(_$arr_46);\n\nvar __is_48 = ___interopRequireWildcard_48(_$is_56);\n\nfunction ___getRequireWildcardCache_48() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_48 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_48(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_48(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_48(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_48.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_48.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$events_51 = {};\n\"use strict\";\n\nfunction ___typeof_51(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_51 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_51 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_51(obj); }\n\nObject.defineProperty(_$events_51, \"__esModule\", {\n value: true\n});\n_$events_51[\"default\"] = _$events_51.FakeEvent = void 0;\n\n/* removed: var _$arr_46 = require(\"./arr.js\"); */;\n\nvar __domUtils_51 = ___interopRequireWildcard_51(_$domUtils_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_56);\n\nvar ___pointerExtend_51 = ___interopRequireDefault_51(_$pointerExtend_59);\n\nvar pointerUtils = ___interopRequireWildcard_51(_$pointerUtils_60);\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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; } if (obj === null || ___typeof_51(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction _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}\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_46.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_51(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_51(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_51(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_51(context, type, delegateListener);\n __remove_51(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.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_51.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_51.matchesSelector(element, selector) && __domUtils_51.nodeContains(context, eventTarget) && __domUtils_51.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_51.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_51.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;\n\n _defineProperty(this, \"currentTarget\", void 0); // duplicate the event so that currentTarget can be changed\n\n\n (0, ___pointerExtend_51[\"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_51.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_51,\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_51 = events;\n_$events_51[\"default\"] = ___default_51;\n\nvar _$getOriginXY_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_53, \"__esModule\", {\n value: true\n});\n_$getOriginXY_53[\"default\"] = ___default_53;\n\n/* removed: var _$rect_62 = require(\"./rect.js\"); */;\n\nfunction ___default_53(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_62.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_62.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_58 = {};\n\"use strict\";\n\nfunction ___typeof_58(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_58 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_58 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_58(obj); }\n\nObject.defineProperty(_$normalizeListeners_58, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_58[\"default\"] = normalize;\n\nvar ___extend_58 = ___interopRequireDefault_58(_$extend_52);\n\nvar __is_58 = ___interopRequireWildcard_58(_$is_56);\n\nfunction ___getRequireWildcardCache_58() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_58 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_58(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_58(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_58(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_58(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_58.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_58.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_58[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_58.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_58.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_58.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_58.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_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_61, \"__esModule\", {\n value: true\n});\n_$raf_61[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_61(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_61 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_61\n};\n_$raf_61[\"default\"] = ___default_61;\n\nvar _$utils_55 = {};\n\"use strict\";\n\nfunction ___typeof_55(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_55 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_55 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_55(obj); }\n\nObject.defineProperty(_$utils_55, \"__esModule\", {\n value: true\n});\n_$utils_55.warnOnce = warnOnce;\n_$utils_55._getQBezierValue = _getQBezierValue;\n_$utils_55.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_55.easeOutQuad = easeOutQuad;\n_$utils_55.copyAction = copyAction;\nObject.defineProperty(_$utils_55, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_55[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_55, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\n_$utils_55.rect = _$utils_55.pointer = _$utils_55.is = _$utils_55.dom = _$utils_55.arr = void 0;\n\nvar __arr_55 = ___interopRequireWildcard_55(_$arr_46);\n\n_$utils_55.arr = __arr_55;\n\nvar dom = ___interopRequireWildcard_55(_$domUtils_50);\n\n_$utils_55.dom = dom;\n\nvar __is_55 = ___interopRequireWildcard_55(_$is_56);\n\n_$utils_55.is = __is_55;\n\nvar pointer = ___interopRequireWildcard_55(_$pointerUtils_60);\n\n_$utils_55.pointer = pointer;\n\nvar rect = ___interopRequireWildcard_55(_$rect_62);\n\n_$utils_55.rect = rect;\n\nvar ___window_55 = ___interopRequireDefault_55(_$window_65);\n\nvar ___browser_55 = ___interopRequireDefault_55(_$browser_47);\n\nvar _clone = ___interopRequireDefault_55(_$clone_48);\n\nvar _events = ___interopRequireDefault_55(_$events_51);\n\nvar ___extend_55 = ___interopRequireDefault_55(_$extend_52);\n\nvar _getOriginXY = ___interopRequireDefault_55(_$getOriginXY_53);\n\nvar ___hypot_55 = ___interopRequireDefault_55(_$hypot_54);\n\nvar _normalizeListeners = ___interopRequireDefault_55(_$normalizeListeners_58);\n\nvar _raf = ___interopRequireDefault_55(_$raf_61);\n\nfunction ___interopRequireDefault_55(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_55() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_55 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_55(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_55(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_55(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_55[\"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\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\n// export interface Options extends BaseDefaults, PerActionDefaults {}\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\nfunction ___typeof_14(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_14 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_14 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_14(obj); }\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_46);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_52);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_58);\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; } if (obj === null || ___typeof_14(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 ___defineProperty_14(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}\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 ___defineProperty_14(this, \"options\", void 0);\n\n ___defineProperty_14(this, \"types\", {});\n\n ___defineProperty_14(this, \"propagationStopped\", false);\n\n ___defineProperty_14(this, \"immediatePropagationStopped\", false);\n\n ___defineProperty_14(this, \"global\", void 0);\n\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\nfunction ___typeof_16(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_16 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_16 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_16(obj); }\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_46);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_47);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_48);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_51);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_52);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_56);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_58);\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_16(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___defineProperty_16(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}\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n ___createClass_16(Interactable, [{\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n /** */\n\n }]);\n\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n ___defineProperty_16(this, \"options\", void 0);\n\n ___defineProperty_16(this, \"_actions\", void 0);\n\n ___defineProperty_16(this, \"target\", void 0);\n\n ___defineProperty_16(this, \"events\", new _Eventable[\"default\"]());\n\n ___defineProperty_16(this, \"_context\", void 0);\n\n ___defineProperty_16(this, \"_win\", void 0);\n\n ___defineProperty_16(this, \"_doc\", void 0);\n\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_65.getWindow)((0, _$domUtils_50.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_50.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_50.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_50.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_50.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_50.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_50.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_50.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\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\nfunction ___typeof_17(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_17 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_17 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_17(obj); }\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_46);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_50);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_52);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_56);\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; } if (obj === null || ___typeof_17(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___defineProperty_17(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}\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n // all set interactables\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n\n ___defineProperty_17(this, \"list\", []);\n\n ___defineProperty_17(this, \"selectorMap\", {});\n\n scope.addListeners({\n 'interactable:unset': function interactableUnset(_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\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.scope.fire('interactable: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\nfunction ___defineProperty_13(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}\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 ___createClass_13(BaseEvent, [{\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n ___defineProperty_13(this, \"type\", void 0);\n\n ___defineProperty_13(this, \"target\", void 0);\n\n ___defineProperty_13(this, \"currentTarget\", void 0);\n\n ___defineProperty_13(this, \"interactable\", void 0);\n\n ___defineProperty_13(this, \"_interaction\", void 0);\n\n ___defineProperty_13(this, \"timeStamp\", void 0);\n\n ___defineProperty_13(this, \"immediatePropagationStopped\", false);\n\n ___defineProperty_13(this, \"propagationStopped\", false);\n\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\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_52);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_53);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_54);\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\nfunction ___defineProperty_15(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}\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 // drag\n // resize\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\n ___defineProperty_15(_assertThisInitialized(_this), \"target\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"currentTarget\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"relatedTarget\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"screenX\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"screenY\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"button\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"buttons\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"ctrlKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"shiftKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"altKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"metaKey\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"page\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"client\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"delta\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"rect\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"x0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"y0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"t0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dt\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"duration\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"clientX0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"clientY0\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"velocity\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"speed\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"swipe\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"timeStamp\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dragEnter\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"dragLeave\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"axes\", void 0);\n\n ___defineProperty_15(_assertThisInitialized(_this), \"preEnd\", void 0);\n\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\nfunction ___typeof_22(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_22 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_22 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_22(obj); }\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_50);\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; } if (obj === null || ___typeof_22(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___typeof_1(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_1 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_1 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_1(obj); }\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_46);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_56);\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; } if (obj === null || ___typeof_1(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.addListeners({\n 'interactions:before-action-move': beforeMove,\n 'interactions:action-resume': beforeMove,\n // dragmove\n 'interactions:action-move': move\n });\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_46);\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; } if (obj === null || ___typeof_2(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\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 ___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\nfunction ___defineProperty_2(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}\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\n ___defineProperty_2(___assertThisInitialized_2(_this), \"target\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"dropzone\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"dragEvent\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"relatedTarget\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"draggable\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"timeStamp\", void 0);\n\n ___defineProperty_2(___assertThisInitialized_2(_this), \"propagationStopped\", false);\n\n ___defineProperty_2(___assertThisInitialized_2(_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\nfunction ___typeof_3(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_3 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_3 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_3(obj); }\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_55);\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; } if (obj === null || ___typeof_3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\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(_ref, draggableElement) {\n var interactables = _ref.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 _ref2;\n\n _ref2 = interactables.list[_i];\n var dropzone = _ref2;\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 _ref3;\n\n _ref3 = dropElements[_i2];\n var dropzoneElement = _ref3;\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 _ref4;\n\n _ref4 = activeDrops[_i3];\n var _ref5 = _ref4,\n dropzone = _ref5.dropzone,\n element = _ref5.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 _ref6;\n\n _ref6 = activeDrops[_i4];\n var activeDrop = _ref6;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref7, dragEvent, pointerEvent) {\n var dropState = _ref7.dropState,\n draggable = _ref7.interactable,\n dragElement = _ref7.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 _ref8;\n\n _ref8 = dropState.activeDrops[_i5];\n var _ref9 = _ref8,\n dropzone = _ref9.dropzone,\n dropzoneElement = _ref9.element,\n rect = _ref9.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(_ref10, scope) {\n var interaction = _ref10.interaction,\n iEvent = _ref10.iEvent,\n event = _ref10.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 listeners: {\n 'interactions:before-action-start': function interactionsBeforeActionStart(_ref11) {\n var interaction = _ref11.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:after-action-start': function interactionsAfterActionStart(_ref12, scope) {\n var interaction = _ref12.interaction,\n event = _ref12.event,\n dragEvent = _ref12.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 },\n // FIXME proper signal types\n 'interactions:action-move': onEventCreated,\n 'interactions:action-end': onEventCreated,\n 'interactions:after-action-move': function fireDropAfterMove(_ref13) {\n var interaction = _ref13.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:after-action-end': function interactionsAfterActionEnd(_ref14) {\n var interaction = _ref14.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n },\n 'interactions:stop': function interactionsStop(_ref15) {\n var interaction = _ref15.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 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\nfunction ___typeof_4(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_4 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_4 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_4(obj); }\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_55);\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; } if (obj === null || ___typeof_4(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 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 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 listeners: {\n 'interactions:action-start': updateGestureProps,\n 'interactions:action-move': updateGestureProps,\n 'interactions:action-end': updateGestureProps,\n 'interactions:new': function interactionsNew(_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 },\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\nfunction ___typeof_6(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_6 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_6 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_6(obj); }\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_46);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_50);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_52);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_56);\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; } if (obj === null || ___typeof_6(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults; // Less Precision with touch input\n\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 listeners: {\n 'interactions:new': function interactionsNew(_ref) {\n var interaction = _ref.interaction;\n interaction.resizeAxes = 'xy';\n },\n 'interactions:action-start': function interactionsActionStart(arg) {\n start(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-move': function interactionsActionMove(arg) {\n __move_6(arg);\n updateEventAxes(arg);\n },\n 'interactions:action-end': end\n },\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(_ref2) {\n var edges = _ref2.edges,\n axis = _ref2.axis,\n name = _ref2.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(_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 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(_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 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(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.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(_ref6) {\n var iEvent = _ref6.iEvent,\n interaction = _ref6.interaction;\n\n if (interaction.prepared.name !== ___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 _index[\"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 _index = ___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(_index[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nfunction ___typeof_7(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_7 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_7 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_7(obj); }\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_50);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_56);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_61);\n\n/* removed: var _$rect_62 = require(\"../utils/rect.js\"); */;\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_7(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\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 // the handle returned by window.setInterval\n x: 0,\n y: 0,\n // Direction each pulse is to scroll in\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(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.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_62.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_65.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(_ref2, func) {\n var interaction = _ref2.interaction,\n element = _ref2.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 listeners: {\n 'interactions:new': function interactionsNew(_ref3) {\n var interaction = _ref3.interaction;\n interaction.autoScroll = null;\n },\n 'interactions:destroy': function interactionsDestroy(_ref4) {\n var interaction = _ref4.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n },\n 'interactions:stop': autoScroll.stop,\n 'interactions:action-move': function interactionsActionMove(arg) {\n return autoScroll.onInteractionMove(arg);\n }\n }\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nfunction ___typeof_8(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_8 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_8 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_8(obj); }\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_55 = require(\"../utils/index.js\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_56);\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; } if (obj === null || ___typeof_8(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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// TODO: there seems to be a @babel/preset-typescript bug causing regular import\n// syntax to remain in js output\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_55.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_55.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\nfunction ___typeof_9(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_9 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_9 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_9(obj); }\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_55);\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; } if (obj === null || ___typeof_9(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]);\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 };\n}\n\nfunction prepareOnDown(_ref, scope) {\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}\n\nfunction prepareOnMove(_ref2, scope) {\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\nfunction startOnMove(arg, scope) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.fire('autoStart: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\nfunction clearCursorOnStop(_ref3, scope) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\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.fire('autoStart: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 listeners: {\n 'interactions:down': prepareOnDown,\n 'interactions:move': function interactionsMove(arg, scope) {\n prepareOnMove(arg, scope);\n startOnMove(arg, scope);\n },\n 'interactions:stop': clearCursorOnStop\n },\n before: 'ations',\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nfunction ___typeof_10(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_10 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_10 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_10(obj); }\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_50 = require(\"../utils/domUtils.js\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_56);\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; } if (obj === null || ___typeof_10(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 beforeStart(_ref, scope) {\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_50.parentNode)(element);\n }\n }\n}\n\nfunction 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\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n listeners: {\n 'autoStart:before-start': beforeStart\n }\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 defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\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 listeners: {\n 'interactions:new': function interactionsNew(_ref) {\n var interaction = _ref.interaction;\n interaction.autoStartHoldTimer = null;\n },\n 'autoStart:prepared': function autoStartPrepared(_ref2) {\n var interaction = _ref2.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:move': function interactionsMove(_ref3) {\n var interaction = _ref3.interaction,\n duplicate = _ref3.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n },\n // prevent regular down->move autoStart\n 'autoStart:before-start': function autoStartBeforeStart(_ref4) {\n var interaction = _ref4.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n }\n },\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\nfunction ___typeof_21(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_21 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_21 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_21(obj); }\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_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_51);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_56);\n\n/* removed: var _$window_65 = require(\"../utils/window.js\"); */;\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; } if (obj === null || ___typeof_21(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_65.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_50.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 }; // 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 _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_50.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 listeners: ['down', 'move', 'up', 'cancel'].reduce(function (acc, eventType) {\n acc[\"interactions:\".concat(eventType)] = onInteractionEvent;\n return acc;\n }, {})\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nfunction ___typeof_25(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_25 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_25 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_25(obj); }\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_49);\n\n/* removed: var _$domUtils_50 = require(\"../utils/domUtils.js\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_52);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_56);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_65);\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; } if (obj === null || ___typeof_25(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 = undefined === '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 Interactable = scope.Interactable,\n defaults = scope.defaults;\n scope.logger = logger || console;\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(_ref2) {\n var element = _ref2.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref3) {\n var element = _ref3.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(_ref4) {\n var element = _ref4.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_50.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 listeners: {\n 'interactions:action-start': function interactionsActionStart(_ref5, scope) {\n var interaction = _ref5.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref6;\n\n _ref6 = checks[_i];\n var check = _ref6;\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 _scope$logger;\n\n (_scope$logger = scope.logger).warn.apply(_scope$logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n }\n },\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_30;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_52);\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 __start_30(_ref, pageCoords, prevCoords) {\n var interaction = _ref.interaction,\n phase = _ref.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 _ref2;\n\n _ref2 = states[_i];\n var state = _ref2;\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 _ref3;\n\n _ref3 = states[_i2];\n var state = _ref3;\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_30(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 _ref4;\n\n _ref4 = states[_i3];\n var state = _ref4;\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 _ref5;\n\n _ref5 = states[_i4];\n var state = _ref5;\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 = null;\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_30(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(_ref6) {\n var _ref6$interaction = _ref6.interaction,\n coords = _ref6$interaction.coords,\n rect = _ref6$interaction.rect,\n modifiers = _ref6$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: function install(scope) {\n scope.defaults.perAction.modifiers = [];\n },\n listeners: {\n 'interactions:new': function interactionsNew(_ref7) {\n var interaction = _ref7.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:before-action-start': function interactionsBeforeActionStart(arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n __setCoords_30(arg);\n },\n 'interactions:action-resume': function interactionsActionResume(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:after-action-move': restoreCoords,\n 'interactions:before-action-move': __beforeMove_30,\n 'interactions:after-action-start': restoreCoords,\n 'interactions:before-action-end': beforeEnd,\n 'interactions:stop': stop\n },\n before: 'ations',\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\nfunction ___typeof_26(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_26 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_26 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_26(obj); }\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"../core/InteractEvent.js\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_55);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_61);\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; } if (obj === null || ___typeof_26(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 defaults = scope.defaults;\n scope.usePlugin(___base_26[\"default\"]);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n // the lambda in exponential decay\n minSpeed: 100,\n // target speed must be above this for inertia to start\n endSpeed: 10,\n // the speed at which inertia is slow enough to stop\n allowResume: true,\n // allow resuming an action in inertia phase\n smoothEndDuration: 300 // animate to snap/restrict endOnly if there's no inertia\n\n };\n}\n\nfunction resume(_ref, scope) {\n var interaction = _ref.interaction,\n event = _ref.event,\n pointer = _ref.pointer,\n eventTarget = _ref.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.fire('interactions: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(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n noPreEnd = _ref2.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 interactable: interaction.interactable,\n element: interaction.element,\n rect: interaction.rect,\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(_ref3) {\n var interaction = _ref3.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(_ref4) {\n var interactable = _ref4.interactable,\n prepared = _ref4.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 listeners: {\n 'interactions:new': function interactionsNew(_ref5) {\n var interaction = _ref5.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n },\n 'interactions:before-action-end': release,\n 'interactions:down': resume,\n 'interactions:stop': __stop_26\n },\n before: 'modifiers/base',\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\nfunction ___typeof_33(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_33 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_33 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_33(obj); }\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33.getRestrictionRect = getRestrictionRect;\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_52);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_56);\n\nvar rectUtils = ___interopRequireWildcard_33(_$rect_62);\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; } if (obj === null || ___typeof_33(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 = rectUtils.xywhToTlbr(restriction);\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 rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return rectUtils.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 defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nfunction ___typeof_32(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_32 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_32 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_32(obj); }\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_52);\n\nvar __rectUtils_32 = ___interopRequireWildcard_32(_$rect_62);\n\n/* removed: var _$pointer_33 = require(\"./pointer.js\"); */;\n\nfunction ___getRequireWildcardCache_32() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_32 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_32(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_32(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_32(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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 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 = (0, _$pointer_33.getRestrictionRect)(options.offset, interaction, interaction.coords.start.page);\n offset = __rectUtils_32.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 = (0, _$pointer_33.getRestrictionRect)(options.inner, interaction, page) || {};\n var outer = (0, _$pointer_33.getRestrictionRect)(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 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_52);\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\nfunction ___typeof_35(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_35 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_35 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_35(obj); }\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_52);\n\nvar __rectUtils_35 = ___interopRequireWildcard_35(_$rect_62);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\n/* removed: var _$pointer_33 = require(\"./pointer.js\"); */;\n\nfunction ___getRequireWildcardCache_35() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_35 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_35(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_35(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_35(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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 = __rectUtils_35.xywhToTlbr(interaction.resizeRects.inverted);\n var minSize = __rectUtils_35.tlbrToXywh((0, _$pointer_33.getRestrictionRect)(options.min, interaction, arg.coords)) || noMin;\n var maxSize = __rectUtils_35.tlbrToXywh((0, _$pointer_33.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\nfunction ___typeof_37(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_37 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_37 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_37(obj); }\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_55);\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; } if (obj === null || ___typeof_37(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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\nfunction ___typeof_38(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_38 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_38 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_38(obj); }\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_52);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_56);\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; } if (obj === null || ___typeof_38(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_48);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_52);\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 = ___interopRequireWildcard_39(_$pointerUtils_60);\n\nfunction ___getRequireWildcardCache_39() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_39 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_39(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_39(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_39(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_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\nfunction ___defineProperty_39(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}\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 ___defineProperty_39(___assertThisInitialized_39(_this), \"type\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"originalEvent\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pointerId\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pointerType\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"double\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pageX\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"pageY\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"clientX\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"clientY\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"dt\", void 0);\n\n ___defineProperty_39(___assertThisInitialized_39(_this), \"eventable\", void 0);\n\n __pointerUtils_39.pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n __pointerUtils_39.pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = __pointerUtils_39.getPointerId(pointer);\n _this.pointerType = __pointerUtils_39.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\nfunction ___typeof_40(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_40 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_40 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_40(obj); }\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_55);\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; } if (obj === null || ___typeof_40(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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 __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 listeners: {\n 'interactions:new': addInteractionProps,\n 'interactions:update-pointer': addHoldInfo,\n 'interactions:move': moveAndClearHold,\n 'interactions:down': function interactionsDown(arg, scope) {\n downAndStartHold(arg, scope);\n fire(arg, scope);\n },\n 'interactions:up': function interactionsUp(arg, scope) {\n clearHold(arg);\n fire(arg, scope);\n tapAfterUp(arg, scope);\n },\n 'interactions:cancel': function interactionsCancel(arg, scope) {\n clearHold(arg);\n fire(arg, scope);\n }\n },\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\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 type = arg.type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg, scope) : _arg$targets;\n var pointerEvent = new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now());\n scope.fire('pointerEvents:new', {\n pointerEvent: pointerEvent\n });\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 scope.fire('pointerEvents: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, scope) {\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 scope.fire('pointerEvents: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 addInteractionProps(_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\nfunction addHoldInfo(_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\nfunction clearHold(_ref5) {\n var interaction = _ref5.interaction,\n pointerIndex = _ref5.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n}\n\nfunction moveAndClearHold(_ref6, scope) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n duplicate = _ref6.duplicate;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicate && (!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\nfunction downAndStartHold(_ref7, scope) {\n var interaction = _ref7.interaction,\n pointer = _ref7.pointer,\n event = _ref7.event,\n eventTarget = _ref7.eventTarget,\n pointerIndex = _ref7.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 _ref8;\n\n _ref8 = path[_i2];\n var node = _ref8;\n signalArg.node = node;\n scope.fire('pointerEvents: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 _ref9;\n\n _ref9 = signalArg.targets[_i3];\n var target = _ref9;\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\nfunction tapAfterUp(_ref10, scope) {\n var interaction = _ref10.interaction,\n pointer = _ref10.pointer,\n event = _ref10.event,\n eventTarget = _ref10.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\nfunction __install_40(scope) {\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\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 scope.usePlugin(___base_41[\"default\"]);\n var pointerEvents = scope.pointerEvents; // don't repeat by default\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 listeners: ['move', 'up', 'cancel', 'endall'].reduce(function (acc, enderTypes) {\n acc[\"pointerEvents:\".concat(enderTypes)] = endHoldRepeat;\n return acc;\n }, {\n 'pointerEvents:new': onNew,\n 'pointerEvents:fired': onFired\n })\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_46 = require(\"../utils/arr.js\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_52);\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 (0, _$arr_46.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 plugin = {\n id: 'pointer-events/interactableTargets',\n install: __install_43,\n listeners: {\n 'pointerEvents:collect-targets': function pointerEventsCollectTargets(_ref, scope) {\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 'interactable:new': function interactableNew(_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n },\n 'interactable:set': function interactableSet(_ref3, scope) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, scope.pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n }\n }\n};\nvar ___default_43 = plugin;\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nfunction ___typeof_42(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_42 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_42 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_42(obj); }\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\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.pointerEvents = _$pointerEvents_42.id = void 0;\n\nvar __pointerEvents_42 = ___interopRequireWildcard_42(_$base_40);\n\n_$pointerEvents_42.pointerEvents = __pointerEvents_42;\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 ___getRequireWildcardCache_42() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_42 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_42(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_42(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_42(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_42(scope) {\n scope.usePlugin(__pointerEvents_42);\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(\"../core/InteractEvent.js\"); */;\n\n/* removed: var _$utils_55 = require(\"../utils/index.js\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\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 }\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 } A promise that resolves to the `Interactable` when actions on all targets have ended\n */\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_55.is.string(interactable.target) ? _$utils_55.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_55.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref2 = elements[_i2];\n var element = _ref2;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_55.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_55.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_55.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 _ref2;\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_55.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_55.win.window.Promise ? new _$utils_55.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 listeners: {\n // remove completed reflow interactions\n 'interactions:stop': function interactionsStop(_ref3, scope) {\n var interaction = _ref3.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_55.arr.remove(scope.interactions.list, interaction);\n }\n }\n }\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nfunction ___typeof_28(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_28 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_28 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_28(obj); }\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 ___browser_28 = ___interopRequireDefault_28(_$browser_47);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_51);\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_55);\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; } if (obj === null || ___typeof_28(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\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\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.addListeners({\n 'interactable:unset': function interactableUnset(_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});\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\nfunction ___typeof_27(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_27 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_27 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_27(obj); }\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 _index2[\"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 _index5[\"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 _index8[\"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 _index2 = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _index4 = ___interopRequireDefault_27(_$devTools_25);\n\nvar _index5 = ___interopRequireDefault_27(_$inertia_26);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _index8 = ___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; } if (obj === null || ___typeof_27(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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(_index5[\"default\"]); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // 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(_index2[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_index8[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (undefined !== 'production') {\n _interact[\"default\"].use(_index4[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.7.2\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_63, \"__esModule\", {\n value: true\n});\n_$grid_63[\"default\"] = void 0;\n\nfunction ___slicedToArray_63(arr, i) { return ___arrayWithHoles_63(arr) || ___iterableToArrayLimit_63(arr, i) || ___nonIterableRest_63(); }\n\nfunction ___nonIterableRest_63() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_63(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_63(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_63(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n\n var gridFunc = function snapGrid(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_63(_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 gridFunc._isSnapGrid = true;\n gridFunc.grid = grid;\n gridFunc.coordFields = coordFields;\n return gridFunc;\n}\n\nvar ___default_63 = createGrid;\n_$grid_63[\"default\"] = ___default_63;\n\nvar _$snappers_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_64, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_64, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_64(_$grid_63);\n\nfunction ___interopRequireDefault_64(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$interactjs_29 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactjs_29, \"__esModule\", {\n value: true\n});\n_$interactjs_29.init = __init_29;\n_$interactjs_29[\"default\"] = void 0;\n\nvar ___index_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_52);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_64);\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; } if (obj === null || ___typeof_29(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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, ___index_29.init)(win);\n return ___index_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___index_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___index_29[\"default\"].snappers = snappers;\n ___index_29[\"default\"].createSnapGrid = ___index_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___index_29[\"default\"];\n_$interactjs_29[\"default\"] = ___default_29;\n\nvar _$index_66 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_66.exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\n_$index_66.exports[\"default\"] = void 0;\n\nvar ___index_66 = ___interopRequireWildcard_66(_$interactjs_29);\n\nObject.keys(___index_66).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n Object.defineProperty(_$index_66.exports, key, {\n enumerable: true,\n get: function get() {\n return ___index_66[key];\n }\n });\n});\n\nfunction ___getRequireWildcardCache_66() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_66 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_66(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || ___typeof_66(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = ___getRequireWildcardCache_66(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; 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_66(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_66 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_66 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_66(obj); }\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_66(_$index_66)) === 'object' && !!_$index_66) {\n _$index_66.exports = ___index_66[\"default\"];\n}\n\n___index_66[\"default\"][\"default\"] = ___index_66[\"default\"] // tslint:disable-line no-string-literal\n;\n___index_66[\"default\"].init = ___index_66.init; // tslint:disable-line no-string-literal\n\nvar ___default_66 = ___index_66[\"default\"];\n_$index_66.exports[\"default\"] = ___default_66;\n\n_$index_66 = _$index_66.exports\nreturn _$index_66;\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/src/components/index.js b/src/components/index.js index 326d702d..36816c40 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,20 +1,34 @@ -import Vue from "vue"; import GridItem from './GridItem.vue'; import GridLayout from './GridLayout.vue'; // import ResponsiveGridLayout from './ResponsiveGridLayout.vue'; - const VueGridLayout = { // ResponsiveGridLayout, GridLayout, GridItem } -// module.exports = VueGridLayout; +export function install(Vue) { + if (install.installed) return; + install.installed = true; + Object.keys(VueGridLayout).forEach(name => { + Vue.component(name, VueGridLayout[name]); + }); +} + +const plugin = { + install, +}; -Object.keys(VueGridLayout).forEach(name => { - Vue.component(name, VueGridLayout[name]); -}); +let GlobalVue = null; +if (typeof window !== 'undefined') { + GlobalVue = window.Vue; +} else if (typeof global !== 'undefined') { + GlobalVue = global.Vue; +} +if (GlobalVue) { + GlobalVue.use(plugin); +} export default VueGridLayout; -export { GridLayout, GridItem }; \ No newline at end of file +export { GridLayout, GridItem }; From e6badfdeb475ffa315100f0345d11c0984d7d45a Mon Sep 17 00:00:00 2001 From: Wang Zhi Date: Thu, 28 Nov 2019 19:24:30 +0800 Subject: [PATCH 002/111] Make margin reactive. --- src/components/GridItem.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index 04b5cf30..1a4b2ceb 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -377,7 +377,15 @@ }, maxW: function () { this.tryMakeResizable(); - } + }, + "$parent.margin": function (margin) { + if (!margin || (margin[0] == this.margin[0] && margin[1] == this.margin[1])) { + return; + } + this.margin = margin.map(m => parseInt(m)); + this.createStyle(); + this.emitContainerResized(); + }, }, computed: { classObj() { From 23f42170e04ad0ff29e2665b8e6bc9d5dcfd0ddb Mon Sep 17 00:00:00 2001 From: Ben <408736066@qq.com> Date: Wed, 1 Jan 2020 17:48:41 +0800 Subject: [PATCH 003/111] trigger layout-update when layout updated --- src/components/GridLayout.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index dcf9eab8..1e7b5b8f 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -267,6 +267,8 @@ compact(this.layout, this.verticalCompact); this.eventBus.$emit("updateWidth", this.width); this.updateHeight(); + + this.$emit('layout-updated', this.layout) } }, updateHeight: function () { From d54b8d881c9bfdde95132919b9110a5e9c02b49a Mon Sep 17 00:00:00 2001 From: Wang Zhi Date: Fri, 10 Jan 2020 16:46:11 +0800 Subject: [PATCH 004/111] Use `Number` instead of `parseInt` to preserve precision. --- src/components/GridItem.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index 1a4b2ceb..73065848 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -382,7 +382,7 @@ if (!margin || (margin[0] == this.margin[0] && margin[1] == this.margin[1])) { return; } - this.margin = margin.map(m => parseInt(m)); + this.margin = margin.map(m => Number(m)); this.createStyle(); this.emitContainerResized(); }, From 4f4c0901867cb26111fede65331c3897c7163f1b Mon Sep 17 00:00:00 2001 From: Nikos Ftylitakis Date: Fri, 24 Apr 2020 16:43:38 +0300 Subject: [PATCH 005/111] Added responseiveLauouts to explicitly set all layouts per breakpoint Added 'breakpoint-changed' event to notify in case of value change in breakpoint. --- README.md | 28 ++++++++++++++++++++++++++++ src/components/GridLayout.vue | 16 +++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e15c7d3b..47adb8c2 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,16 @@ Include the browser-ready bundle (download from [releases](https://github.com/jb The value must be an `Array` of `Object` items. Each item must have `i`, `x`, `y`, `w` and `h` properties. Please refer to the documentation for `GridItem` below for more information. +* **responsiveLayouts** + + * type: `Object` + * required: `false` + * default : `{}` + + This is the initial layouts of the grid per breakpoint if `responsive` is set to `true`. + The `Object` keys are breakpoint names and each values is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. + If it is set after the layout creation, it replaces the layout configuration in all breakpoints + * **colNum** * type: `Number` @@ -469,6 +479,7 @@ Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/ @layout-mounted="layoutMountedEvent" @layout-ready="layoutReadyEvent" @layout-updated="layoutUpdatedEvent" + @breakpoint-changed="breakpointChangedEvent" > Date: Fri, 24 Apr 2020 17:05:41 +0300 Subject: [PATCH 006/111] Add selected layout when emitting event breakpoint-changed + fix minor typo --- README.md | 5 +++-- src/components/GridLayout.vue | 3 +-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 47adb8c2..a5ebfa5e 100644 --- a/README.md +++ b/README.md @@ -647,10 +647,11 @@ Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/ /** * * @param newBreakpoint the breakpoint name + * @param newLayout the chosen layout for the breakpoint * */ - breakpointChangedEvent: function(newBreakpoint){ - console.log("BREAKPOINT CHANGED B=" + newBreakpoint); + breakpointChangedEvent: function(newBreakpoint, newLayout){ + console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); }, ``` diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index 0b1dd14a..725b44f6 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -413,8 +413,7 @@ this.layouts[newBreakpoint] = layout; if (this.lastBreakpoint !== newBreakpoint) { - this.$emit('update:') - this.$emit('breakpoint-changed', newBreakpoint) + this.$emit('breakpoint-changed', newBreakpoint, layout); } // new prop sync From fed1878cb0f9659e37183bb0bb40666970d4faa0 Mon Sep 17 00:00:00 2001 From: Nikos Ftylitakis Date: Mon, 27 Apr 2020 10:35:28 +0300 Subject: [PATCH 007/111] remove watcher for layouts as it needs further development to make this work smoothly --- src/components/GridLayout.vue | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index 725b44f6..e96dc2bd 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -223,9 +223,6 @@ layout: function () { this.layoutUpdate(); }, - responsiveLayouts: function() { - this.layoutUpdate(); - }, colNum: function (val) { this.eventBus.$emit("setColNum", val); }, @@ -390,7 +387,7 @@ // finds or generates new layouts for set breakpoints responsiveGridLayout(){ - + let newBreakpoint = getBreakpointFromWidth(this.breakpoints, this.width); let newCols = getColsFromBreakpoint(newBreakpoint, this.cols); From 3bb5318b0e8a122b0d8af7a9d2a2ff2f936d44c0 Mon Sep 17 00:00:00 2001 From: Nikos Ftylitakis Date: Mon, 27 Apr 2020 10:43:37 +0300 Subject: [PATCH 008/111] fixes of README typos and removed redundant new line from GridLayout to minimize changes to master --- README.md | 6 +++--- src/components/GridLayout.vue | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a5ebfa5e..5e07bf1b 100644 --- a/README.md +++ b/README.md @@ -182,8 +182,8 @@ Include the browser-ready bundle (download from [releases](https://github.com/jb * default : `{}` This is the initial layouts of the grid per breakpoint if `responsive` is set to `true`. - The `Object` keys are breakpoint names and each values is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. - If it is set after the layout creation, it replaces the layout configuration in all breakpoints + The keys of the `Object` are breakpoint names and each value is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. + Setting the prop after the creation of the GridLayout has no effect. * **colNum** @@ -641,7 +641,7 @@ Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/ Breakpoint Changed event - Every time the breakpoint value changed due to window resize + Every time the breakpoint value changes due to window resize ```javascript /** diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index e96dc2bd..888f3ea9 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -387,7 +387,6 @@ // finds or generates new layouts for set breakpoints responsiveGridLayout(){ - let newBreakpoint = getBreakpointFromWidth(this.breakpoints, this.width); let newCols = getColsFromBreakpoint(newBreakpoint, this.cols); From db5b494aeaf330b3efa4f36bbc3f82e803cfbad9 Mon Sep 17 00:00:00 2001 From: Nikos Ftylitakis Date: Mon, 27 Apr 2020 11:34:22 +0300 Subject: [PATCH 009/111] updated examples to utilize responsive-layouts prop and breakpoint-changed event + fix link name at file 06-responsive.html --- examples/06-responsive.html | 2 +- examples/07-prevent-collision.html | 2 + .../08-responsive-predefined-layouts.html | 65 ++++++++++ examples/08-responsive-predefined-layouts.js | 115 ++++++++++++++++++ src/App.vue | 4 + 5 files changed, 187 insertions(+), 1 deletion(-) create mode 100644 examples/08-responsive-predefined-layouts.html create mode 100644 examples/08-responsive-predefined-layouts.js diff --git a/examples/06-responsive.html b/examples/06-responsive.html index 34ef9f38..6c4038a5 100644 --- a/examples/06-responsive.html +++ b/examples/06-responsive.html @@ -14,7 +14,7 @@

Vue Grid Layout Example 6 - Responsive


Previous example: Mirrored grid layout
- Next example: Responsive + Next example: Prevent collision
diff --git a/examples/07-prevent-collision.html b/examples/07-prevent-collision.html index 5a47030a..ae7932a1 100644 --- a/examples/07-prevent-collision.html +++ b/examples/07-prevent-collision.html @@ -13,6 +13,8 @@

Vue Grid Layout Example 8 - Prevent Collision

View project on Github
Previous example: Responsive +
+ Next example: Responsive - predefined layouts
diff --git a/examples/08-responsive-predefined-layouts.html b/examples/08-responsive-predefined-layouts.html new file mode 100644 index 00000000..928d3aca --- /dev/null +++ b/examples/08-responsive-predefined-layouts.html @@ -0,0 +1,65 @@ + + + + + Vue Grid Layout Example 1 - Basic Responsive + + + + + +

Vue Grid Layout Example 6 - Responsive

+ + View project on Github +
+ Previous example: Prevent collision + +
+ +
+
+ Displayed as [x, y, w, h]: +
+
+ {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] +
+
+
+
+
+ + Draggable + Resizable + Responsive +
+ + + {{item.i}} + + +
+ +
+ + + + + \ No newline at end of file diff --git a/examples/08-responsive-predefined-layouts.js b/examples/08-responsive-predefined-layouts.js new file mode 100644 index 00000000..9eccca9b --- /dev/null +++ b/examples/08-responsive-predefined-layouts.js @@ -0,0 +1,115 @@ +var testLayouts = { + md: [ + {"x":0, "y":0, "w":2, "h":2, "i":"0"}, + {"x":2, "y":0, "w":2, "h":4, "i":"1"}, + {"x":4, "y":0, "w":2, "h":5, "i":"2"}, + {"x":6, "y":0, "w":2, "h":3, "i":"3"}, + {"x":2, "y":4, "w":2, "h":3, "i":"4"}, + {"x":4, "y":5, "w":2, "h":3, "i":"5"}, + {"x":0, "y":2, "w":2, "h":5, "i":"6"}, + {"x":2, "y":7, "w":2, "h":5, "i":"7"}, + {"x":4, "y":8, "w":2, "h":5, "i":"8"}, + {"x":6, "y":3, "w":2, "h":4, "i":"9"}, + {"x":0, "y":7, "w":2, "h":4, "i":"10"}, + {"x":2, "y":19, "w":2, "h":4, "i":"11"}, + {"x":0, "y":14, "w":2, "h":5, "i":"12"}, + {"x":2, "y":14, "w":2, "h":5, "i":"13"}, + {"x":4, "y":13, "w":2, "h":4, "i":"14"}, + {"x":6, "y":7, "w":2, "h":4, "i":"15"}, + {"x":0, "y":19, "w":2, "h":5, "i":"16"}, + {"x":8, "y":0, "w":2, "h":2, "i":"17"}, + {"x":0, "y":11, "w":2, "h":3, "i":"18"}, + {"x":2, "y":12, "w":2, "h":2, "i":"19"} + ], + lg: [ + {"x":0,"y":0,"w":2,"h":2,"i":"0"}, + {"x":2,"y":0,"w":2,"h":4,"i":"1"}, + {"x":4,"y":0,"w":2,"h":5,"i":"2"}, + {"x":6,"y":0,"w":2,"h":3,"i":"3"}, + {"x":8,"y":0,"w":2,"h":3,"i":"4"}, + {"x":10,"y":0,"w":2,"h":3,"i":"5"}, + {"x":0,"y":5,"w":2,"h":5,"i":"6"}, + {"x":2,"y":5,"w":2,"h":5,"i":"7"}, + {"x":4,"y":5,"w":2,"h":5,"i":"8"}, + {"x":6,"y":4,"w":2,"h":4,"i":"9"}, + {"x":8,"y":4,"w":2,"h":4,"i":"10"}, + {"x":10,"y":4,"w":2,"h":4,"i":"11"}, + {"x":0,"y":10,"w":2,"h":5,"i":"12"}, + {"x":2,"y":10,"w":2,"h":5,"i":"13"}, + {"x":4,"y":8,"w":2,"h":4,"i":"14"}, + {"x":6,"y":8,"w":2,"h":4,"i":"15"}, + {"x":8,"y":10,"w":2,"h":5,"i":"16"}, + {"x":10,"y":4,"w":2,"h":2,"i":"17"}, + {"x":0,"y":9,"w":2,"h":3,"i":"18"}, + {"x":2,"y":6,"w":2,"h":2,"i":"19"} + ], +}; + +// var GridLayout = VueGridLayout.GridLayout; +// var GridItem = VueGridLayout.GridItem; + +new Vue({ + el: '#app', + // components: { + // "GridLayout": GridLayout, + // "GridItem": GridItem + // }, + data: { + layouts: testLayouts, + layout: testLayouts["lg"], + draggable: true, + resizable: true, + responsive: true, + index: 0 + }, +/* + mounted: function () { + this.index = this.layout.length; + }, + methods: { + increaseWidth: function(item) { + var width = document.getElementById("content").offsetWidth; + width += 20; + document.getElementById("content").style.width = width+"px"; + }, + decreaseWidth: function(item) { + + var width = document.getElementById("content").offsetWidth; + width -= 20; + document.getElementById("content").style.width = width+"px"; + }, + removeItem: function(item) { + //console.log("### REMOVE " + item.i); + this.layout.splice(this.layout.indexOf(item), 1); + }, + addItem: function() { + var self = this; + //console.log("### LENGTH: " + this.layout.length); + var item = {"x":0,"y":0,"w":2,"h":2,"i":this.index+"", whatever: "bbb"}; + this.index++; + this.layout.push(item); + }, + breakpointChangedEvent: function(newBreakpoint, newLayout){ + console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); + } + } +*/ +}); + +/* +function generateLayout() { + return _.map(_.range(0, 25), function (item, i) { + var y = Math.ceil(Math.random() * 4) + 1; + return { + x: _.random(0, 5) * 2 % 12, + y: Math.floor(i / 6) * y, + w: 2, + h: y, + i: i.toString(), + static: Math.random() < 0.05 + }; + }); +}*/ + + + diff --git a/src/App.vue b/src/App.vue index 2e9da6c4..a8b7595b 100644 --- a/src/App.vue +++ b/src/App.vue @@ -50,6 +50,7 @@ @layout-mounted="layoutMountedEvent" @layout-ready="layoutReadyEvent" @layout-updated="layoutUpdatedEvent" + @breakpoint-changed="breakpointChangedEvent" > Date: Wed, 13 May 2020 15:45:01 +0200 Subject: [PATCH 010/111] Fix error when layout items get removed When layout items are removed, an error occurs ```` webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:1887 TypeError: Cannot read property 'unset' of undefined at VueComponent.beforeDestroy (webpack-internal:///./node_modules/vue-grid-layout/dist/vue-grid-layout.common.js:5563) at invokeWithErrorHandling (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:1853) at callHook (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:4213) at VueComponent.Vue.$destroy (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:3972) at destroy (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:3156) at invokeDestroyHook (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:6104) at removeVnodes (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:6120) at updateChildren (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:6225) at patchVnode (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:6309) at VueComponent.patch [as __patch__] (webpack-internal:///./node_modules/vue/dist/vue.runtime.esm.js:6472) ``` This takes care of the error --- src/components/GridItem.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index 04b5cf30..8754ef40 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -291,7 +291,9 @@ this.eventBus.$off('setMaxRows', self.setMaxRowsHandler); this.eventBus.$off('directionchange', self.directionchangeHandler); this.eventBus.$off('setColNum', self.setColNum); - this.interactObj.unset() // destroy interact intance + if (this.interactObj) { + this.interactObj.unset() // destroy interact intance + } }, mounted: function () { this.cols = this.$parent.colNum; From 93e7d9447b123ad7b45af3adcde9eaebde62ad64 Mon Sep 17 00:00:00 2001 From: Pieter Beulque Date: Fri, 10 Jul 2020 10:01:11 +0200 Subject: [PATCH 011/111] Avoid switching grid items with same (x, y) --- src/helpers/utils.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/helpers/utils.js b/src/helpers/utils.js index ead0b5bc..136abf12 100644 --- a/src/helpers/utils.js +++ b/src/helpers/utils.js @@ -380,9 +380,14 @@ export function setTopRight(top, right, width, height): Object { */ export function sortLayoutItemsByRowCol(layout: Layout): Layout { return [].concat(layout).sort(function(a, b) { + if (a.y === b.y && a.x === b.x) { + return 0; + } + if (a.y > b.y || (a.y === b.y && a.x > b.x)) { return 1; } + return -1; }); } From 729a27ed92e0e18a12304f7f967f6ba8f628bb1c Mon Sep 17 00:00:00 2001 From: Pieter Beulque Date: Fri, 10 Jul 2020 10:01:23 +0200 Subject: [PATCH 012/111] Run `yarn build-lib` --- dist/vue-grid-layout.common.js | 10240 +------------------------- dist/vue-grid-layout.common.js.map | 2 +- dist/vue-grid-layout.umd.js | 10240 +------------------------- 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 +- 6 files changed, 292 insertions(+), 20196 deletions(-) diff --git a/dist/vue-grid-layout.common.js b/dist/vue-grid-layout.common.js index 652368ca..56a576bf 100644 --- a/dist/vue-grid-layout.common.js +++ b/dist/vue-grid-layout.common.js @@ -338,10 +338,6 @@ module.exports = function(options) { * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback. */ function addListener(element, listener) { - if(!getObject(element)) { - throw new Error("Element is not detectable by this strategy."); - } - function listenerProxy() { listener(element); } @@ -354,10 +350,21 @@ module.exports = function(options) { element.attachEvent("onresize", listenerProxy); } else { var object = getObject(element); + + if(!object) { + throw new Error("Element is not detectable by this strategy."); + } + object.contentDocument.defaultView.addEventListener("resize", listenerProxy); } } + function buildCssTextString(rules) { + var seperator = options.important ? " !important; " : "; "; + + return (rules.join(seperator) + seperator).trim(); + } + /** * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes. * @private @@ -376,7 +383,7 @@ module.exports = function(options) { var debug = options.debug; function injectObject(element, callback) { - var OBJECT_STYLE = "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;"; + var OBJECT_STYLE = buildCssTextString(["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"]); //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element. @@ -397,7 +404,7 @@ module.exports = function(options) { function mutateDom() { function alterPositionStyles() { if(style.position === "static") { - element.style.position = "relative"; + element.style.setProperty("position", "relative", options.important ? "important" : ""); var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -408,7 +415,7 @@ module.exports = function(options) { if(value !== "auto" && getNumericalValue(value) !== "0") { reporter.warn("An element that is positioned static has style." + property + "=" + value + " which is ignored due to the static positioning. The element will need to be positioned relative, so the style." + property + " will be set to 0. Element: ", element); - element.style[property] = 0; + element.style.setProperty(property, "0", options.important ? "important" : ""); } }; @@ -434,7 +441,12 @@ module.exports = function(options) { //So if it is not present, poll it with an timeout until it is present. //TODO: Could maybe be handled better with object.onreadystatechange or similar. if(!element.contentDocument) { - setTimeout(function checkForObjectDocument() { + var state = getState(element); + if (state.checkForObjectDocumentTimeoutId) { + window.clearTimeout(state.checkForObjectDocumentTimeoutId); + } + state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() { + state.checkForObjectDocumentTimeoutId = 0; getDocument(element, callback); }, 100); @@ -476,6 +488,11 @@ module.exports = function(options) { object.data = "about:blank"; } + if (!getState(element)) { + // The element has been uninstalled before the actual loading happened. + return; + } + element.appendChild(object); getState(element).object = object; @@ -513,11 +530,26 @@ module.exports = function(options) { } function uninstall(element) { - if(browserDetector.isIE(8)) { - element.detachEvent("onresize", getState(element).object.proxy); + if (!getState(element)) { + return; + } + + var object = getObject(element); + + if (!object) { + return; + } + + if (browserDetector.isIE(8)) { + element.detachEvent("onresize", object.proxy); } else { - element.removeChild(getObject(element)); + element.removeChild(object); } + + if (getState(element).checkForObjectDocumentTimeoutId) { + window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId); + } + delete getState(element).object; } @@ -1220,8 +1252,12 @@ __webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeC /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +// EXPORTS +__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; }); + // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something @@ -1252,7 +1288,6 @@ function listToStyles (parentId, list) { } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra @@ -1557,6 +1592,16 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "5014": +/***/ (function(module, exports, __webpack_require__) { + +/* interact.js 1.9.20 | https://raw.github.com/taye/interact.js/master/LICENSE */ +!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=r,e.getWindow=o,e.default=void 0;var n={realWindow:void 0,window:void 0,getWindow:o,init:r};function r(t){n.realWindow=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),n.window=t}function o(e){return(0,t.default)(e)?e:(e.ownerDocument||e).defaultView||n.window}"undefined"==typeof window?(n.window=void 0,n.realWindow=void 0):r(window),n.init=r;var i=n;e.default=i;var a={};function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var l=function(t){return!!t&&"object"===s(t)},u=function(t){return"function"==typeof t},c={window:function(n){return n===e.default.window||(0,t.default)(n)},docFrag:function(t){return l(t)&&11===t.nodeType},object:l,func:u,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==s(t))return!1;var n=e.default.getWindow(t)||e.default.window;return/object|function/.test(s(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return l(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return l(t)&&void 0!==t.length&&u(t.splice)}};a.default=c;var f={};function d(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function p(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var v={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=v.draggable,e.map.drag=v,e.methodDict.drag="draggable",r.actions.drag=v.defaults},listeners:{"interactions:before-action-move":d,"interactions:action-resume":d,"interactions:action-move":p,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return a.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):a.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:d,move:p,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},h=v;f.default=h;var g={};Object.defineProperty(g,"__esModule",{value:!0}),g.default=void 0;var y={init:function(t){var e=t;y.document=e.document,y.DocumentFragment=e.DocumentFragment||m,y.SVGElement=e.SVGElement||m,y.SVGSVGElement=e.SVGSVGElement||m,y.SVGElementInstance=e.SVGElementInstance||m,y.Element=e.Element||m,y.HTMLElement=e.HTMLElement||y.Element,y.Event=e.Event,y.Touch=e.Touch||m,y.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function m(){}var b=y;g.default=b;var x={};Object.defineProperty(x,"__esModule",{value:!0}),x.default=void 0;var w={init:function(t){var n=g.default.Element,r=e.default.window.navigator;w.supportsTouch="ontouchstart"in t||a.default.func(t.DocumentTouch)&&g.default.document instanceof t.DocumentTouch,w.supportsPointerEvent=!1!==r.pointerEnabled&&!!g.default.PointerEvent,w.isIOS=/iP(hone|od|ad)/.test(r.platform),w.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),w.isIe9=/MSIE 9/.test(r.userAgent),w.isOperaMobile="Opera"===r.appName&&w.supportsTouch&&/Presto/.test(r.userAgent),w.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",w.pEventTypes=w.supportsPointerEvent?g.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,w.wheelEvent="onmousewheel"in g.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var _=w;x.default=_;var S={};function P(t){var e=t.parentNode;if(a.default.docFrag(e)){for(;(e=e.host)&&a.default.docFrag(e););return e}return e}function O(t,n){return e.default.window!==e.default.realWindow&&(n=n.replace(/\/deep\//g," ")),t[x.default.prefixedMatchesSelector](n)}Object.defineProperty(S,"__esModule",{value:!0}),S.nodeContains=function(t,e){for(;e;){if(e===t)return!0;e=e.parentNode}return!1},S.closest=function(t,e){for(;a.default.element(t);){if(O(t,e))return t;t=P(t)}return null},S.parentNode=P,S.matchesSelector=O,S.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,h,y,m;return n},S.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},S.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},S.getScrollXY=M,S.getElementClientRect=j,S.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){var e=[];for(;t;)e.push(t),t=P(t);return e},S.trySelector=function(t){if(!a.default.string(t))return!1;return g.default.document.querySelector(t),!0};var E=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var I={};function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?$(e):e[0],o={};V(r,o),t.page.x=o.x,t.page.y=o.y,q(r,o),t.client.x=o.x,t.client.y=o.y,t.timeStamp=n},L.getTouchPair=N,L.pointerAverage=$,L.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=N(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},L.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,F.default)(i,a)},L.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},L.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},L.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},L.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},L.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(L,"pointerExtend",{enumerable:!0,get:function(){return X.default}});var G={};function H(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&a.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,i,r,o));return l}(this,t,e,n,r,o,i)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ft(e,n.element),o.events=pt(n,0,r),o.events.activate&&(ct(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":ht,"interactions:action-end":ht,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:vt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},yt=gt;ut.default=yt;var mt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),i="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],i)n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=1,n.ds=0,n.angle=L.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=L.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(mt,"__esModule",{value:!0}),mt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;mt.default=wt;var _t={};function St(t,e,n,r,o,i,s){if(!e)return!1;if(!0===e){var l=a.default.number(i.width)?i.width:i.right-i.left,u=a.default.number(i.height)?i.height:i.bottom-i.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?i.left:i.right)+s;if("top"===t)return n.y<(u>=0?i.top:i.bottom)+s;if("right"===t)return n.x>(l>=0?i.right:i.left)-s;if("bottom"===t)return n.y>(u>=0?i.bottom:i.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:S.matchesUpTo(r,e,o))}function Pt(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(a.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(a.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",o.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,k.default)({},o),corrected:(0,k.default)({},o),previous:(0,k.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Pt(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,k.default)(f,u),i){if((0,k.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),Pt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,i=t.buttons;if(o){var s=(0,k.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(i&l.mouseButtons))){if(a.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=St(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Ot.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-Ot.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Ot.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:Rt.x*u,y:Rt.y*u};if(c.x||c.y){var f=Xt(i);a.default.window(i)?i.scrollBy(c.x,c.y):i&&(i.scrollLeft+=c.x,i.scrollTop+=c.y);var d=Xt(i),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:i})}Rt.prevTime=s}Rt.isScrolling&&(kt.default.cancel(Rt.i),Rt.i=kt.default.request(Rt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Rt.check(e.interactable,e.prepared.name))if(e.simulation)Rt.x=Rt.y=0;else{var r,o,i,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ft(f.container,l,u);if(a.default.window(d))s=n.clientXd.innerWidth-Rt.margin,i=n.clientY>d.innerHeight-Rt.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-Rt.margin,i=n.clientY>p.bottom-Rt.margin}Rt.x=o?1:s?-1:0,Rt.y=i?1:r?-1:0,Rt.isScrolling||(Rt.margin=f.margin,Rt.speed=f.speed,Rt.start(e))}}};function Ft(t,n,r){return(a.default.string(t)?(0,I.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Xt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Rt,Rt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Rt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Rt.stop(),Rt.interaction&&(Rt.interaction=null)},"interactions:stop":Rt.stop,"interactions:action-move":function(t){return Rt.onInteractionMove(t)}}};Ct.default=Yt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Lt={};function Bt(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ut(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.default=void 0;var Vt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ut,e.prototype.styleCursor=Bt}};Lt.default=Vt;var qt={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Kt(e,n,t,o)?t:null}function $t(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Zt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var s=n.options[o.name].cursorChecker;i=a.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Jt(t.element,i||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Lt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Zt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Kt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Ht(n,Gt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ht(n,Gt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Kt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Zt,withinInteractionLimit:Kt,validateAction:Nt};qt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,i=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(i),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;oe(e)>0&&(e.prepared.name=null)}},getHoldDuration:oe};re.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(qt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var le={};Object.defineProperty(le,"__esModule",{value:!0}),le.default=void 0;le.default={};var ue={};function ce(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=ce,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var i=(0,e.getWindow)(r.target).document,s=n.getDocOptions(i);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Xe(e.prototype,n),r&&Xe(e,r),i}(G.BaseEvent);Re.InteractEvent=Ve,Object.defineProperties(Ve.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var qe={};Object.defineProperty(qe,"__esModule",{value:!0}),qe.PointerInfo=void 0;qe.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,$e,Ge={};function He(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||L.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&L.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||L.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=L.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=L.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new qe.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),L.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),L.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,L.pointerExtend(this.downPointer,t),this.interacting()||(L.copyCoords(this.coords.start,this.coords.cur),L.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Re.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(I.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Je;var Qe=Je;Ge.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),I.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,Ge._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var ln={};function un(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=fn(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,i=r.context,s=r.listeners;o===this.target&&i===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=Sn;var Pn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=jn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function i(t,n,r,i){var a=Dn(i),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=Dn(i),l=J.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Fn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Xn=Rn;Cn.default=Xn;var Yn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Kn,methodNames:Hn};Yn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function or(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var o=ar(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ir(this,n)}}function ir(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,k.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Ir(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function Dr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Er.aspectRatio=kr;var Ar=(0,De.makeModifier)(kr,"aspectRatio");Er.default=Ar;var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.default=void 0;var Cr=function(){};Cr._defaults={};var Rr=Cr;zr.default=Rr;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Object.defineProperty(Fr,"default",{enumerable:!0,get:function(){return zr.default}});var Xr={};function Yr(t,e,n){return a.default.func(t)?I.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):I.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.getRestrictionRect=Yr,Xr.restrict=Xr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Yr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Yr(o.restriction,n,e);if(a){var s=I.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Xr.restrict=Wr;var Lr=(0,De.makeModifier)(Wr,"restrict");Xr.default=Lr;var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.restrictEdges=Br.default=void 0;var Ur={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Vr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function qr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n div::-webkit-scrollbar { display: none; }\n\n"; - style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; + style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -3351,7 +3407,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; + container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -3375,7 +3431,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.position = "relative"; + element.style.setProperty("position", "relative",options.important ? "important" : ""); var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -3405,7 +3461,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; + return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; } debug("Injecting elements"); @@ -3433,12 +3489,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; - var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); - var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; - var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; - var expandChildStyle = "position: absolute; left: 0; top: 0;"; - var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; + var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); + var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); + var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); + var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); + var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); + var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -3489,14 +3545,17 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.width = expandWidth + "px"; - expandChild.style.height = expandHeight + "px"; + expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); + expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; + // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. + var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; + debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -3507,6 +3566,10 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { + if (!sizeChanged) { + return; + } + if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3530,6 +3593,9 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { + // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then + // been restored to the original size, which will have changed the scrollbar positions. + if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3543,7 +3609,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (done) { + if (sizeChanged && done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -3573,7 +3639,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify the if the current size is the start size, and this is the first notification. + // Don't notify if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -3618,15 +3684,7 @@ module.exports = function(options) { return; } - var width = element.offsetWidth; - var height = element.offsetHeight; - - if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { - debug("Element size changed."); - updateDetectorElements(notifyListenersIfNeeded); - } else { - debug("Element size has not changed (" + width + "x" + height + ")."); - } + updateDetectorElements(notifyListenersIfNeeded); } debug("registerListenersAndPositionElements invoked."); @@ -3716,7 +3774,8 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall + uninstall: uninstall, + initDocument: initDocument }; }; @@ -4084,11 +4143,13 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); + var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler + idHandler: idHandler, + important: importantCssRules }; if(desiredStrategy === "scroll") { @@ -4203,7 +4264,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -4279,11 +4340,16 @@ module.exports = function(options) { }); } + function initDocument(targetDocument) { + detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); + } + return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall + uninstall: uninstall, + initDocument: initDocument }; }; @@ -4390,8 +4456,13 @@ module.exports = document && document.documentElement; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +// EXPORTS +__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return /* reexport */ GridLayout; }); +__webpack_require__.d(__webpack_exports__, "GridItem", function() { return /* reexport */ GridItem; }); + // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -4425,12 +4496,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":"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& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-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=c806aad8& 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=e827a502& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=c806aad8& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -4449,7 +4520,6 @@ var es6_array_sort = __webpack_require__("55dd"); - // @flow /*:: export type LayoutItemRequired = {w: number, h: number, x: number, y: number, i: string};*/ @@ -4946,6 +5016,10 @@ function sortLayoutItemsByRowCol(layout /*: Layout*/ { return [].concat(layout).sort(function (a, b) { + if (a.y === b.y && a.x === b.x) { + return 0; + } + if (a.y > b.y || a.y === b.y && a.x > b.x) { return 1; } @@ -5361,7 +5435,7 @@ function removeWindowEventListener(event // var eventBus = require('./eventBus'); -var interact = __webpack_require__("fb3a"); +var interact = __webpack_require__("5014"); /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -6224,7 +6298,12 @@ function normalizeComponent ( options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode - ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } : injectStyles } @@ -6233,7 +6312,7 @@ function normalizeComponent ( // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook - // register for functioal component in vue file + // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) @@ -6275,12 +6354,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":"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: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-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=5a186489& +var GridLayoutvue_type_template_id_5a186489_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_5a186489_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=bff27f1c& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -6312,7 +6391,6 @@ function _defineProperty(obj, key, value) { - // @flow @@ -6488,10 +6566,9 @@ function sortBreakpoints(breakpoints - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // @@ -6844,7 +6921,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var hasCollisions; if (this.preventCollision) { - var collisions = getAllCollisions(this.layout, _objectSpread({}, l, { + var collisions = getAllCollisions(this.layout, _objectSpread(_objectSpread({}, l), {}, { w: w, h: h })).filter(function (layoutItem) { @@ -6949,8 +7026,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_bff27f1c_render, - GridLayoutvue_type_template_id_bff27f1c_staticRenderFns, + GridLayoutvue_type_template_id_5a186489_render, + GridLayoutvue_type_template_id_5a186489_staticRenderFns, false, null, null, @@ -6980,10041 +7057,12 @@ Object.keys(VueGridLayout).forEach(function (name) { /* harmony default export */ var components = (VueGridLayout); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js -/* concated harmony reexport GridLayout */__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return GridLayout; }); -/* concated harmony reexport GridItem */__webpack_require__.d(__webpack_exports__, "GridItem", function() { return GridItem; }); /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); -/***/ }), - -/***/ "fb3a": -/***/ (function(module, exports, __webpack_require__) { - -/** - * interact.js 1.6.3 - * - * Copyright (c) 2012-2019 Taye Adeyemi - * Released under the MIT License. - * https://raw.github.com/taye/interact.js/master/LICENSE - */ -(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; -var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; -var _$scope_24 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/* common-shake removed: exports.createScope = */ void createScope; -/* common-shake removed: exports.initScope = */ void initScope; -exports.Scope = exports.ActionName = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); - -var _Eventable = _interopRequireDefault(_$Eventable_14); - -var _Interactable = _interopRequireDefault(_$Interactable_16); - -var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); - -var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); - -var _interactions = _interopRequireDefault(_$interactions_23({})); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _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); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var win = utils.win, - browser = utils.browser, - raf = utils.raf, - Signals = utils.Signals, - events = utils.events; -var ActionName; -exports.ActionName = ActionName; - -(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); - -function createScope() { - return new Scope(); -} - -var Scope = -/*#__PURE__*/ -function () { - function Scope() { - var _this = this; - - _classCallCheck(this, Scope); - - this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); - this.signals = new Signals(); - this.browser = browser; - this.events = events; - this.utils = utils; - this.defaults = utils.clone(_defaultOptions["default"]); - this.Eventable = _Eventable["default"]; - this.actions = { - names: [], - methodDict: {}, - eventTypes: [] - }; - this.InteractEvent = _InteractEvent["default"]; - this.interactables = new _InteractableSet["default"](this); // all documents being listened to - - this.documents = []; - this._plugins = []; - this._pluginMap = {}; - - this.onWindowUnload = function (event) { - return _this.removeDocument(event.target); - }; - - var scope = this; - - this.Interactable = - /*#__PURE__*/ - function (_InteractableBase) { - _inherits(Interactable, _InteractableBase); - - function Interactable() { - _classCallCheck(this, Interactable); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); - } - - _createClass(Interactable, [{ - key: "set", - value: function set(options) { - _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); - - scope.interactables.signals.fire('set', { - options: options, - interactable: this - }); - return this; - } - }, { - key: "unset", - value: function unset() { - _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); - - for (var i = scope.interactions.list.length - 1; i >= 0; i--) { - var interaction = scope.interactions.list[i]; - - if (interaction.interactable === this) { - interaction.stop(); - scope.interactions.signals.fire('destroy', { - interaction: interaction - }); - interaction.destroy(); - - if (scope.interactions.list.length > 2) { - scope.interactions.list.splice(i, 1); - } - } - } - - scope.interactables.signals.fire('unset', { - interactable: this - }); - } - }, { - key: "_defaults", - get: function get() { - return scope.defaults; - } - }]); - - return Interactable; - }(_Interactable["default"]); - } - - _createClass(Scope, [{ - key: "init", - value: function init(window) { - return initScope(this, window); - } - }, { - key: "pluginIsInstalled", - value: function pluginIsInstalled(plugin) { - return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; - } - }, { - key: "usePlugin", - value: function usePlugin(plugin, options) { - if (this.pluginIsInstalled(plugin)) { - return this; - } - - if (plugin.id) { - this._pluginMap[plugin.id] = plugin; - } - - plugin.install(this, options); - - this._plugins.push(plugin); - - return this; - } - }, { - key: "addDocument", - value: function addDocument(doc, options) { - // do nothing if document is already known - if (this.getDocIndex(doc) !== -1) { - return false; - } - - var window = win.getWindow(doc); - options = options ? utils.extend({}, options) : {}; - this.documents.push({ - doc: doc, - options: options - }); - events.documents.push(doc); // don't add an unload event for the main document - // so that the page may be cached in browser history - - if (doc !== this.document) { - events.add(window, 'unload', this.onWindowUnload); - } - - this.signals.fire('add-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "removeDocument", - value: function removeDocument(doc) { - var index = this.getDocIndex(doc); - var window = win.getWindow(doc); - var options = this.documents[index].options; - events.remove(window, 'unload', this.onWindowUnload); - this.documents.splice(index, 1); - events.documents.splice(index, 1); - this.signals.fire('remove-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "getDocIndex", - value: function getDocIndex(doc) { - for (var i = 0; i < this.documents.length; i++) { - if (this.documents[i].doc === doc) { - return i; - } - } - - return -1; - } - }, { - key: "getDocOptions", - value: function getDocOptions(doc) { - var docIndex = this.getDocIndex(doc); - return docIndex === -1 ? null : this.documents[docIndex].options; - } - }, { - key: "now", - value: function now() { - return (this.window.Date || Date).now(); - } - }]); - - return Scope; -}(); - -exports.Scope = Scope; - -function initScope(scope, window) { - win.init(window); - - _domObjects["default"].init(window); - - browser.init(window); - raf.init(window); - events.init(window); - scope.usePlugin(_interactions["default"]); - scope.document = window.document; - scope.window = window; - return scope; -} - -}); -var _$interactions_23 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _browser = _interopRequireDefault(_$browser_48); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var _events = _interopRequireDefault(_$events_52); - -var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); - -var _Signals = _interopRequireDefault(_$Signals_46); - -var _Interaction = _interopRequireDefault(_$Interaction_18({})); - -var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; - -function install(scope) { - var signals = new _Signals["default"](); - var listeners = {}; - - for (var _i = 0; _i < methodNames.length; _i++) { - var _ref; - - _ref = methodNames[_i]; - var method = _ref; - listeners[method] = doOnInteractions(method, scope); - } - - var pEventTypes = _browser["default"].pEventTypes; - var docEvents; - - if (_domObjects["default"].PointerEvent) { - docEvents = [{ - type: pEventTypes.down, - listener: releasePointersOnRemovedEls - }, { - type: pEventTypes.down, - listener: listeners.pointerDown - }, { - type: pEventTypes.move, - listener: listeners.pointerMove - }, { - type: pEventTypes.up, - listener: listeners.pointerUp - }, { - type: pEventTypes.cancel, - listener: listeners.pointerUp - }]; - } else { - docEvents = [{ - type: 'mousedown', - listener: listeners.pointerDown - }, { - type: 'mousemove', - listener: listeners.pointerMove - }, { - type: 'mouseup', - listener: listeners.pointerUp - }, { - type: 'touchstart', - listener: releasePointersOnRemovedEls - }, { - type: 'touchstart', - listener: listeners.pointerDown - }, { - type: 'touchmove', - listener: listeners.pointerMove - }, { - type: 'touchend', - listener: listeners.pointerUp - }, { - type: 'touchcancel', - listener: listeners.pointerUp - }]; - } - - docEvents.push({ - type: 'blur', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - interaction.documentBlur(event); - } - } - }); - scope.signals.on('add-document', onDocSignal); - scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events - - scope.prevTouchTime = 0; - - scope.Interaction = - /*#__PURE__*/ - function (_InteractionBase) { - _inherits(Interaction, _InteractionBase); - - function Interaction() { - _classCallCheck(this, Interaction); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); - } - - _createClass(Interaction, [{ - key: "_now", - value: function _now() { - return scope.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return scope.interactions.pointerMoveTolerance; - }, - set: function set(value) { - scope.interactions.pointerMoveTolerance = value; - } - }]); - - return Interaction; - }(_Interaction["default"]); - - scope.interactions = { - signals: signals, - // all active and idle interactions - list: [], - "new": function _new(options) { - options.signals = signals; - var interaction = new scope.Interaction(options); - scope.interactions.list.push(interaction); - return interaction; - }, - listeners: listeners, - docEvents: docEvents, - pointerMoveTolerance: 1 - }; - - function releasePointersOnRemovedEls() { - // for all inactive touch interactions with pointers down - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - - if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { - continue; - } // if a pointer is down on an element that is no longer in the DOM tree - - - var _loop = function _loop() { - _ref4 = interaction.pointers[_i4]; - var pointer = _ref4; - - if (!scope.documents.some(function (_ref5) { - var doc = _ref5.doc; - return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); - })) { - // remove the pointer from the interaction - interaction.removePointer(pointer.pointer, pointer.event); - } - }; - - for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { - var _ref4; - - _loop(); - } - } - } -} - -function doOnInteractions(method, scope) { - return function (event) { - var interactions = scope.interactions.list; - - var pointerType = _pointerUtils["default"].getPointerType(event); - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), - eventTarget = _pointerUtils$getEven2[0], - curEventTarget = _pointerUtils$getEven2[1]; - - var matches = []; // [ [pointer, interaction], ...] - - if (/^touch/.test(event.type)) { - scope.prevTouchTime = scope.now(); - - for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { - var _ref6; - - _ref6 = event.changedTouches[_i5]; - var changedTouch = _ref6; - var pointer = changedTouch; - - var pointerId = _pointerUtils["default"].getPointerId(pointer); - - var searchDetails = { - pointer: pointer, - pointerId: pointerId, - pointerType: pointerType, - eventType: event.type, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - scope: scope - }; - var interaction = getInteraction(searchDetails); - matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); - } - } else { - var invalidPointer = false; - - if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { - // ignore mouse events while touch interactions are active - for (var i = 0; i < interactions.length && !invalidPointer; i++) { - invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; - } // try to ignore mouse events that are simulated by the browser - // after a touch event - - - invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated - event.timeStamp === 0; - } - - if (!invalidPointer) { - var _searchDetails = { - pointer: event, - pointerId: _pointerUtils["default"].getPointerId(event), - pointerType: pointerType, - eventType: event.type, - curEventTarget: curEventTarget, - eventTarget: eventTarget, - scope: scope - }; - - var _interaction = getInteraction(_searchDetails); - - matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); - } - } // eslint-disable-next-line no-shadow - - - for (var _i6 = 0; _i6 < matches.length; _i6++) { - var _matches$_i = _slicedToArray(matches[_i6], 4), - _pointer = _matches$_i[0], - _eventTarget = _matches$_i[1], - _curEventTarget = _matches$_i[2], - _interaction2 = _matches$_i[3]; - - _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); - } - }; -} - -function getInteraction(searchDetails) { - var pointerType = searchDetails.pointerType, - scope = searchDetails.scope; - - var foundInteraction = _interactionFinder["default"].search(searchDetails); - - var signalArg = { - interaction: foundInteraction, - searchDetails: searchDetails - }; - scope.interactions.signals.fire('find', signalArg); - return signalArg.interaction || scope.interactions["new"]({ - pointerType: pointerType - }); -} - -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; - - if (scope.browser.isIOS && !options.events) { - options.events = { - passive: false - }; - } // delegate event listener - - - for (var eventType in _events["default"].delegatedEvents) { - eventMethod(doc, eventType, _events["default"].delegateListener); - eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); - } - - var eventOptions = options && options.events; - - for (var _i7 = 0; _i7 < docEvents.length; _i7++) { - var _ref8; - - _ref8 = docEvents[_i7]; - var _ref9 = _ref8, - type = _ref9.type, - listener = _ref9.listener; - eventMethod(doc, type, listener, eventOptions); - } -} - -var _default = { - id: 'core/interactions', - install: install, - onDocSignal: onDocSignal, - doOnInteractions: doOnInteractions, - methodNames: methodNames -}; -exports["default"] = _default; - -}); -var _$Interaction_18 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "PointerInfo", { - enumerable: true, - get: function get() { - return _PointerInfo["default"]; - } -}); -exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); - -var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); - -var _scope = _$scope_24({}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var _ProxyValues; - -exports._ProxyValues = _ProxyValues; - -(function (_ProxyValues) { - _ProxyValues["interactable"] = ""; - _ProxyValues["element"] = ""; - _ProxyValues["prepared"] = ""; - _ProxyValues["pointerIsDown"] = ""; - _ProxyValues["pointerWasMoved"] = ""; - _ProxyValues["_proxy"] = ""; -})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); - -var _ProxyMethods; - -exports._ProxyMethods = _ProxyMethods; - -(function (_ProxyMethods) { - _ProxyMethods["start"] = ""; - _ProxyMethods["move"] = ""; - _ProxyMethods["end"] = ""; - _ProxyMethods["stop"] = ""; - _ProxyMethods["interacting"] = ""; -})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); - -var Interaction = -/*#__PURE__*/ -function () { - /** */ - function Interaction(_ref) { - var _this = this; - - var pointerType = _ref.pointerType, - signals = _ref.signals; - - _classCallCheck(this, Interaction); - - // current interactable being interacted with - this.interactable = null; // the target element of the interactable - - this.element = null; // action that's ready to be fired on next move event - - this.prepared = { - name: null, - axis: null, - edges: null - }; // keep track of added pointers - - this.pointers = []; // pointerdown/mousedown/touchstart event - - this.downEvent = null; - this.downPointer = {}; - this._latestPointer = { - pointer: null, - event: null, - eventTarget: null - }; // previous action event - - this.prevEvent = null; - this.pointerIsDown = false; - this.pointerWasMoved = false; - this._interacting = false; - this._ending = false; - this._stopped = true; - this._proxy = null; - this.simulation = null; - /** - * @alias Interaction.prototype.move - */ - - this.doMove = utils.warnOnce(function (signalArg) { - this.move(signalArg); - }, 'The interaction.doMove() method has been renamed to interaction.move()'); - this.coords = { - // Starting InteractEvent pointer coordinates - start: utils.pointer.newCoords(), - // Previous native pointer move event coordinates - prev: utils.pointer.newCoords(), - // current native pointer move event coordinates - cur: utils.pointer.newCoords(), - // Change in coordinates and time of the pointer - delta: utils.pointer.newCoords(), - // pointer velocity - velocity: utils.pointer.newCoords() - }; - this._signals = signals; - this.pointerType = pointerType; - var that = this; - this._proxy = {}; - - var _loop = function _loop(key) { - Object.defineProperty(_this._proxy, key, { - get: function get() { - return that[key]; - } - }); - }; - - for (var key in _ProxyValues) { - _loop(key); - } - - var _loop2 = function _loop2(_key) { - Object.defineProperty(_this._proxy, _key, { - value: function value() { - return that[_key].apply(that, arguments); - } - }); - }; - - for (var _key in _ProxyMethods) { - _loop2(_key); - } - - this._signals.fire('new', { - interaction: this - }); - } - - _createClass(Interaction, [{ - key: "pointerDown", - value: function pointerDown(pointer, event, eventTarget) { - var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); - - this._signals.fire('down', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - pointerIndex: pointerIndex, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable({ - * // disable the default drag start by down->move - * manualStart: true - * }) - * // start dragging after the user holds the pointer down - * .on('hold', function (event) { - * var interaction = event.interaction - * - * if (!interaction.interacting()) { - * interaction.start({ name: 'drag' }, - * event.interactable, - * event.currentTarget) - * } - * }) - * ``` - * - * Start an action with the given Interactable and Element as tartgets. The - * action must be enabled for the target Interactable and an appropriate - * number of pointers must be held down - 1 for drag/resize, 2 for gesture. - * - * Use it with `interactable.able({ manualStart: false })` to always - * [start actions manually](https://github.com/taye/interact.js/issues/114) - * - * @param {object} action The action to be performed - drag, resize, etc. - * @param {Interactable} target The Interactable to target - * @param {Element} element The DOM Element to target - * @return {object} interact - */ - - }, { - key: "start", - value: function start(action, interactable, element) { - if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { - return false; - } - - utils.copyAction(this.prepared, action); - this.interactable = interactable; - this.element = element; - this.rect = interactable.getRect(element); - this.edges = this.prepared.edges; - this._stopped = false; - this._interacting = this._doPhase({ - interaction: this, - event: this.downEvent, - phase: _InteractEvent.EventPhase.Start - }) && !this._stopped; - return this._interacting; - } - }, { - key: "pointerMove", - value: function pointerMove(pointer, event, eventTarget) { - if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { - this.updatePointer(pointer, event, eventTarget, false); - utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - } - - 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; - var dx; - var dy; // register movement greater than pointerMoveTolerance - - if (this.pointerIsDown && !this.pointerWasMoved) { - dx = this.coords.cur.client.x - this.coords.start.client.x; - dy = this.coords.cur.client.y - this.coords.start.client.y; - this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; - } - - var signalArg = { - pointer: pointer, - pointerIndex: this.getPointerIndex(pointer), - event: event, - eventTarget: eventTarget, - dx: dx, - dy: dy, - duplicate: duplicateMove, - interaction: this - }; - - if (!duplicateMove) { - // set pointer coordinate, time changes and velocity - utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); - utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); - } - - this._signals.fire('move', signalArg); - - if (!duplicateMove) { - // if interacting, fire an 'action-move' signal etc - if (this.interacting()) { - this.move(signalArg); - } - - if (this.pointerWasMoved) { - utils.pointer.copyCoords(this.coords.prev, this.coords.cur); - } - } - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('dragmove', function (event) { - * if (someCondition) { - * // change the snap settings - * event.interactable.draggable({ snap: { targets: [] }}) - * // fire another move event with re-calculated snap - * event.interaction.move() - * } - * }) - * ``` - * - * Force a move of the current action at the same coordinates. Useful if - * snap/restrict has been changed and you want a movement with the new - * settings. - */ - - }, { - key: "move", - value: function move(signalArg) { - signalArg = utils.extend({ - pointer: this._latestPointer.pointer, - event: this._latestPointer.event, - eventTarget: this._latestPointer.eventTarget, - interaction: this - }, signalArg || {}); - signalArg.phase = _InteractEvent.EventPhase.Move; - - this._doPhase(signalArg); - } // End interact move events and stop auto-scroll unless simulation is running - - }, { - key: "pointerUp", - value: function pointerUp(pointer, event, eventTarget, curEventTarget) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - pointerIndex = this.updatePointer(pointer, event, eventTarget, false); - } - - this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { - pointer: pointer, - pointerIndex: pointerIndex, - event: event, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - interaction: this - }); - - if (!this.simulation) { - this.end(event); - } - - this.pointerIsDown = false; - this.removePointer(pointer, event); - } - }, { - key: "documentBlur", - value: function documentBlur(event) { - this.end(event); - - this._signals.fire('blur', { - event: event, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('move', function (event) { - * if (event.pageX > 1000) { - * // end the current action - * event.interaction.end() - * // stop all further listeners from being called - * event.stopImmediatePropagation() - * } - * }) - * ``` - * - * @param {PointerEvent} [event] - */ - - }, { - key: "end", - value: function end(event) { - this._ending = true; - event = event || this._latestPointer.event; - var endPhaseResult; - - if (this.interacting()) { - endPhaseResult = this._doPhase({ - event: event, - interaction: this, - phase: _InteractEvent.EventPhase.End - }); - } - - this._ending = false; - - if (endPhaseResult === true) { - this.stop(); - } - } - }, { - key: "currentAction", - value: function currentAction() { - return this._interacting ? this.prepared.name : null; - } - }, { - key: "interacting", - value: function interacting() { - return this._interacting; - } - /** */ - - }, { - key: "stop", - value: function stop() { - this._signals.fire('stop', { - interaction: this - }); - - this.interactable = this.element = null; - this._interacting = false; - this._stopped = true; - this.prepared.name = this.prevEvent = null; - } - }, { - key: "getPointerIndex", - value: function getPointerIndex(pointer) { - var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer - - return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { - return curPointer.id === pointerId; - }); - } - }, { - key: "getPointerInfo", - value: function getPointerInfo(pointer) { - return this.pointers[this.getPointerIndex(pointer)]; - } - }, { - key: "updatePointer", - value: function updatePointer(pointer, event, eventTarget, down) { - var id = utils.pointer.getPointerId(pointer); - var pointerIndex = this.getPointerIndex(pointer); - var pointerInfo = this.pointers[pointerIndex]; - down = down === false ? false : down || /(down|start)$/i.test(event.type); - - if (!pointerInfo) { - pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); - pointerIndex = this.pointers.length; - this.pointers.push(pointerInfo); - } else { - pointerInfo.pointer = pointer; - } - - if (down) { - this.pointerIsDown = true; - - if (!this.interacting()) { - utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - utils.pointer.copyCoords(this.coords.cur, this.coords.start); - utils.pointer.copyCoords(this.coords.prev, this.coords.start); - utils.pointer.pointerExtend(this.downPointer, pointer); - this.downEvent = event; - pointerInfo.downTime = this.coords.cur.timeStamp; - pointerInfo.downTarget = eventTarget; - this.pointerWasMoved = false; - } - } - - this._updateLatestPointer(pointer, event, eventTarget); - - this._signals.fire('update-pointer', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - down: down, - pointerInfo: pointerInfo, - pointerIndex: pointerIndex, - interaction: this - }); - - return pointerIndex; - } - }, { - key: "removePointer", - value: function removePointer(pointer, event) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - return; - } - - var pointerInfo = this.pointers[pointerIndex]; - - this._signals.fire('remove-pointer', { - pointer: pointer, - event: event, - pointerIndex: pointerIndex, - pointerInfo: pointerInfo, - interaction: this - }); - - this.pointers.splice(pointerIndex, 1); - } - }, { - key: "_updateLatestPointer", - value: function _updateLatestPointer(pointer, event, eventTarget) { - this._latestPointer.pointer = pointer; - this._latestPointer.event = event; - this._latestPointer.eventTarget = eventTarget; - } - }, { - key: "destroy", - value: function destroy() { - this._latestPointer.pointer = null; - this._latestPointer.event = null; - this._latestPointer.eventTarget = null; - } - }, { - key: "_createPreparedEvent", - value: function _createPreparedEvent(event, phase, preEnd, type) { - var actionName = this.prepared.name; - return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); - } - }, { - key: "_fireEvent", - value: function _fireEvent(iEvent) { - this.interactable.fire(iEvent); - - if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { - this.prevEvent = iEvent; - } - } - }, { - key: "_doPhase", - value: function _doPhase(signalArg) { - var event = signalArg.event, - phase = signalArg.phase, - preEnd = signalArg.preEnd, - type = signalArg.type; - - var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); - - if (beforeResult === false) { - return false; - } - - var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); - - var rect = this.rect; - - if (rect) { - // update the rect modifications - var edges = this.edges || this.prepared.edges || { - left: true, - right: true, - top: true, - bottom: true - }; - - if (edges.top) { - rect.top += iEvent.delta.y; - } - - if (edges.bottom) { - rect.bottom += iEvent.delta.y; - } - - if (edges.left) { - rect.left += iEvent.delta.x; - } - - if (edges.right) { - rect.right += iEvent.delta.x; - } - - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; - } - - this._signals.fire("action-".concat(phase), signalArg); - - this._fireEvent(iEvent); - - this._signals.fire("after-action-".concat(phase), signalArg); - - return true; - } - }, { - key: "_now", - value: function _now() { - return Date.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return 1; - } - }]); - - return Interaction; -}(); - -exports.Interaction = Interaction; -var _default = Interaction; -exports["default"] = _default; - -}); -var _$arr_47 = {}; -"use strict"; - -Object.defineProperty(_$arr_47, "__esModule", { - value: true -}); -_$arr_47.contains = contains; -_$arr_47.remove = remove; -_$arr_47.merge = merge; -_$arr_47.from = from; -_$arr_47.findIndex = findIndex; -_$arr_47.find = find; - -function contains(array, target) { - return array.indexOf(target) !== -1; -} - -function remove(array, target) { - return array.splice(array.indexOf(target), 1); -} - -function merge(target, source) { - for (var _i = 0; _i < source.length; _i++) { - var _ref; - - _ref = source[_i]; - var item = _ref; - target.push(item); - } - - return target; -} - -function from(source) { - return merge([], source); -} - -function findIndex(array, func) { - for (var i = 0; i < array.length; i++) { - if (func(array[i], i, array)) { - return i; - } - } - - return -1; -} - -function find(array, func) { - return array[findIndex(array, func)]; -} - -var _$domObjects_50 = {}; -"use strict"; - -Object.defineProperty(_$domObjects_50, "__esModule", { - value: true -}); -_$domObjects_50["default"] = void 0; -var domObjects = { - init: init, - document: null, - DocumentFragment: null, - SVGElement: null, - SVGSVGElement: null, - // eslint-disable-next-line no-undef - SVGElementInstance: null, - Element: null, - HTMLElement: null, - Event: null, - Touch: null, - PointerEvent: null -}; - -function blank() {} - -var _default = domObjects; -_$domObjects_50["default"] = _default; - -function init(window) { - var win = window; - domObjects.document = win.document; - domObjects.DocumentFragment = win.DocumentFragment || blank; - domObjects.SVGElement = win.SVGElement || blank; - domObjects.SVGSVGElement = win.SVGSVGElement || blank; - domObjects.SVGElementInstance = win.SVGElementInstance || blank; - domObjects.Element = win.Element || blank; - domObjects.HTMLElement = win.HTMLElement || domObjects.Element; - domObjects.Event = win.Event; - domObjects.Touch = win.Touch || blank; - domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; -} - -var _$isWindow_58 = {}; -"use strict"; - -Object.defineProperty(_$isWindow_58, "__esModule", { - value: true -}); -_$isWindow_58["default"] = void 0; - -var ___default_58 = function _default(thing) { - return !!(thing && thing.Window) && thing instanceof thing.Window; -}; - -_$isWindow_58["default"] = ___default_58; - -var _$window_66 = {}; -"use strict"; - -Object.defineProperty(_$window_66, "__esModule", { - value: true -}); -_$window_66.init = __init_66; -_$window_66.getWindow = getWindow; -_$window_66["default"] = void 0; - -var _isWindow = _interopRequireDefault(_$isWindow_58); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var win = { - realWindow: undefined, - window: undefined, - getWindow: getWindow, - init: __init_66 -}; - -function __init_66(window) { - // get wrapped window if using Shadow DOM polyfill - win.realWindow = window; // create a TextNode - - var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill - - if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { - // use wrapped window - window = window.wrap(window); - } - - win.window = window; -} - -if (typeof window === 'undefined') { - win.window = undefined; - win.realWindow = undefined; -} else { - __init_66(window); -} - -function getWindow(node) { - if ((0, _isWindow["default"])(node)) { - return node; - } - - var rootNode = node.ownerDocument || node; - return rootNode.defaultView || win.window; -} - -win.init = __init_66; -var ___default_66 = win; -_$window_66["default"] = ___default_66; - -var _$is_57 = {}; -"use strict"; - -Object.defineProperty(_$is_57, "__esModule", { - value: true -}); -_$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; - -var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); - -var _window2 = ___interopRequireDefault_57(_$window_66); - -function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -var __window_57 = function window(thing) { - return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); -}; - -_$is_57.window = __window_57; - -var docFrag = function docFrag(thing) { - return object(thing) && thing.nodeType === 11; -}; - -_$is_57.docFrag = docFrag; - -var object = function object(thing) { - return !!thing && _typeof(thing) === 'object'; -}; - -_$is_57.object = object; - -var func = function func(thing) { - return typeof thing === 'function'; -}; - -_$is_57.func = func; - -var number = function number(thing) { - return typeof thing === 'number'; -}; - -_$is_57.number = number; - -var bool = function bool(thing) { - return typeof thing === 'boolean'; -}; - -_$is_57.bool = bool; - -var string = function string(thing) { - return typeof thing === 'string'; -}; - -_$is_57.string = string; - -var element = function element(thing) { - if (!thing || _typeof(thing) !== 'object') { - return false; - } - - var _window = _window2["default"].getWindow(thing) || _window2["default"].window; - - return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 - : thing.nodeType === 1 && typeof thing.nodeName === 'string'; -}; - -_$is_57.element = element; - -var plainObject = function plainObject(thing) { - return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); -}; - -_$is_57.plainObject = plainObject; - -var array = function array(thing) { - return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); -}; - -_$is_57.array = array; - -var _$browser_48 = {}; -"use strict"; - -Object.defineProperty(_$browser_48, "__esModule", { - value: true -}); -_$browser_48["default"] = void 0; - -var _domObjects = ___interopRequireDefault_48(_$domObjects_50); - -var is = _interopRequireWildcard(_$is_57); - -var _window = ___interopRequireDefault_48(_$window_66); - -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 }; } - -var browser = { - init: __init_48, - supportsTouch: null, - supportsPointerEvent: null, - isIOS7: null, - isIOS: null, - isIe9: null, - isOperaMobile: null, - prefixedMatchesSelector: null, - pEventTypes: null, - wheelEvent: null -}; - -function __init_48(window) { - var Element = _domObjects["default"].Element; - var navigator = _window["default"].window.navigator; // Does the browser support touch input? - - browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents - - browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; - browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 - - browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); - browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently - - browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector - - browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; - browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { - up: 'MSPointerUp', - down: 'MSPointerDown', - over: 'mouseover', - out: 'mouseout', - move: 'MSPointerMove', - cancel: 'MSPointerCancel' - } : { - up: 'pointerup', - down: 'pointerdown', - over: 'pointerover', - out: 'pointerout', - move: 'pointermove', - cancel: 'pointercancel' - } : null; // because Webkit and Opera still use 'mousewheel' event type - - browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; -} - -var ___default_48 = browser; -_$browser_48["default"] = ___default_48; - -var _$domUtils_51 = {}; -"use strict"; - -Object.defineProperty(_$domUtils_51, "__esModule", { - value: true -}); -_$domUtils_51.nodeContains = nodeContains; -_$domUtils_51.closest = closest; -_$domUtils_51.parentNode = parentNode; -_$domUtils_51.matchesSelector = matchesSelector; -_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; -_$domUtils_51.matchesUpTo = matchesUpTo; -_$domUtils_51.getActualElement = getActualElement; -_$domUtils_51.getScrollXY = getScrollXY; -_$domUtils_51.getElementClientRect = getElementClientRect; -_$domUtils_51.getElementRect = getElementRect; -_$domUtils_51.getPath = getPath; -_$domUtils_51.trySelector = trySelector; - -var _browser = ___interopRequireDefault_51(_$browser_48); - -var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); - -var __is_51 = ___interopRequireWildcard_51(_$is_57); - -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; } 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 }; } - -function nodeContains(parent, child) { - while (child) { - if (child === parent) { - return true; - } - - child = child.parentNode; - } - - return false; -} - -function closest(element, selector) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return element; - } - - element = parentNode(element); - } - - return null; -} - -function parentNode(node) { - var parent = node.parentNode; - - if (__is_51.docFrag(parent)) { - // skip past #shado-root fragments - // tslint:disable-next-line - while ((parent = parent.host) && __is_51.docFrag(parent)) { - continue; - } - - return parent; - } - - return parent; -} - -function matchesSelector(element, selector) { - // remove /deep/ from selectors if shadowDOM polyfill is used - if (___window_51["default"].window !== ___window_51["default"].realWindow) { - selector = selector.replace(/\/deep\//g, ' '); - } - - return element[_browser["default"].prefixedMatchesSelector](selector); -} - -var getParent = function getParent(el) { - return el.parentNode ? el.parentNode : el.host; -}; // Test for the element that's "above" all other qualifiers - - -function indexOfDeepestElement(elements) { - var deepestZoneParents = []; - var deepestZone = elements[0]; - var index = deepestZone ? 0 : -1; - var i; - var n; - - for (i = 1; i < elements.length; i++) { - var dropzone = elements[i]; // an element might belong to multiple selector dropzones - - if (!dropzone || dropzone === deepestZone) { - continue; - } - - if (!deepestZone) { - deepestZone = dropzone; - index = i; - continue; - } // check if the deepest or current are document.documentElement or document.rootElement - // - if the current dropzone is, do nothing and continue - - - if (dropzone.parentNode === dropzone.ownerDocument) { - continue; - } // - if deepest is, update with the current dropzone and continue to next - else if (deepestZone.parentNode === dropzone.ownerDocument) { - 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) { - var _parent = deepestZone; - var parentParent = void 0; - - while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { - deepestZoneParents.unshift(_parent); - _parent = parentParent; - } - } - - 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) { - continue; - } - - parent = dropzone.ownerSVGElement; - } else { - parent = dropzone; - } - - var dropzoneParents = []; - - while (parent.parentNode !== parent.ownerDocument) { - dropzoneParents.unshift(parent); - parent = getParent(parent); - } - - n = 0; // get (position of last common ancestor) + 1 - - while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { - n++; - } - - var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; - var child = parents[0].lastChild; - - while (child) { - if (child === parents[1]) { - deepestZone = dropzone; - index = i; - deepestZoneParents = dropzoneParents; - break; - } else if (child === parents[2]) { - break; - } - - child = child.previousSibling; - } - } - - return index; -} - -function matchesUpTo(element, selector, limit) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return true; - } - - element = parentNode(element); - - if (element === limit) { - return matchesSelector(element, selector); - } - } - - return false; -} - -function getActualElement(element) { - return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; -} - -function getScrollXY(relevantWindow) { - relevantWindow = relevantWindow || ___window_51["default"].window; - return { - x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, - y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop - }; -} - -function getElementClientRect(element) { - var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; - return clientRect && { - left: clientRect.left, - right: clientRect.right, - top: clientRect.top, - bottom: clientRect.bottom, - width: clientRect.width || clientRect.right - clientRect.left, - height: clientRect.height || clientRect.bottom - clientRect.top - }; -} - -function getElementRect(element) { - var clientRect = getElementClientRect(element); - - if (!_browser["default"].isIOS7 && clientRect) { - var scroll = getScrollXY(___window_51["default"].getWindow(element)); - clientRect.left += scroll.x; - clientRect.right += scroll.x; - clientRect.top += scroll.y; - clientRect.bottom += scroll.y; - } - - return clientRect; -} - -function getPath(node) { - var path = []; - - while (node) { - path.push(node); - node = parentNode(node); - } - - return path; -} - -function trySelector(value) { - if (!__is_51.string(value)) { - return false; - } // an exception will be raised if it is invalid - - - ___domObjects_51["default"].document.querySelector(value); - - return true; -} - -var _$clone_49 = {}; -"use strict"; - -Object.defineProperty(_$clone_49, "__esModule", { - value: true -}); -_$clone_49["default"] = clone; - -var arr = ___interopRequireWildcard_49(_$arr_47); - -var __is_49 = ___interopRequireWildcard_49(_$is_57); - -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 = {}; - - for (var prop in source) { - var value = source[prop]; - - if (__is_49.plainObject(value)) { - dest[prop] = clone(value); - } else if (__is_49.array(value)) { - dest[prop] = arr.from(value); - } else { - dest[prop] = value; - } - } - - return dest; -} - -var _$pointerExtend_60 = {}; -"use strict"; - -Object.defineProperty(_$pointerExtend_60, "__esModule", { - value: true -}); -_$pointerExtend_60["default"] = void 0; - -function pointerExtend(dest, source) { - for (var prop in source) { - var prefixedPropREs = pointerExtend.prefixedPropREs; - var deprecated = false; // skip deprecated prefixed properties - - for (var vendor in prefixedPropREs) { - if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { - deprecated = true; - break; - } - } - - if (!deprecated && typeof source[prop] !== 'function') { - dest[prop] = source[prop]; - } - } - - return dest; -} - -pointerExtend.prefixedPropREs = { - webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, - moz: /(Pressure)$/ -}; -var ___default_60 = pointerExtend; -_$pointerExtend_60["default"] = ___default_60; - -var _$hypot_55 = {}; -"use strict"; - -Object.defineProperty(_$hypot_55, "__esModule", { - value: true -}); -_$hypot_55["default"] = void 0; - -var ___default_55 = function _default(x, y) { - return Math.sqrt(x * x + y * y); -}; - -_$hypot_55["default"] = ___default_55; - -var _$pointerUtils_61 = {}; -"use strict"; - -Object.defineProperty(_$pointerUtils_61, "__esModule", { - value: true -}); -_$pointerUtils_61["default"] = void 0; - -var ___browser_61 = ___interopRequireDefault_61(_$browser_48); - -var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); - -var domUtils = ___interopRequireWildcard_61(_$domUtils_51); - -var _hypot = ___interopRequireDefault_61(_$hypot_55); - -var __is_61 = ___interopRequireWildcard_61(_$is_57); - -var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); - -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 }; } - -var pointerUtils = { - copyCoords: function copyCoords(dest, src) { - dest.page = dest.page || {}; - dest.page.x = src.page.x; - dest.page.y = src.page.y; - dest.client = dest.client || {}; - dest.client.x = src.client.x; - dest.client.y = src.client.y; - dest.timeStamp = src.timeStamp; - }, - setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { - targetObj.page.x = cur.page.x - prev.page.x; - targetObj.page.y = cur.page.y - prev.page.y; - targetObj.client.x = cur.client.x - prev.client.x; - targetObj.client.y = cur.client.y - prev.client.y; - targetObj.timeStamp = cur.timeStamp - prev.timeStamp; - }, - setCoordVelocity: function setCoordVelocity(targetObj, delta) { - var dt = Math.max(delta.timeStamp / 1000, 0.001); - targetObj.page.x = delta.page.x / dt; - targetObj.page.y = delta.page.y / dt; - targetObj.client.x = delta.client.x / dt; - targetObj.client.y = delta.client.y / dt; - targetObj.timeStamp = dt; - }, - isNativePointer: function isNativePointer(pointer) { - return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; - }, - // Get specified X/Y coords for mouse or event.touches[0] - getXY: function getXY(type, pointer, xy) { - xy = xy || {}; - type = type || 'page'; - xy.x = pointer[type + 'X']; - xy.y = pointer[type + 'Y']; - return xy; - }, - getPageXY: function getPageXY(pointer, page) { - page = page || { - x: 0, - y: 0 - }; // Opera Mobile handles the viewport and scrolling oddly - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - pointerUtils.getXY('screen', pointer, page); - page.x += window.scrollX; - page.y += window.scrollY; - } else { - pointerUtils.getXY('page', pointer, page); - } - - return page; - }, - getClientXY: function getClientXY(pointer, client) { - client = client || {}; - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - // Opera Mobile handles the viewport and scrolling oddly - pointerUtils.getXY('screen', pointer, client); - } else { - pointerUtils.getXY('client', pointer, client); - } - - return client; - }, - getPointerId: function getPointerId(pointer) { - return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; - }, - setCoords: function setCoords(targetObj, pointers, timeStamp) { - var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; - var tmpXY = {}; - pointerUtils.getPageXY(pointer, tmpXY); - targetObj.page.x = tmpXY.x; - targetObj.page.y = tmpXY.y; - pointerUtils.getClientXY(pointer, tmpXY); - targetObj.client.x = tmpXY.x; - targetObj.client.y = tmpXY.y; - targetObj.timeStamp = timeStamp; - }, - pointerExtend: _pointerExtend["default"], - getTouchPair: function getTouchPair(event) { - var touches = []; // array of touches is supplied - - if (__is_61.array(event)) { - touches[0] = event[0]; - touches[1] = event[1]; - } // an event - else { - if (event.type === 'touchend') { - if (event.touches.length === 1) { - touches[0] = event.touches[0]; - touches[1] = event.changedTouches[0]; - } else if (event.touches.length === 0) { - touches[0] = event.changedTouches[0]; - touches[1] = event.changedTouches[1]; - } - } else { - touches[0] = event.touches[0]; - touches[1] = event.touches[1]; - } - } - - return touches; - }, - pointerAverage: function pointerAverage(pointers) { - var average = { - pageX: 0, - pageY: 0, - clientX: 0, - clientY: 0, - screenX: 0, - screenY: 0 - }; - - for (var _i = 0; _i < pointers.length; _i++) { - var _ref; - - _ref = pointers[_i]; - var pointer = _ref; - - for (var _prop in average) { - average[_prop] += pointer[_prop]; - } - } - - for (var prop in average) { - average[prop] /= pointers.length; - } - - return average; - }, - touchBBox: function touchBBox(event) { - if (!event.length && !(event.touches && event.touches.length > 1)) { - return null; - } - - var touches = pointerUtils.getTouchPair(event); - var minX = Math.min(touches[0].pageX, touches[1].pageX); - var minY = Math.min(touches[0].pageY, touches[1].pageY); - var maxX = Math.max(touches[0].pageX, touches[1].pageX); - var maxY = Math.max(touches[0].pageY, touches[1].pageY); - return { - x: minX, - y: minY, - left: minX, - top: minY, - right: maxX, - bottom: maxY, - width: maxX - minX, - height: maxY - minY - }; - }, - touchDistance: function touchDistance(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[0][sourceX] - touches[1][sourceX]; - var dy = touches[0][sourceY] - touches[1][sourceY]; - return (0, _hypot["default"])(dx, dy); - }, - touchAngle: function touchAngle(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[1][sourceX] - touches[0][sourceX]; - var dy = touches[1][sourceY] - touches[0][sourceY]; - var angle = 180 * Math.atan2(dy, dx) / Math.PI; - return angle; - }, - getPointerType: function getPointerType(pointer) { - 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 - // be either a MouseEvent, TouchEvent, or Touch object - : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; - }, - // [ event.target, event.currentTarget ] - getEventTargets: function getEventTargets(event) { - var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; - return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; - }, - newCoords: function newCoords() { - return { - page: { - x: 0, - y: 0 - }, - client: { - x: 0, - y: 0 - }, - timeStamp: 0 - }; - }, - coordsToEvent: function coordsToEvent(coords) { - var event = { - coords: coords, - - 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 event; - } -}; -var ___default_61 = pointerUtils; -_$pointerUtils_61["default"] = ___default_61; - -var _$events_52 = {}; -"use strict"; - -Object.defineProperty(_$events_52, "__esModule", { - value: true -}); -_$events_52["default"] = _$events_52.FakeEvent = void 0; - -/* removed: var _$arr_47 = require("./arr"); */; - -var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); - -var __is_52 = ___interopRequireWildcard_52(_$is_57); - -var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); - -var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); - -function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -var elements = []; -var targets = []; -var delegatedEvents = {}; -var documents = []; - -function add(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target) { - target = { - events: {}, - typeCount: 0 - }; - elementIndex = elements.push(element) - 1; - targets.push(target); - } - - if (!target.events[type]) { - target.events[type] = []; - target.typeCount++; - } - - if (!(0, _$arr_47.contains)(target.events[type], listener)) { - element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].push(listener); - } -} - -function __remove_52(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target || !target.events) { - return; - } - - if (type === 'all') { - for (type in target.events) { - if (target.events.hasOwnProperty(type)) { - __remove_52(element, type, 'all'); - } - } - - return; - } - - if (target.events[type]) { - var len = target.events[type].length; - - if (listener === 'all') { - for (var i = 0; i < len; i++) { - __remove_52(element, type, target.events[type][i], options); - } - - return; - } else { - for (var _i = 0; _i < len; _i++) { - if (target.events[type][_i] === listener) { - element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].splice(_i, 1); - break; - } - } - } - - if (target.events[type] && target.events[type].length === 0) { - target.events[type] = null; - target.typeCount--; - } - } - - if (!target.typeCount) { - targets.splice(elementIndex, 1); - elements.splice(elementIndex, 1); - } -} - -function addDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - - if (!delegatedEvents[type]) { - delegatedEvents[type] = { - contexts: [], - listeners: [], - selectors: [] - }; // add delegate listener functions - - for (var _i2 = 0; _i2 < documents.length; _i2++) { - var _ref; - - _ref = documents[_i2]; - var doc = _ref; - add(doc, type, delegateListener); - add(doc, type, delegateUseCapture, true); - } - } - - var delegated = delegatedEvents[type]; - var index; - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - break; - } - } - - if (index === -1) { - index = delegated.selectors.length; - delegated.selectors.push(selector); - delegated.contexts.push(context); - delegated.listeners.push([]); - } // keep listener and capture and passive flags - - - delegated.listeners[index].push([listener, !!options.capture, options.passive]); -} - -function removeDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var delegated = delegatedEvents[type]; - var matchFound = false; - var index; - - if (!delegated) { - return; - } // count from last index of delegated to 0 - - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - // look for matching selector and context Node - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] - - for (var i = listeners.length - 1; i >= 0; i--) { - var _listeners$i = _slicedToArray(listeners[i], 3), - fn = _listeners$i[0], - capture = _listeners$i[1], - passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match - - - if (fn === listener && capture === !!options.capture && passive === options.passive) { - // remove the listener from the array of listeners - listeners.splice(i, 1); // if all listeners for this interactable have been removed - // remove the interactable from the delegated arrays - - if (!listeners.length) { - delegated.selectors.splice(index, 1); - delegated.contexts.splice(index, 1); - delegated.listeners.splice(index, 1); // remove delegate function from context - - __remove_52(context, type, delegateListener); - __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegatedEvents[type] = null; - } - } // only remove one listener - - - matchFound = true; - break; - } - } - - if (matchFound) { - break; - } - } - } -} // bound to the interactable context when a DOM event -// listener is added to a selector interactable - - -function delegateListener(event, optionalArg) { - var options = getOptions(optionalArg); - var fakeEvent = new FakeEvent(event); - var delegated = delegatedEvents[event.type]; - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), - eventTarget = _pointerUtils$getEven2[0]; - - var element = eventTarget; // climb up document tree looking for selector matches - - while (__is_52.element(element)) { - for (var i = 0; i < delegated.selectors.length; i++) { - var selector = delegated.selectors[i]; - var context = delegated.contexts[i]; - - if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { - var listeners = delegated.listeners[i]; - fakeEvent.currentTarget = element; - - for (var _i3 = 0; _i3 < listeners.length; _i3++) { - var _ref2; - - _ref2 = listeners[_i3]; - - 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); - } - } - } - } - - element = __domUtils_52.parentNode(element); - } -} - -function delegateUseCapture(event) { - return delegateListener.call(this, event, true); -} - -function getOptions(param) { - return __is_52.object(param) ? param : { - capture: param - }; -} - -var FakeEvent = -/*#__PURE__*/ -function () { - function FakeEvent(originalEvent) { - _classCallCheck(this, FakeEvent); - - this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed - - (0, ___pointerExtend_52["default"])(this, originalEvent); - } - - _createClass(FakeEvent, [{ - key: "preventOriginalDefault", - value: function preventOriginalDefault() { - this.originalEvent.preventDefault(); - } - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.originalEvent.stopPropagation(); - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.originalEvent.stopImmediatePropagation(); - } - }]); - - return FakeEvent; -}(); - -_$events_52.FakeEvent = FakeEvent; -var events = { - add: add, - remove: __remove_52, - addDelegate: addDelegate, - removeDelegate: removeDelegate, - delegateListener: delegateListener, - delegateUseCapture: delegateUseCapture, - delegatedEvents: delegatedEvents, - documents: documents, - supportsOptions: false, - supportsPassive: false, - _elements: elements, - _targets: targets, - init: function init(window) { - window.document.createElement('div').addEventListener('test', null, { - get capture() { - return events.supportsOptions = true; - }, - - get passive() { - return events.supportsPassive = true; - } - - }); - } -}; -var ___default_52 = events; -_$events_52["default"] = ___default_52; - -var _$extend_53 = {}; -"use strict"; - -Object.defineProperty(_$extend_53, "__esModule", { - value: true -}); -_$extend_53["default"] = extend; - -function extend(dest, source) { - for (var prop in source) { - dest[prop] = source[prop]; - } - - return dest; -} - -var _$rect_63 = {}; -"use strict"; - -Object.defineProperty(_$rect_63, "__esModule", { - value: true -}); -_$rect_63.getStringOptionResult = getStringOptionResult; -_$rect_63.resolveRectLike = resolveRectLike; -_$rect_63.rectToXY = rectToXY; -_$rect_63.xywhToTlbr = xywhToTlbr; -_$rect_63.tlbrToXywh = tlbrToXywh; -_$rect_63["default"] = void 0; - -/* removed: var _$domUtils_51 = require("./domUtils"); */; - -var _extend = ___interopRequireDefault_63(_$extend_53); - -var __is_63 = ___interopRequireWildcard_63(_$is_57); - -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 }; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -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, target, element) { - if (value === 'parent') { - return (0, _$domUtils_51.parentNode)(element); - } - - if (value === 'self') { - return target.getRect(element); - } - - return (0, _$domUtils_51.closest)(element, value); -} - -function resolveRectLike(value, target, element, functionArgs) { - if (__is_63.string(value)) { - value = getStringOptionResult(value, target, element); - } else if (__is_63.func(value)) { - value = value.apply(void 0, _toConsumableArray(functionArgs)); - } - - if (__is_63.element(value)) { - value = (0, _$domUtils_51.getElementRect)(value); - } - - return value; -} - -function rectToXY(rect) { - return rect && { - x: 'x' in rect ? rect.x : rect.left, - y: 'y' in rect ? rect.y : rect.top - }; -} - -function xywhToTlbr(rect) { - if (rect && !('left' in rect && 'top' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.left = rect.x || 0; - rect.top = rect.y || 0; - rect.right = rect.right || rect.left + rect.width; - rect.bottom = rect.bottom || rect.top + rect.height; - } - - return rect; -} - -function tlbrToXywh(rect) { - if (rect && !('x' in rect && 'y' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.x = rect.left || 0; - rect.y = rect.top || 0; - rect.width = rect.width || rect.right - rect.x; - rect.height = rect.height || rect.bottom - rect.y; - } - - return rect; -} - -var ___default_63 = { - getStringOptionResult: getStringOptionResult, - resolveRectLike: resolveRectLike, - rectToXY: rectToXY, - xywhToTlbr: xywhToTlbr, - tlbrToXywh: tlbrToXywh -}; -_$rect_63["default"] = ___default_63; - -var _$getOriginXY_54 = {}; -"use strict"; - -Object.defineProperty(_$getOriginXY_54, "__esModule", { - value: true -}); -_$getOriginXY_54["default"] = ___default_54; - -/* removed: var _$rect_63 = require("./rect"); */; - -function ___default_54(target, element, action) { - var actionOptions = target.options[action]; - var actionOrigin = actionOptions && actionOptions.origin; - var origin = actionOrigin || target.options.origin; - var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); - return (0, _$rect_63.rectToXY)(originRect) || { - x: 0, - y: 0 - }; -} - -var _$normalizeListeners_59 = {}; -"use strict"; - -Object.defineProperty(_$normalizeListeners_59, "__esModule", { - value: true -}); -_$normalizeListeners_59["default"] = normalize; - -var ___extend_59 = ___interopRequireDefault_59(_$extend_53); - -var __is_59 = ___interopRequireWildcard_59(_$is_57); - -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 }; } - -function normalize(type, listeners, result) { - result = result || {}; - - if (__is_59.string(type) && type.search(' ') !== -1) { - type = split(type); - } - - if (__is_59.array(type)) { - return type.reduce(function (acc, t) { - return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); - }, result); - } // ({ type: fn }) -> ('', { type: fn }) - - - if (__is_59.object(type)) { - listeners = type; - type = ''; - } - - if (__is_59.func(listeners)) { - result[type] = result[type] || []; - result[type].push(listeners); - } else if (__is_59.array(listeners)) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var l = _ref; - normalize(type, l, result); - } - } else if (__is_59.object(listeners)) { - for (var prefix in listeners) { - var combinedTypes = split(prefix).map(function (p) { - return "".concat(type).concat(p); - }); - normalize(combinedTypes, listeners[prefix], result); - } - } - - return result; -} - -function split(type) { - return type.trim().split(/ +/); -} - -var _$raf_62 = {}; -"use strict"; - -Object.defineProperty(_$raf_62, "__esModule", { - value: true -}); -_$raf_62["default"] = void 0; -var lastTime = 0; - -var _request; - -var _cancel; - -function __init_62(window) { - _request = window.requestAnimationFrame; - _cancel = window.cancelAnimationFrame; - - if (!_request) { - var vendors = ['ms', 'moz', 'webkit', 'o']; - - for (var _i = 0; _i < vendors.length; _i++) { - var vendor = vendors[_i]; - _request = window["".concat(vendor, "RequestAnimationFrame")]; - _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; - } - } - - if (!_request) { - _request = function request(callback) { - var currTime = Date.now(); - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal - - var token = setTimeout(function () { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return token; - }; - - _cancel = function cancel(token) { - return clearTimeout(token); - }; - } -} - -var ___default_62 = { - request: function request(callback) { - return _request(callback); - }, - cancel: function cancel(token) { - return _cancel(token); - }, - init: __init_62 -}; -_$raf_62["default"] = ___default_62; - -var _$Signals_46 = {}; -"use strict"; - -Object.defineProperty(_$Signals_46, "__esModule", { - value: true -}); -_$Signals_46["default"] = void 0; - -function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } - -var Signals = -/*#__PURE__*/ -function () { - function Signals() { - ___classCallCheck_46(this, Signals); - - this.listeners = {}; - } - - ___createClass_46(Signals, [{ - key: "on", - value: function on(name, listener) { - if (!this.listeners[name]) { - this.listeners[name] = [listener]; - return; - } - - this.listeners[name].push(listener); - } - }, { - key: "off", - value: function off(name, listener) { - if (!this.listeners[name]) { - return; - } - - var index = this.listeners[name].indexOf(listener); - - if (index !== -1) { - this.listeners[name].splice(index, 1); - } - } - }, { - key: "fire", - value: function fire(name, arg) { - var targetListeners = this.listeners[name]; - - if (!targetListeners) { - return; - } - - for (var _i = 0; _i < targetListeners.length; _i++) { - var _ref; - - _ref = targetListeners[_i]; - var listener = _ref; - - if (listener(arg, name) === false) { - return false; - } - } - } - }]); - - return Signals; -}(); - -var ___default_46 = Signals; -_$Signals_46["default"] = ___default_46; - -var _$utils_56 = {}; -"use strict"; - -Object.defineProperty(_$utils_56, "__esModule", { - value: true -}); -_$utils_56.warnOnce = warnOnce; -_$utils_56._getQBezierValue = _getQBezierValue; -_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; -_$utils_56.easeOutQuad = easeOutQuad; -_$utils_56.copyAction = copyAction; -Object.defineProperty(_$utils_56, "win", { - enumerable: true, - get: function get() { - return ___window_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "browser", { - enumerable: true, - get: function get() { - return ___browser_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "clone", { - enumerable: true, - get: function get() { - return _clone["default"]; - } -}); -Object.defineProperty(_$utils_56, "events", { - enumerable: true, - get: function get() { - return _events["default"]; - } -}); -Object.defineProperty(_$utils_56, "extend", { - enumerable: true, - get: function get() { - return ___extend_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "getOriginXY", { - enumerable: true, - get: function get() { - return _getOriginXY["default"]; - } -}); -Object.defineProperty(_$utils_56, "hypot", { - enumerable: true, - get: function get() { - return ___hypot_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "normalizeListeners", { - enumerable: true, - get: function get() { - return _normalizeListeners["default"]; - } -}); -Object.defineProperty(_$utils_56, "pointer", { - enumerable: true, - get: function get() { - return ___pointerUtils_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "raf", { - enumerable: true, - get: function get() { - return _raf["default"]; - } -}); -Object.defineProperty(_$utils_56, "rect", { - enumerable: true, - get: function get() { - return ___rect_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "Signals", { - enumerable: true, - get: function get() { - return _Signals["default"]; - } -}); -_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; - -var __arr_56 = ___interopRequireWildcard_56(_$arr_47); - -_$utils_56.arr = __arr_56; - -var dom = ___interopRequireWildcard_56(_$domUtils_51); - -_$utils_56.dom = dom; - -var __is_56 = ___interopRequireWildcard_56(_$is_57); - -_$utils_56.is = __is_56; - -var ___window_56 = ___interopRequireDefault_56(_$window_66); - -var ___browser_56 = ___interopRequireDefault_56(_$browser_48); - -var _clone = ___interopRequireDefault_56(_$clone_49); - -var _events = ___interopRequireDefault_56(_$events_52); - -var ___extend_56 = ___interopRequireDefault_56(_$extend_53); - -var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); - -var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); - -var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); - -var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); - -var _raf = ___interopRequireDefault_56(_$raf_62); - -var ___rect_56 = ___interopRequireDefault_56(_$rect_63); - -var _Signals = ___interopRequireDefault_56(_$Signals_46); - -function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 - - return function () { - if (!warned) { - ___window_56["default"].window.console.warn(message); - - warned = true; - } - - return method.apply(this, arguments); - }; -} // http://stackoverflow.com/a/5634528/2280888 - - -function _getQBezierValue(t, p1, p2, p3) { - var iT = 1 - t; - return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; -} - -function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { - return { - x: _getQBezierValue(position, startX, cpX, endX), - y: _getQBezierValue(position, startY, cpY, endY) - }; -} // http://gizma.com/easing/ - - -function easeOutQuad(t, b, c, d) { - t /= d; - return -c * t * (t - 2) + b; -} - -function copyAction(dest, src) { - dest.name = src.name; - dest.axis = src.axis; - dest.edges = src.edges; - return dest; -} - -var _$defaultOptions_20 = {}; -"use strict"; - -Object.defineProperty(_$defaultOptions_20, "__esModule", { - value: true -}); -_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; -// tslint:disable no-empty-interface -var defaults = { - base: { - preventDefault: 'auto', - deltaSource: 'page' - }, - perAction: { - enabled: false, - origin: { - x: 0, - y: 0 - } - }, - actions: {} -}; -_$defaultOptions_20.defaults = defaults; -var ___default_20 = defaults; -_$defaultOptions_20["default"] = ___default_20; - -var _$Eventable_14 = {}; -"use strict"; - -Object.defineProperty(_$Eventable_14, "__esModule", { - value: true -}); -_$Eventable_14["default"] = void 0; - -var __arr_14 = ___interopRequireWildcard_14(_$arr_47); - -var ___extend_14 = ___interopRequireDefault_14(_$extend_53); - -var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); - -function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } - -function fireUntilImmediateStopped(event, listeners) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var listener = _ref; - - if (event.immediatePropagationStopped) { - break; - } - - listener(event); - } -} - -var Eventable = -/*#__PURE__*/ -function () { - function Eventable(options) { - ___classCallCheck_14(this, Eventable); - - this.types = {}; - this.propagationStopped = false; - this.immediatePropagationStopped = false; - this.options = (0, ___extend_14["default"])({}, options || {}); - } - - ___createClass_14(Eventable, [{ - key: "fire", - value: function fire(event) { - var listeners; - var global = this.global; // Interactable#on() listeners - // tslint:disable no-conditional-assignment - - if (listeners = this.types[event.type]) { - fireUntilImmediateStopped(event, listeners); - } // interact.on() listeners - - - if (!event.propagationStopped && global && (listeners = global[event.type])) { - fireUntilImmediateStopped(event, listeners); - } - } - }, { - key: "on", - value: function on(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); - } - } - }, { - key: "off", - value: function off(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - var eventList = this.types[type]; - - if (!eventList || !eventList.length) { - continue; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var subListener = _ref2; - var index = eventList.indexOf(subListener); - - if (index !== -1) { - eventList.splice(index, 1); - } - } - } - } - }, { - key: "getRect", - value: function getRect(_element) { - return null; - } - }]); - - return Eventable; -}(); - -var ___default_14 = Eventable; -_$Eventable_14["default"] = ___default_14; - -var _$Interactable_16 = {}; -"use strict"; - -Object.defineProperty(_$Interactable_16, "__esModule", { - value: true -}); -_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; - -var __arr_16 = ___interopRequireWildcard_16(_$arr_47); - -var ___browser_16 = ___interopRequireDefault_16(_$browser_48); - -var ___clone_16 = ___interopRequireDefault_16(_$clone_49); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_16 = ___interopRequireDefault_16(_$events_52); - -var ___extend_16 = ___interopRequireDefault_16(_$extend_53); - -var __is_16 = ___interopRequireWildcard_16(_$is_57); - -var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -var _Eventable = ___interopRequireDefault_16(_$Eventable_14); - -function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } - -/** */ -var Interactable = -/*#__PURE__*/ -function () { - /** */ - function Interactable(target, options, defaultContext) { - ___classCallCheck_16(this, Interactable); - - this.events = new _Eventable["default"](); - this._actions = options.actions; - this.target = target; - this._context = options.context || defaultContext; - this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); - this._doc = this._win.document; - this.set(options); - } - - ___createClass_16(Interactable, [{ - key: "setOnEvents", - value: function setOnEvents(actionName, phases) { - if (__is_16.func(phases.onstart)) { - this.on("".concat(actionName, "start"), phases.onstart); - } - - if (__is_16.func(phases.onmove)) { - this.on("".concat(actionName, "move"), phases.onmove); - } - - if (__is_16.func(phases.onend)) { - this.on("".concat(actionName, "end"), phases.onend); - } - - if (__is_16.func(phases.oninertiastart)) { - this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); - } - - return this; - } - }, { - key: "updatePerActionListeners", - value: function updatePerActionListeners(actionName, prev, cur) { - if (__is_16.array(prev) || __is_16.object(prev)) { - this.off(actionName, prev); - } - - if (__is_16.array(cur) || __is_16.object(cur)) { - this.on(actionName, cur); - } - } - }, { - key: "setPerAction", - value: function setPerAction(actionName, options) { - var defaults = this._defaults; // for all the default per-action options - - for (var optionName in options) { - var actionOptions = this.options[actionName]; - var optionValue = options[optionName]; - var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones - - if (optionName === 'listeners') { - this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); - } // if the option value is an array - - - if (isArray) { - actionOptions[optionName] = __arr_16.from(optionValue); - } // if the option value is an object - else if (!isArray && __is_16.plainObject(optionValue)) { - // copy the object - actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults - - if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { - actionOptions[optionName].enabled = optionValue.enabled !== false; - } - } // if the option value is a boolean and the default is an object - else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { - actionOptions[optionName].enabled = optionValue; - } // if it's anything else, do a plain assignment - else { - actionOptions[optionName] = optionValue; - } - } - } - /** - * The default function to get an Interactables bounding rect. Can be - * overridden using {@link Interactable.rectChecker}. - * - * @param {Element} [element] The element to measure. - * @return {object} The object's bounding rectangle. - */ - - }, { - key: "getRect", - value: function getRect(element) { - element = element || (__is_16.element(this.target) ? this.target : null); - - if (__is_16.string(this.target)) { - element = element || this._context.querySelector(this.target); - } - - return (0, _$domUtils_51.getElementRect)(element); - } - /** - * Returns or sets the function used to calculate the interactable's - * element's rectangle - * - * @param {function} [checker] A function which returns this Interactable's - * bounding rectangle. See {@link Interactable.getRect} - * @return {function | object} The checker function or this Interactable - */ - - }, { - key: "rectChecker", - value: function rectChecker(checker) { - if (__is_16.func(checker)) { - this.getRect = checker; - return this; - } - - if (checker === null) { - delete this.getRect; - return this; - } - - return this.getRect; - } - }, { - key: "_backCompatOption", - value: function _backCompatOption(optionName, newValue) { - if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { - this.options[optionName] = newValue; - - for (var _i = 0; _i < this._actions.names.length; _i++) { - var _ref; - - _ref = this._actions.names[_i]; - var action = _ref; - this.options[action][optionName] = newValue; - } - - return this; - } - - return this.options[optionName]; - } - /** - * Gets or sets the origin of the Interactable's element. The x and y - * of the origin will be subtracted from action event coordinates. - * - * @param {Element | object | string} [origin] An HTML or SVG Element whose - * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' - * or any CSS selector - * - * @return {object} The current origin or this Interactable - */ - - }, { - key: "origin", - value: function origin(newValue) { - return this._backCompatOption('origin', newValue); - } - /** - * Returns or sets the mouse coordinate types used to calculate the - * movement of the pointer. - * - * @param {string} [newValue] Use 'client' if you will be scrolling while - * interacting; Use 'page' if you want autoScroll to work - * @return {string | object} The current deltaSource or this Interactable - */ - - }, { - key: "deltaSource", - value: function deltaSource(newValue) { - if (newValue === 'page' || newValue === 'client') { - this.options.deltaSource = newValue; - return this; - } - - return this.options.deltaSource; - } - /** - * Gets the selector context Node of the Interactable. The default is - * `window.document`. - * - * @return {Node} The context Node of this Interactable - */ - - }, { - key: "context", - value: function context() { - return this._context; - } - }, { - key: "inContext", - value: function inContext(element) { - return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); - } - }, { - key: "testIgnoreAllow", - value: function testIgnoreAllow(options, targetNode, eventTarget) { - return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); - } - }, { - key: "testAllow", - value: function testAllow(allowFrom, targetNode, element) { - if (!allowFrom) { - return true; - } - - if (!__is_16.element(element)) { - return false; - } - - if (__is_16.string(allowFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); - } else if (__is_16.element(allowFrom)) { - return (0, _$domUtils_51.nodeContains)(allowFrom, element); - } - - return false; - } - }, { - key: "testIgnore", - value: function testIgnore(ignoreFrom, targetNode, element) { - if (!ignoreFrom || !__is_16.element(element)) { - return false; - } - - if (__is_16.string(ignoreFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); - } else if (__is_16.element(ignoreFrom)) { - return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); - } - - return false; - } - /** - * Calls listeners for the given InteractEvent type bound globally - * and directly to this Interactable - * - * @param {InteractEvent} iEvent The InteractEvent object to be fired on this - * Interactable - * @return {Interactable} this Interactable - */ - - }, { - key: "fire", - value: function fire(iEvent) { - this.events.fire(iEvent); - return this; - } - }, { - key: "_onOff", - value: function _onOff(method, typeArg, listenerArg, options) { - if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { - options = listenerArg; - listenerArg = null; - } - - var addRemove = method === 'on' ? 'add' : 'remove'; - var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); - - for (var type in listeners) { - if (type === 'wheel') { - type = ___browser_16["default"].wheelEvent; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var listener = _ref2; - - // if it is an action event type - if (__arr_16.contains(this._actions.eventTypes, type)) { - this.events[method](type, listener); - } // 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 Interactable's element - else { - ___events_16["default"][addRemove](this.target, type, listener, options); - } - } - } - - return this; - } - /** - * Binds a listener for an InteractEvent, pointerEvent or DOM event. - * - * @param {string | array | object} types The types of events to listen - * for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * addEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "on", - value: function on(types, listener, options) { - return this._onOff('on', types, listener, options); - } - /** - * Removes an InteractEvent, pointerEvent or DOM event listener. - * - * @param {string | array | object} types The types of events that were - * listened for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * removeEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "off", - value: function off(types, listener, options) { - return this._onOff('off', types, listener, options); - } - /** - * Reset the options of this Interactable - * - * @param {object} options The new settings to apply - * @return {object} This Interactable - */ - - }, { - key: "set", - value: function set(options) { - var defaults = this._defaults; - - if (!__is_16.object(options)) { - options = {}; - } - - this.options = (0, ___clone_16["default"])(defaults.base); - - for (var actionName in this._actions.methodDict) { - var methodName = this._actions.methodDict[actionName]; - this.options[actionName] = {}; - this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); - this[methodName](options[actionName]); - } - - for (var setting in options) { - if (__is_16.func(this[setting])) { - this[setting](options[setting]); - } - } - - return this; - } - /** - * Remove this interactable from the list of interactables and remove it's - * action capabilities and event listeners - * - * @return {interact} - */ - - }, { - key: "unset", - value: function unset() { - ___events_16["default"].remove(this.target, 'all'); - - if (__is_16.string(this.target)) { - // remove delegated events - for (var type in ___events_16["default"].delegatedEvents) { - var delegated = ___events_16["default"].delegatedEvents[type]; - - if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { - delegated.selectors.splice(0, 1); - delegated.contexts.splice(0, 1); - delegated.listeners.splice(0, 1); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegated[type] = null; - } - } - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); - } - } else { - ___events_16["default"].remove(this.target, 'all'); - } - } - }, { - key: "_defaults", - get: function get() { - return { - base: {}, - perAction: {}, - actions: {} - }; - } - }]); - - return Interactable; -}(); - -_$Interactable_16.Interactable = Interactable; -var ___default_16 = Interactable; -_$Interactable_16["default"] = ___default_16; - -var _$InteractableSet_17 = {}; -"use strict"; - -Object.defineProperty(_$InteractableSet_17, "__esModule", { - value: true -}); -_$InteractableSet_17["default"] = void 0; - -var __arr_17 = ___interopRequireWildcard_17(_$arr_47); - -var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); - -var ___extend_17 = ___interopRequireDefault_17(_$extend_53); - -var __is_17 = ___interopRequireWildcard_17(_$is_57); - -var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); - -function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } - -var InteractableSet = -/*#__PURE__*/ -function () { - function InteractableSet(scope) { - var _this = this; - - ___classCallCheck_17(this, InteractableSet); - - this.scope = scope; - this.signals = new ___Signals_17["default"](); // all set interactables - - this.list = []; - this.selectorMap = {}; - this.signals.on('unset', function (_ref) { - var interactable = _ref.interactable; - var target = interactable.target, - context = interactable._context; - var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; - var targetIndex = targetMappings.findIndex(function (m) { - return m.context === context; - }); - - if (targetMappings[targetIndex]) { - // Destroying mappingInfo's context and interactable - targetMappings[targetIndex].context = null; - targetMappings[targetIndex].interactable = null; - } - - targetMappings.splice(targetIndex, 1); - }); - } - - ___createClass_17(InteractableSet, [{ - key: "new", - value: function _new(target, options) { - options = (0, ___extend_17["default"])(options || {}, { - actions: this.scope.actions - }); - var interactable = new this.scope.Interactable(target, options, this.scope.document); - var mappingInfo = { - context: interactable._context, - interactable: interactable - }; - this.scope.addDocument(interactable._doc); - this.list.push(interactable); - - if (__is_17.string(target)) { - if (!this.selectorMap[target]) { - this.selectorMap[target] = []; - } - - this.selectorMap[target].push(mappingInfo); - } else { - if (!interactable.target[this.scope.id]) { - Object.defineProperty(target, this.scope.id, { - value: [], - configurable: true - }); - } - - target[this.scope.id].push(mappingInfo); - } - - this.signals.fire('new', { - target: target, - options: options, - interactable: interactable, - win: this.scope._win - }); - return interactable; - } - }, { - key: "get", - value: function get(target, options) { - var context = options && options.context || this.scope.document; - var isSelector = __is_17.string(target); - var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; - - if (!targetMappings) { - return null; - } - - var found = __arr_17.find(targetMappings, function (m) { - return m.context === context && (isSelector || m.interactable.inContext(target)); - }); - return found && found.interactable; - } - }, { - key: "forEachMatch", - value: function forEachMatch(node, callback) { - for (var _i = 0; _i < this.list.length; _i++) { - var _ref2; - - _ref2 = this.list[_i]; - var interactable = _ref2; - var ret = void 0; - - if ((__is_17.string(interactable.target) // target is a selector and the element matches - ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element - node === interactable.target) && // the element is in context - interactable.inContext(node)) { - ret = callback(interactable); - } - - if (ret !== undefined) { - return ret; - } - } - } - }]); - - return InteractableSet; -}(); - -_$InteractableSet_17["default"] = InteractableSet; - -var _$BaseEvent_13 = {}; -"use strict"; - -Object.defineProperty(_$BaseEvent_13, "__esModule", { - value: true -}); -_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; - -function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } - -var EventPhase; -_$BaseEvent_13.EventPhase = EventPhase; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); - -var BaseEvent = -/*#__PURE__*/ -function () { - function BaseEvent(interaction) { - ___classCallCheck_13(this, BaseEvent); - - this.immediatePropagationStopped = false; - this.propagationStopped = false; - this._interaction = interaction; - } - - ___createClass_13(BaseEvent, [{ - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }, { - key: "interaction", - get: function get() { - return this._interaction._proxy; - } - }]); - - return BaseEvent; -}(); - -_$BaseEvent_13.BaseEvent = BaseEvent; -var ___default_13 = BaseEvent; -_$BaseEvent_13["default"] = ___default_13; - -var _$InteractEvent_15 = {}; -"use strict"; - -Object.defineProperty(_$InteractEvent_15, "__esModule", { - value: true -}); -_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; - -var ___extend_15 = ___interopRequireDefault_15(_$extend_53); - -var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); - -var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); - -var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); - -var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); - -function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var __EventPhase_15; -_$InteractEvent_15.EventPhase = __EventPhase_15; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); - -var InteractEvent = -/*#__PURE__*/ -function (_BaseEvent) { - _inherits(InteractEvent, _BaseEvent); - - /** */ - function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { - var _this; - - ___classCallCheck_15(this, InteractEvent); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); - element = element || interaction.element; - var target = interaction.interactable; - var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; - var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); - var starting = phase === 'start'; - var ending = phase === 'end'; - var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; - var coords = starting ? interaction.coords.start : ending ? { - page: prevEvent.page, - client: prevEvent.client, - timeStamp: interaction.coords.cur.timeStamp - } : interaction.coords.cur; - _this.page = (0, ___extend_15["default"])({}, coords.page); - _this.client = (0, ___extend_15["default"])({}, coords.client); - _this.rect = (0, ___extend_15["default"])({}, interaction.rect); - _this.timeStamp = coords.timeStamp; - - if (!ending) { - _this.page.x -= origin.x; - _this.page.y -= origin.y; - _this.client.x -= origin.x; - _this.client.y -= origin.y; - } - - _this.ctrlKey = event.ctrlKey; - _this.altKey = event.altKey; - _this.shiftKey = event.shiftKey; - _this.metaKey = event.metaKey; - _this.button = event.button; - _this.buttons = event.buttons; - _this.target = element; - _this.currentTarget = element; - _this.relatedTarget = related || null; - _this.preEnd = preEnd; - _this.type = type || actionName + (phase || ''); - _this.interactable = target; - _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; - _this.x0 = interaction.coords.start.page.x - origin.x; - _this.y0 = interaction.coords.start.page.y - origin.y; - _this.clientX0 = interaction.coords.start.client.x - origin.x; - _this.clientY0 = interaction.coords.start.client.y - origin.y; - - if (starting || ending) { - _this.delta = { - x: 0, - y: 0 - }; - } else { - _this.delta = { - x: _this[deltaSource].x - prevEvent[deltaSource].x, - y: _this[deltaSource].y - prevEvent[deltaSource].y - }; - } - - _this.dt = interaction.coords.delta.timeStamp; - _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second - - _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); - _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); - _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; - return _this; - } - - ___createClass_15(InteractEvent, [{ - key: "getSwipe", - value: function getSwipe() { - var interaction = this._interaction; - - if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { - return null; - } - - var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; - var overlap = 22.5; - - if (angle < 0) { - angle += 360; - } - - var left = 135 - overlap <= angle && angle < 225 + overlap; - var up = 225 - overlap <= angle && angle < 315 + overlap; - var right = !left && (315 - overlap <= angle || angle < 45 + overlap); - var down = !up && 45 - overlap <= angle && angle < 135 + overlap; - return { - up: up, - down: down, - left: left, - right: right, - angle: angle, - speed: interaction.prevEvent.speed, - velocity: { - x: interaction.prevEvent.velocityX, - y: interaction.prevEvent.velocityY - } - }; - } - }, { - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "pageX", - get: function get() { - return this.page.x; - }, - set: function set(value) { - this.page.x = value; - } - }, { - key: "pageY", - get: function get() { - return this.page.y; - }, - set: function set(value) { - this.page.y = value; - } - }, { - key: "clientX", - get: function get() { - return this.client.x; - }, - set: function set(value) { - this.client.x = value; - } - }, { - key: "clientY", - get: function get() { - return this.client.y; - }, - set: function set(value) { - this.client.y = value; - } - }, { - key: "dx", - get: function get() { - return this.delta.x; - }, - set: function set(value) { - this.delta.x = value; - } - }, { - key: "dy", - get: function get() { - return this.delta.y; - }, - set: function set(value) { - this.delta.y = value; - } - }, { - key: "velocityX", - get: function get() { - return this.velocity.x; - }, - set: function set(value) { - this.velocity.x = value; - } - }, { - key: "velocityY", - get: function get() { - return this.velocity.y; - }, - set: function set(value) { - this.velocity.y = value; - } - }]); - - return InteractEvent; -}(_BaseEvent2["default"]); - -_$InteractEvent_15.InteractEvent = InteractEvent; -var ___default_15 = InteractEvent; -_$InteractEvent_15["default"] = ___default_15; - -var _$PointerInfo_19 = {}; -"use strict"; - -Object.defineProperty(_$PointerInfo_19, "__esModule", { - value: true -}); -_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; - -function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/* eslint-disable @typescript-eslint/no-parameter-properties */ -var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { - ___classCallCheck_19(this, PointerInfo); - - this.id = id; - this.pointer = pointer; - this.event = event; - this.downTime = downTime; - this.downTarget = downTarget; -}; - -_$PointerInfo_19.PointerInfo = PointerInfo; -var ___default_19 = PointerInfo; -_$PointerInfo_19["default"] = ___default_19; - -var _$interactionFinder_22 = {}; -"use strict"; - -Object.defineProperty(_$interactionFinder_22, "__esModule", { - value: true -}); -_$interactionFinder_22["default"] = void 0; - -var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); - -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'], - search: function search(details) { - for (var _i = 0; _i < finder.methodOrder.length; _i++) { - var _ref; - - _ref = finder.methodOrder[_i]; - var method = _ref; - var interaction = finder[method](details); - - if (interaction) { - return interaction; - } - } - }, - // try to resume simulation with a new pointer - simulationResume: function simulationResume(_ref2) { - var pointerType = _ref2.pointerType, - eventType = _ref2.eventType, - eventTarget = _ref2.eventTarget, - scope = _ref2.scope; - - if (!/down|start/i.test(eventType)) { - return null; - } - - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref3; - - _ref3 = scope.interactions.list[_i2]; - var interaction = _ref3; - var element = eventTarget; - - if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { - while (element) { - // if the element is the interaction element - if (element === interaction.element) { - return interaction; - } - - element = __dom_22.parentNode(element); - } - } - } - - return null; - }, - // if it's a mouse or pen interaction - mouseOrPen: function mouseOrPen(_ref4) { - var pointerId = _ref4.pointerId, - pointerType = _ref4.pointerType, - eventType = _ref4.eventType, - scope = _ref4.scope; - - if (pointerType !== 'mouse' && pointerType !== 'pen') { - return null; - } - - var firstNonActive; - - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref5; - - _ref5 = scope.interactions.list[_i3]; - var interaction = _ref5; - - if (interaction.pointerType === pointerType) { - // if it's a down event, skip interactions with running simulations - if (interaction.simulation && !hasPointerId(interaction, pointerId)) { - continue; - } // if the interaction is active, return it immediately - - - if (interaction.interacting()) { - return interaction; - } // otherwise save it and look for another active interaction - else if (!firstNonActive) { - firstNonActive = interaction; - } - } - } // if no active mouse interaction was found use the first inactive mouse - // interaction - - - if (firstNonActive) { - return firstNonActive; - } // find any mouse or pen interaction. - // ignore the interaction if the eventType is a *down, and a simulation - // is active - - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref6; - - _ref6 = scope.interactions.list[_i4]; - var _interaction = _ref6; - - if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { - return _interaction; - } - } - - return null; - }, - // get interaction that has this pointer - hasPointer: function hasPointer(_ref7) { - var pointerId = _ref7.pointerId, - scope = _ref7.scope; - - for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { - var _ref8; - - _ref8 = scope.interactions.list[_i5]; - var interaction = _ref8; - - if (hasPointerId(interaction, pointerId)) { - return interaction; - } - } - - return null; - }, - // get first idle interaction with a matching pointerType - idle: function idle(_ref9) { - var pointerType = _ref9.pointerType, - scope = _ref9.scope; - - for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { - var _ref10; - - _ref10 = scope.interactions.list[_i6]; - var interaction = _ref10; - - // if there's already a pointer held down - if (interaction.pointers.length === 1) { - var target = interaction.interactable; // don't add this pointer if there is a target interactable and it - // isn't gesturable - - if (target && !(target.options.gesture && target.options.gesture.enabled)) { - continue; - } - } // maximum of 2 pointers per interaction - else if (interaction.pointers.length >= 2) { - continue; - } - - if (!interaction.interacting() && pointerType === interaction.pointerType) { - return interaction; - } - } - - return null; - } -}; - -function hasPointerId(interaction, pointerId) { - return interaction.pointers.some(function (_ref11) { - var id = _ref11.id; - return id === pointerId; - }); -} - -var ___default_22 = finder; -_$interactionFinder_22["default"] = ___default_22; - -var _$drag_1 = {}; -"use strict"; - -Object.defineProperty(_$drag_1, "__esModule", { - value: true -}); -_$drag_1["default"] = void 0; - -var ___scope_1 = _$scope_24({}); - -var __arr_1 = ___interopRequireWildcard_1(_$arr_47); - -var __is_1 = ___interopRequireWildcard_1(_$is_57); - -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'; - -function __install_1(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('before-action-move', beforeMove); - interactions.signals.on('action-resume', beforeMove); // dragmove - - interactions.signals.on('action-move', move); - Interactable.prototype.draggable = drag.draggable; - actions[___scope_1.ActionName.Drag] = drag; - actions.names.push(___scope_1.ActionName.Drag); - __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); - actions.methodDict.drag = 'draggable'; - defaults.actions.drag = drag.defaults; -} - -function beforeMove(_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x') { - interaction.coords.cur.page.y = interaction.coords.start.page.y; - interaction.coords.cur.client.y = interaction.coords.start.client.y; - interaction.coords.velocity.client.y = 0; - interaction.coords.velocity.page.y = 0; - } else if (axis === 'y') { - interaction.coords.cur.page.x = interaction.coords.start.page.x; - interaction.coords.cur.client.x = interaction.coords.start.client.x; - interaction.coords.velocity.client.x = 0; - interaction.coords.velocity.page.x = 0; - } -} - -function move(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x' || axis === 'y') { - var opposite = axis === 'x' ? 'y' : 'x'; - iEvent.page[opposite] = interaction.coords.start.page[opposite]; - iEvent.client[opposite] = interaction.coords.start.client[opposite]; - iEvent.delta[opposite] = 0; - } -} -/** - * ```js - * interact(element).draggable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // the axis in which the first movement must be - * // for the drag sequence to start - * // 'xy' by default - any direction - * startAxis: 'x' || 'y' || 'xy', - * - * // 'xy' by default - don't restrict to one axis (move in any direction) - * // 'x' or 'y' to restrict movement to either axis - * // 'start' to restrict movement to the axis the drag started in - * lockAxis: 'x' || 'y' || 'xy' || 'start', - * - * // max number of drags that can happen concurrently - * // with elements of this Interactable. Infinity by default - * max: Infinity, - * - * // max number of drags that can target the same element+Interactable - * // 1 by default - * maxPerElement: 2 - * }) - * - * var isDraggable = interact('element').draggable(); // true - * ``` - * - * Get or set whether drag actions can be performed on the target - * - * @alias Interactable.prototype.draggable - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on drag events (object makes the Interactable - * draggable) - * @return {boolean | Interactable} boolean indicating if this can be the - * target of drag events, or this Interctable - */ - - -var draggable = function draggable(options) { - if (__is_1.object(options)) { - this.options.drag.enabled = options.enabled !== false; - this.setPerAction('drag', options); - this.setOnEvents('drag', options); - - if (/^(xy|x|y|start)$/.test(options.lockAxis)) { - this.options.drag.lockAxis = options.lockAxis; - } - - if (/^(xy|x|y)$/.test(options.startAxis)) { - this.options.drag.startAxis = options.startAxis; - } - - return this; - } - - if (__is_1.bool(options)) { - this.options.drag.enabled = options; - return this; - } - - return this.options.drag; -}; - -var drag = { - id: 'actions/drag', - install: __install_1, - draggable: draggable, - beforeMove: beforeMove, - move: move, - defaults: { - startAxis: 'xy', - lockAxis: 'xy' - }, - checker: function checker(_pointer, _event, interactable) { - var dragOptions = interactable.options.drag; - return dragOptions.enabled ? { - name: 'drag', - axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis - } : null; - }, - getCursor: function getCursor() { - return 'move'; - } -}; -var ___default_1 = drag; -_$drag_1["default"] = ___default_1; - -var _$DropEvent_2 = {}; -"use strict"; - -Object.defineProperty(_$DropEvent_2, "__esModule", { - value: true -}); -_$DropEvent_2["default"] = void 0; - -var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); - -var __arr_2 = ___interopRequireWildcard_2(_$arr_47); - -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 }; } - -function ___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); } - -function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } - -function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } - -function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } - -function ___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); } - -function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } - -var DropEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_2(DropEvent, _BaseEvent); - - /** - * Class of events fired on dropzones during drags with acceptable targets. - */ - function DropEvent(dropState, dragEvent, type) { - var _this; - - ___classCallCheck_2(this, DropEvent); - - _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); - _this.propagationStopped = false; - _this.immediatePropagationStopped = false; - - var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, - element = _ref.element, - dropzone = _ref.dropzone; - - _this.type = type; - _this.target = element; - _this.currentTarget = element; - _this.dropzone = dropzone; - _this.dragEvent = dragEvent; - _this.relatedTarget = dragEvent.target; - _this.draggable = dragEvent.interactable; - _this.timeStamp = dragEvent.timeStamp; - return _this; - } - /** - * If this is a `dropactivate` event, the dropzone element will be - * deactivated. - * - * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the - * dropzone element and more. - */ - - - ___createClass_2(DropEvent, [{ - key: "reject", - value: function reject() { - var _this2 = this; - - var dropState = this._interaction.dropState; - - if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { - return; - } - - dropState.prev.dropzone = this.dropzone; - dropState.prev.element = this.target; - dropState.rejected = true; - dropState.events.enter = null; - this.stopImmediatePropagation(); - - if (this.type === 'dropactivate') { - var activeDrops = dropState.activeDrops; - var index = __arr_2.findIndex(activeDrops, function (_ref2) { - var dropzone = _ref2.dropzone, - element = _ref2.element; - return dropzone === _this2.dropzone && element === _this2.target; - }); - dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); - var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); - deactivateEvent.dropzone = this.dropzone; - deactivateEvent.target = this.target; - this.dropzone.fire(deactivateEvent); - } else { - this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); - } - } - }, { - key: "preventDefault", - value: function preventDefault() {} - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }]); - - return DropEvent; -}(___BaseEvent2_2["default"]); - -var ___default_2 = DropEvent; -_$DropEvent_2["default"] = ___default_2; - -var _$drop_3 = {}; -"use strict"; - -Object.defineProperty(_$drop_3, "__esModule", { - value: true -}); -_$drop_3["default"] = void 0; - -var __utils_3 = ___interopRequireWildcard_3(_$utils_56); - -var _drag = ___interopRequireDefault_3(_$drag_1); - -var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); - -function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interact = scope.interact, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_drag["default"]); - interactions.signals.on('before-action-start', function (_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - interaction.dropState = { - cur: { - dropzone: null, - element: null - }, - prev: { - dropzone: null, - element: null - }, - rejected: null, - events: null, - activeDrops: null - }; - }); - interactions.signals.on('after-action-start', function (_ref2) { - var interaction = _ref2.interaction, - event = _ref2.event, - dragEvent = _ref2.iEvent; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; // reset active dropzones - - dropState.activeDrops = null; - dropState.events = null; - dropState.activeDrops = getActiveDrops(scope, interaction.element); - dropState.events = getDropEvents(interaction, event, dragEvent); - - if (dropState.events.activate) { - fireActivationEvents(dropState.activeDrops, dropState.events.activate); - } - }); // FIXME proper signal types - - interactions.signals.on('action-move', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('action-end', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('after-action-move', function (_ref3) { - var interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - interaction.dropState.events = {}; - }); - interactions.signals.on('after-action-end', function (_ref4) { - var interaction = _ref4.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - }); - interactions.signals.on('stop', function (_ref5) { - var interaction = _ref5.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; - - if (dropState) { - dropState.activeDrops = null; - dropState.events = null; - dropState.cur.dropzone = null; - dropState.cur.element = null; - dropState.prev.dropzone = null; - dropState.prev.element = null; - dropState.rejected = false; - } - }); - /** - * - * ```js - * interact('.drop').dropzone({ - * accept: '.can-drop' || document.getElementById('single-drop'), - * overlap: 'pointer' || 'center' || zeroToOne - * } - * ``` - * - * Returns or sets whether draggables can be dropped onto this target to - * trigger drop events - * - * Dropzones can receive the following events: - * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends - * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone - * - `dragmove` when a draggable that has entered the dropzone is moved - * - `drop` when a draggable is dropped into this dropzone - * - * Use the `accept` option to allow only elements that match the given CSS - * selector or element. The value can be: - * - * - **an Element** - only that element can be dropped into this dropzone. - * - **a string**, - the element being dragged must match it as a CSS selector. - * - **`null`** - accept options is cleared - it accepts any element. - * - * Use the `overlap` option to set how drops are checked for. The allowed - * values are: - * - * - `'pointer'`, the pointer must be over the dropzone (default) - * - `'center'`, the draggable element's center must be over the dropzone - * - a number from 0-1 which is the `(intersection area) / (draggable area)`. - * e.g. `0.5` for drop to happen when half of the area of the draggable is - * over the dropzone - * - * Use the `checker` option to specify a function to check if a dragged element - * is over this Interactable. - * - * @param {boolean | object | null} [options] The new options to be set. - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.dropzone = function (options) { - return dropzoneMethod(this, options); - }; - /** - * ```js - * interact(target) - * .dropChecker(function(dragEvent, // related dragmove or dragend event - * event, // TouchEvent/PointerEvent/MouseEvent - * dropped, // bool result of the default checker - * dropzone, // dropzone Interactable - * dropElement, // dropzone elemnt - * draggable, // draggable Interactable - * draggableElement) {// draggable element - * - * return dropped && event.target.hasAttribute('allow-drop') - * } - * ``` - */ - - - Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { - return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); - }; - /** - * Returns or sets whether the dimensions of dropzone elements are calculated - * on every dragmove or only on dragstart for the default dropChecker - * - * @param {boolean} [newValue] True to check on each move. False to check only - * before start - * @return {boolean | interact} The current setting or interact - */ - - - interact.dynamicDrop = function (newValue) { - if (__utils_3.is.bool(newValue)) { - // if (dragging && scope.dynamicDrop !== newValue && !newValue) { - // calcRects(dropzones) - // } - scope.dynamicDrop = newValue; - return interact; - } - - return scope.dynamicDrop; - }; - - __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); - actions.methodDict.drop = 'dropzone'; - scope.dynamicDrop = false; - defaults.actions.drop = drop.defaults; -} - -function collectDrops(_ref6, draggableElement) { - var interactables = _ref6.interactables; - var drops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i = 0; _i < interactables.list.length; _i++) { - var _ref7; - - _ref7 = interactables.list[_i]; - var dropzone = _ref7; - - if (!dropzone.options.drop.enabled) { - continue; - } - - var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting - - 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({ - dropzone: dropzone, - draggableElement: draggableElement - })) { - continue; - } // query for new elements if necessary - - - var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; - - for (var _i2 = 0; _i2 < dropElements.length; _i2++) { - var _ref8; - - _ref8 = dropElements[_i2]; - var dropzoneElement = _ref8; - - if (dropzoneElement !== draggableElement) { - drops.push({ - dropzone: dropzone, - element: dropzoneElement - }); - } - } - } - - return drops; -} - -function fireActivationEvents(activeDrops, event) { - // loop through all active dropzones and trigger event - for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { - var _ref9; - - _ref9 = activeDrops[_i3]; - var _ref10 = _ref9, - dropzone = _ref10.dropzone, - element = _ref10.element; - event.dropzone = dropzone; // set current element as event target - - event.target = element; - dropzone.fire(event); - event.propagationStopped = event.immediatePropagationStopped = false; - } -} // return a new array of possible drops. getActiveDrops should always be -// called when a drag has just started or a drag event happens while -// dynamicDrop is true - - -function getActiveDrops(scope, dragElement) { - // get dropzones and their elements that could receive the draggable - var activeDrops = collectDrops(scope, dragElement); - - for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { - var _ref11; - - _ref11 = activeDrops[_i4]; - var activeDrop = _ref11; - activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); - } - - return activeDrops; -} - -function getDrop(_ref12, dragEvent, pointerEvent) { - var dropState = _ref12.dropState, - draggable = _ref12.interactable, - dragElement = _ref12.element; - var validDrops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { - var _ref13; - - _ref13 = dropState.activeDrops[_i5]; - var _ref14 = _ref13, - dropzone = _ref14.dropzone, - dropzoneElement = _ref14.element, - rect = _ref14.rect; - validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); - } // get the most appropriate dropzone based on DOM depth and order - - - var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); - return dropState.activeDrops[dropIndex] || null; -} - -function getDropEvents(interaction, _pointerEvent, dragEvent) { - var dropState = interaction.dropState; - var dropEvents = { - enter: null, - leave: null, - activate: null, - deactivate: null, - move: null, - drop: null - }; - - if (dragEvent.type === 'dragstart') { - dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); - dropEvents.activate.target = null; - dropEvents.activate.dropzone = null; - } - - if (dragEvent.type === 'dragend') { - dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); - dropEvents.deactivate.target = null; - dropEvents.deactivate.dropzone = null; - } - - if (dropState.rejected) { - return dropEvents; - } - - if (dropState.cur.element !== dropState.prev.element) { - // if there was a previous dropzone, create a dragleave event - if (dropState.prev.dropzone) { - dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); - dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; - dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; - } // if dropzone is not null, create a dragenter event - - - if (dropState.cur.dropzone) { - dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); - dragEvent.dragEnter = dropState.cur.element; - dragEvent.dropzone = dropState.cur.dropzone; - } - } - - if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { - dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); - dragEvent.dropzone = dropState.cur.dropzone; - dragEvent.relatedTarget = dropState.cur.element; - } - - if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { - dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); - dropEvents.move.dragmove = dragEvent; - dragEvent.dropzone = dropState.cur.dropzone; - } - - return dropEvents; -} - -function fireDropEvents(interaction, events) { - var dropState = interaction.dropState; - var activeDrops = dropState.activeDrops, - cur = dropState.cur, - prev = dropState.prev; - - if (events.leave) { - prev.dropzone.fire(events.leave); - } - - if (events.move) { - cur.dropzone.fire(events.move); - } - - if (events.enter) { - cur.dropzone.fire(events.enter); - } - - if (events.drop) { - cur.dropzone.fire(events.drop); - } - - if (events.deactivate) { - fireActivationEvents(activeDrops, events.deactivate); - } - - dropState.prev.dropzone = cur.dropzone; - dropState.prev.element = cur.element; -} - -function onEventCreated(_ref15, scope) { - var interaction = _ref15.interaction, - iEvent = _ref15.iEvent, - event = _ref15.event; - - if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { - return; - } - - var dropState = interaction.dropState; - - if (scope.dynamicDrop) { - dropState.activeDrops = getActiveDrops(scope, interaction.element); - } - - var dragEvent = iEvent; - var dropResult = getDrop(interaction, dragEvent, event); // update rejected status - - dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; - dropState.cur.dropzone = dropResult && dropResult.dropzone; - dropState.cur.element = dropResult && dropResult.element; - dropState.events = getDropEvents(interaction, event, dragEvent); -} - -function dropzoneMethod(interactable, options) { - if (__utils_3.is.object(options)) { - interactable.options.drop.enabled = options.enabled !== false; - - if (options.listeners) { - var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' - - var corrected = Object.keys(normalized).reduce(function (acc, type) { - var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; - acc[correctedType] = normalized[type]; - return acc; - }, {}); - interactable.off(interactable.options.drop.listeners); - interactable.on(corrected); - interactable.options.drop.listeners = corrected; - } - - if (__utils_3.is.func(options.ondrop)) { - interactable.on('drop', options.ondrop); - } - - if (__utils_3.is.func(options.ondropactivate)) { - interactable.on('dropactivate', options.ondropactivate); - } - - if (__utils_3.is.func(options.ondropdeactivate)) { - interactable.on('dropdeactivate', options.ondropdeactivate); - } - - if (__utils_3.is.func(options.ondragenter)) { - interactable.on('dragenter', options.ondragenter); - } - - if (__utils_3.is.func(options.ondragleave)) { - interactable.on('dragleave', options.ondragleave); - } - - if (__utils_3.is.func(options.ondropmove)) { - interactable.on('dropmove', options.ondropmove); - } - - if (/^(pointer|center)$/.test(options.overlap)) { - interactable.options.drop.overlap = options.overlap; - } else if (__utils_3.is.number(options.overlap)) { - interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); - } - - if ('accept' in options) { - interactable.options.drop.accept = options.accept; - } - - if ('checker' in options) { - interactable.options.drop.checker = options.checker; - } - - return interactable; - } - - if (__utils_3.is.bool(options)) { - interactable.options.drop.enabled = options; - return interactable; - } - - return interactable.options.drop; -} - -function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { - var dropped = false; // if the dropzone has no rect (eg. display: none) - // call the custom dropChecker or just return false - - if (!(rect = rect || interactable.getRect(dropElement))) { - return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; - } - - var dropOverlap = interactable.options.drop.overlap; - - if (dropOverlap === 'pointer') { - var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); - var page = __utils_3.pointer.getPageXY(dragEvent); - page.x += origin.x; - page.y += origin.y; - var horizontal = page.x > rect.left && page.x < rect.right; - var vertical = page.y > rect.top && page.y < rect.bottom; - dropped = horizontal && vertical; - } - - var dragRect = draggable.getRect(draggableElement); - - if (dragRect && dropOverlap === 'center') { - var cx = dragRect.left + dragRect.width / 2; - var cy = dragRect.top + dragRect.height / 2; - dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; - } - - if (dragRect && __utils_3.is.number(dropOverlap)) { - 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)); - var overlapRatio = overlapArea / (dragRect.width * dragRect.height); - dropped = overlapRatio >= dropOverlap; - } - - if (interactable.options.drop.checker) { - dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); - } - - return dropped; -} - -var drop = { - id: 'actions/drop', - install: __install_3, - getActiveDrops: getActiveDrops, - getDrop: getDrop, - getDropEvents: getDropEvents, - fireDropEvents: fireDropEvents, - defaults: { - enabled: false, - accept: null, - overlap: 'pointer' - } -}; -var ___default_3 = drop; -_$drop_3["default"] = ___default_3; - -var _$gesture_4 = {}; -"use strict"; - -Object.defineProperty(_$gesture_4, "__esModule", { - value: true -}); -_$gesture_4["default"] = void 0; - -var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); - -var ___scope_4 = _$scope_24({}); - -var __utils_4 = ___interopRequireWildcard_4(_$utils_56); - -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 }; } - -___scope_4.ActionName.Gesture = 'gesture'; - -function __install_4(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - /** - * ```js - * interact(element).gesturable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // limit multiple gestures. - * // See the explanation in {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isGestureable = interact(element).gesturable() - * ``` - * - * Gets or sets whether multitouch gestures can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on gesture events (makes the Interactable gesturable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of gesture events, or this Interactable - */ - - Interactable.prototype.gesturable = function (options) { - if (__utils_4.is.object(options)) { - this.options.gesture.enabled = options.enabled !== false; - this.setPerAction('gesture', options); - this.setOnEvents('gesture', options); - return this; - } - - if (__utils_4.is.bool(options)) { - this.options.gesture.enabled = options; - return this; - } - - return this.options.gesture; - }; - - interactions.signals.on('action-start', updateGestureProps); - interactions.signals.on('action-move', updateGestureProps); - interactions.signals.on('action-end', updateGestureProps); - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.gesture = { - angle: 0, - distance: 0, - scale: 1, - startAngle: 0, - startDistance: 0 - }; - }); - actions[___scope_4.ActionName.Gesture] = gesture; - actions.names.push(___scope_4.ActionName.Gesture); - __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); - actions.methodDict.gesture = 'gesturable'; - defaults.actions.gesture = gesture.defaults; -} - -var gesture = { - id: 'actions/gesture', - install: __install_4, - defaults: {}, - checker: function checker(_pointer, _event, _interactable, _element, interaction) { - if (interaction.pointers.length >= 2) { - return { - name: 'gesture' - }; - } - - return null; - }, - getCursor: function getCursor() { - return ''; - } -}; - -function updateGestureProps(_ref2) { - var interaction = _ref2.interaction, - iEvent = _ref2.iEvent, - event = _ref2.event, - phase = _ref2.phase; - - if (interaction.prepared.name !== 'gesture') { - return; - } - - var pointers = interaction.pointers.map(function (p) { - return p.pointer; - }); - var starting = phase === 'start'; - var ending = phase === 'end'; - var deltaSource = interaction.interactable.options.deltaSource; - iEvent.touches = [pointers[0], pointers[1]]; - - if (starting) { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = 1; - iEvent.ds = 0; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.da = 0; - interaction.gesture.startDistance = iEvent.distance; - interaction.gesture.startAngle = iEvent.angle; - } else if (ending || event instanceof ___InteractEvent_4["default"]) { - var prevEvent = interaction.prevEvent; - iEvent.distance = prevEvent.distance; - iEvent.box = prevEvent.box; - iEvent.scale = prevEvent.scale; - iEvent.ds = 0; - iEvent.angle = prevEvent.angle; - iEvent.da = 0; - } else { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = iEvent.distance / interaction.gesture.startDistance; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.ds = iEvent.scale - interaction.gesture.scale; - iEvent.da = iEvent.angle - interaction.gesture.angle; - } - - interaction.gesture.distance = iEvent.distance; - interaction.gesture.angle = iEvent.angle; - - if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { - interaction.gesture.scale = iEvent.scale; - } -} - -var ___default_4 = gesture; -_$gesture_4["default"] = ___default_4; - -var _$resize_6 = {}; -"use strict"; - -Object.defineProperty(_$resize_6, "__esModule", { - value: true -}); -_$resize_6["default"] = void 0; - -var ___scope_6 = _$scope_24({}); - -var __arr_6 = ___interopRequireWildcard_6(_$arr_47); - -var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); - -var ___extend_6 = ___interopRequireDefault_6(_$extend_53); - -var __is_6 = ___interopRequireWildcard_6(_$is_57); - -function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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'; - -function __install_6(scope) { - var actions = scope.actions, - browser = scope.browser, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; // Less Precision with touch input - - interactions.signals.on('new', function (interaction) { - interaction.resizeAxes = 'xy'; - }); - 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); - resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; - /** - * ```js - * interact(element).resizable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * edges: { - * top : true, // Use pointer coords to check for resize. - * left : false, // Disable resizing from left edge. - * bottom: '.resize-s',// Resize if pointer target matches selector - * right : handleEl // Resize if pointer target is the given Element - * }, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height are adjusted at a 1:1 ratio. - * square: false, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height maintain the aspect ratio they had when resizing started. - * preserveAspectRatio: false, - * - * // a value of 'none' will limit the resize rect to a minimum of 0x0 - * // 'negate' will allow the rect to have negative width/height - * // 'reposition' will keep the width/height positive by swapping - * // the top and bottom edges and/or swapping the left and right edges - * invert: 'none' || 'negate' || 'reposition' - * - * // limit multiple resizes. - * // See the explanation in the {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isResizeable = interact(element).resizable() - * ``` - * - * Gets or sets whether resize actions can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on resize events (object makes the Interactable - * resizable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of resize elements, or this Interactable - */ - - Interactable.prototype.resizable = function (options) { - return resizable(this, options, scope); - }; - - actions[___scope_6.ActionName.Resize] = resize; - actions.names.push(___scope_6.ActionName.Resize); - __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); - actions.methodDict.resize = 'resizable'; - defaults.actions.resize = resize.defaults; -} - -var resize = { - id: 'actions/resize', - install: __install_6, - defaults: { - square: false, - preserveAspectRatio: false, - axis: 'xy', - // use default margin - margin: NaN, - // object with props left, right, top, bottom which are - // true/false values to resize when the pointer is over that edge, - // CSS selectors to match the handles for each direction - // or the Elements for each handle - edges: null, - // a value of 'none' will limit the resize rect to a minimum of 0x0 - // 'negate' will alow the rect to have negative width/height - // 'reposition' will keep the width/height positive by swapping - // the top and bottom edges and/or swapping the left and right edges - invert: 'none' - }, - checker: function checker(_pointer, _event, interactable, element, interaction, rect) { - if (!rect) { - return null; - } - - var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); - var options = interactable.options; - - if (options.resize.enabled) { - var resizeOptions = options.resize; - var resizeEdges = { - left: false, - right: false, - top: false, - bottom: false - }; // if using resize.edges - - if (__is_6.object(resizeOptions.edges)) { - for (var edge in resizeEdges) { - resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); - } - - resizeEdges.left = resizeEdges.left && !resizeEdges.right; - resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; - - if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { - return { - name: 'resize', - edges: resizeEdges - }; - } - } else { - var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; - var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; - - if (right || bottom) { - return { - name: 'resize', - axes: (right ? 'x' : '') + (bottom ? 'y' : '') - }; - } - } - } - - return null; - }, - cursors: null, - getCursor: function getCursor(_ref) { - var edges = _ref.edges, - axis = _ref.axis, - name = _ref.name; - var cursors = resize.cursors; - var result = null; - - if (axis) { - result = cursors[name + axis]; - } else if (edges) { - var cursorKey = ''; - var _arr = ['top', 'bottom', 'left', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (edges[edge]) { - cursorKey += edge; - } - } - - result = cursors[cursorKey]; - } - - return result; - }, - defaultMargin: null -}; - -function resizable(interactable, options, scope) { - if (__is_6.object(options)) { - interactable.options.resize.enabled = options.enabled !== false; - interactable.setPerAction('resize', options); - interactable.setOnEvents('resize', options); - - if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { - interactable.options.resize.axis = options.axis; - } else if (options.axis === null) { - interactable.options.resize.axis = scope.defaults.actions.resize.axis; - } - - if (__is_6.bool(options.preserveAspectRatio)) { - interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; - } else if (__is_6.bool(options.square)) { - interactable.options.resize.square = options.square; - } - - return interactable; - } - - if (__is_6.bool(options)) { - interactable.options.resize.enabled = options; - return interactable; - } - - return interactable.options.resize; -} - -function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { - // false, '', undefined, null - if (!value) { - return false; - } // true value, use pointer coords and element rect - - - if (value === true) { - // if dimensions are negative, "switch" edges - var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; - var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension - - margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); - - if (width < 0) { - if (name === 'left') { - name = 'right'; - } else if (name === 'right') { - name = 'left'; - } - } - - if (height < 0) { - if (name === 'top') { - name = 'bottom'; - } else if (name === 'bottom') { - name = 'top'; - } - } - - if (name === 'left') { - return page.x < (width >= 0 ? rect.left : rect.right) + margin; - } - - if (name === 'top') { - return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; - } - - if (name === 'right') { - return page.x > (width >= 0 ? rect.right : rect.left) - margin; - } - - if (name === 'bottom') { - return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; - } - } // the remaining checks require an element - - - if (!__is_6.element(element)) { - return false; - } - - return __is_6.element(value) // the value is an element to use as a resize handle - ? value === element // otherwise check if element matches value as selector - : __dom_6.matchesUpTo(element, value, interactableElement); -} - -function initCursors(browser) { - return browser.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 start(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - 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 - * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make - * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend - * on the active edges and the edge being interacted with. - */ - - if (resizeOptions.square || resizeOptions.preserveAspectRatio) { - var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); - linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; - linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; - linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; - linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; - interaction.prepared._linkedEdges = linkedEdges; - } else { - interaction.prepared._linkedEdges = null; - } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize - - - if (resizeOptions.preserveAspectRatio) { - interaction.resizeStartAspectRatio = startRect.width / startRect.height; - } - - interaction.resizeRects = { - start: 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: { - left: 0, - right: 0, - width: 0, - top: 0, - bottom: 0, - height: 0 - } - }; - iEvent.edges = interaction.prepared.edges; - iEvent.rect = interaction.resizeRects.inverted; - iEvent.deltaRect = interaction.resizeRects.delta; -} - -function __move_6(_ref3) { - var iEvent = _ref3.iEvent, - interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - var resizeOptions = interaction.interactable.options.resize; - var invert = resizeOptions.invert; - var invertible = invert === 'reposition' || invert === 'negate'; - var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow - - var start = interaction.resizeRects.start; - var current = interaction.resizeRects.current; - var inverted = interaction.resizeRects.inverted; - var deltaRect = interaction.resizeRects.delta; - var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); - var originalEdges = edges; - var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); - - if (resizeOptions.preserveAspectRatio || resizeOptions.square) { - // `resize.preserveAspectRatio` takes precedence over `resize.square` - var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; - edges = interaction.prepared._linkedEdges; - - if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { - eventDelta.y = -eventDelta.x / startAspectRatio; - } else if (originalEdges.left || originalEdges.right) { - eventDelta.y = eventDelta.x / startAspectRatio; - } else if (originalEdges.top || originalEdges.bottom) { - eventDelta.x = eventDelta.y * startAspectRatio; - } - } // update the 'current' rect without modifications - - - if (edges.top) { - current.top += eventDelta.y; - } - - if (edges.bottom) { - current.bottom += eventDelta.y; - } - - if (edges.left) { - current.left += eventDelta.x; - } - - if (edges.right) { - current.right += eventDelta.x; - } - - if (invertible) { - // if invertible, copy the current rect - (0, ___extend_6["default"])(inverted, current); - - if (invert === 'reposition') { - // swap edge values if necessary to keep width/height positive - var swap; - - if (inverted.top > inverted.bottom) { - swap = inverted.top; - inverted.top = inverted.bottom; - inverted.bottom = swap; - } - - if (inverted.left > inverted.right) { - swap = inverted.left; - inverted.left = inverted.right; - inverted.right = swap; - } - } - } else { - // if not invertible, restrict to minimum of 0x0 rect - inverted.top = Math.min(current.top, start.bottom); - inverted.bottom = Math.max(current.bottom, start.top); - inverted.left = Math.min(current.left, start.right); - inverted.right = Math.max(current.right, start.left); - } - - inverted.width = inverted.right - inverted.left; - inverted.height = inverted.bottom - inverted.top; - - for (var edge in inverted) { - deltaRect[edge] = inverted[edge] - previous[edge]; - } - - iEvent.edges = interaction.prepared.edges; - iEvent.rect = inverted; - iEvent.deltaRect = deltaRect; -} - -function end(_ref4) { - var iEvent = _ref4.iEvent, - interaction = _ref4.interaction; - - 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; - } - - var options = interaction.interactable.options; - - if (options.resize.square) { - if (interaction.resizeAxes === 'y') { - iEvent.delta.x = iEvent.delta.y; - } else { - iEvent.delta.y = iEvent.delta.x; - } - - iEvent.axes = 'xy'; - } else { - iEvent.axes = interaction.resizeAxes; - - if (interaction.resizeAxes === 'x') { - iEvent.delta.y = 0; - } else if (interaction.resizeAxes === 'y') { - iEvent.delta.x = 0; - } - } -} - -var ___default_6 = resize; -_$resize_6["default"] = ___default_6; - -var _$actions_5 = {}; -"use strict"; - -Object.defineProperty(_$actions_5, "__esModule", { - value: true -}); -_$actions_5.install = __install_5; -Object.defineProperty(_$actions_5, "drag", { - enumerable: true, - get: function get() { - return ___drag_5["default"]; - } -}); -Object.defineProperty(_$actions_5, "drop", { - enumerable: true, - get: function get() { - return _drop["default"]; - } -}); -Object.defineProperty(_$actions_5, "gesture", { - enumerable: true, - get: function get() { - return _gesture["default"]; - } -}); -Object.defineProperty(_$actions_5, "resize", { - enumerable: true, - get: function get() { - return _resize["default"]; - } -}); -_$actions_5.id = void 0; - -var ___drag_5 = ___interopRequireDefault_5(_$drag_1); - -var _drop = ___interopRequireDefault_5(_$drop_3); - -var _gesture = ___interopRequireDefault_5(_$gesture_4); - -var _resize = ___interopRequireDefault_5(_$resize_6); - -function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_5(scope) { - scope.usePlugin(_gesture["default"]); - scope.usePlugin(_resize["default"]); - scope.usePlugin(___drag_5["default"]); - scope.usePlugin(_drop["default"]); -} - -var id = 'actions'; -_$actions_5.id = id; - -var _$autoScroll_7 = {}; -"use strict"; - -Object.defineProperty(_$autoScroll_7, "__esModule", { - value: true -}); -_$autoScroll_7.getContainer = getContainer; -_$autoScroll_7.getScroll = getScroll; -_$autoScroll_7.getScrollSize = getScrollSize; -_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; -_$autoScroll_7["default"] = void 0; - -var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); - -var __is_7 = ___interopRequireWildcard_7(_$is_57); - -var ___raf_7 = ___interopRequireDefault_7(_$raf_62); - -/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - defaults = scope.defaults, - actions = scope.actions; - scope.autoScroll = autoScroll; - - autoScroll.now = function () { - return scope.now(); - }; - - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.autoScroll = null; - }); - interactions.signals.on('destroy', function (_ref2) { - var interaction = _ref2.interaction; - interaction.autoScroll = null; - autoScroll.stop(); - - if (autoScroll.interaction) { - autoScroll.interaction = null; - } - }); - interactions.signals.on('stop', autoScroll.stop); - interactions.signals.on('action-move', function (arg) { - return autoScroll.onInteractionMove(arg); - }); - actions.eventTypes.push('autoscroll'); - defaults.perAction.autoScroll = autoScroll.defaults; -} - -var autoScroll = { - defaults: { - enabled: false, - margin: 60, - // the item that is scrolled (Window or HTMLElement) - container: null, - // the scroll speed in pixels per second - speed: 300 - }, - now: Date.now, - interaction: null, - i: null, - x: 0, - y: 0, - isScrolling: false, - prevTime: 0, - margin: 0, - speed: 0, - start: function start(interaction) { - autoScroll.isScrolling = true; - - ___raf_7["default"].cancel(autoScroll.i); - - interaction.autoScroll = autoScroll; - autoScroll.interaction = interaction; - autoScroll.prevTime = autoScroll.now(); - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - }, - stop: function stop() { - autoScroll.isScrolling = false; - - if (autoScroll.interaction) { - autoScroll.interaction.autoScroll = null; - } - - ___raf_7["default"].cancel(autoScroll.i); - }, - // scroll the window by the values in scroll.x/y - scroll: function scroll() { - var interaction = autoScroll.interaction; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - var now = autoScroll.now(); // change in time in seconds - - var dt = (now - autoScroll.prevTime) / 1000; // displacement - - var s = options.speed * dt; - - if (s >= 1) { - var scrollBy = { - x: autoScroll.x * s, - y: autoScroll.y * s - }; - - if (scrollBy.x || scrollBy.y) { - var prevScroll = getScroll(container); - - if (__is_7.window(container)) { - container.scrollBy(scrollBy.x, scrollBy.y); - } else if (container) { - container.scrollLeft += scrollBy.x; - container.scrollTop += scrollBy.y; - } - - var curScroll = getScroll(container); - var delta = { - x: curScroll.x - prevScroll.x, - y: curScroll.y - prevScroll.y - }; - - if (delta.x || delta.y) { - interactable.fire({ - type: 'autoscroll', - target: element, - interactable: interactable, - delta: delta, - interaction: interaction, - container: container - }); - } - } - - autoScroll.prevTime = now; - } - - if (autoScroll.isScrolling) { - ___raf_7["default"].cancel(autoScroll.i); - - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - } - }, - check: function check(interactable, actionName) { - var options = interactable.options; - return options[actionName].autoScroll && options[actionName].autoScroll.enabled; - }, - onInteractionMove: function onInteractionMove(_ref3) { - var interaction = _ref3.interaction, - pointer = _ref3.pointer; - - if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { - return; - } - - if (interaction.simulation) { - autoScroll.x = autoScroll.y = 0; - return; - } - - var top; - var right; - var bottom; - var left; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - - if (__is_7.window(container)) { - left = pointer.clientX < autoScroll.margin; - top = pointer.clientY < autoScroll.margin; - right = pointer.clientX > container.innerWidth - autoScroll.margin; - bottom = pointer.clientY > container.innerHeight - autoScroll.margin; - } else { - var rect = __domUtils_7.getElementClientRect(container); - left = pointer.clientX < rect.left + autoScroll.margin; - top = pointer.clientY < rect.top + autoScroll.margin; - right = pointer.clientX > rect.right - autoScroll.margin; - bottom = pointer.clientY > rect.bottom - autoScroll.margin; - } - - autoScroll.x = right ? 1 : left ? -1 : 0; - autoScroll.y = bottom ? 1 : top ? -1 : 0; - - if (!autoScroll.isScrolling) { - // set the autoScroll properties to those of the target - autoScroll.margin = options.margin; - autoScroll.speed = options.speed; - autoScroll.start(interaction); - } - } -}; - -function getContainer(value, interactable, element) { - return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); -} - -function getScroll(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollLeft, - y: container.scrollTop - }; -} - -function getScrollSize(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollWidth, - y: container.scrollHeight - }; -} - -function getScrollSizeDelta(_ref4, func) { - var interaction = _ref4.interaction, - element = _ref4.element; - var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; - - if (!scrollOptions || !scrollOptions.enabled) { - func(); - return { - x: 0, - y: 0 - }; - } - - var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); - var prevSize = getScroll(scrollContainer); - func(); - var curSize = getScroll(scrollContainer); - return { - x: curSize.x - prevSize.x, - y: curSize.y - prevSize.y - }; -} - -var ___default_7 = { - id: 'auto-scroll', - install: __install_7 -}; -_$autoScroll_7["default"] = ___default_7; - -var _$InteractableMethods_8 = {}; -"use strict"; - -Object.defineProperty(_$InteractableMethods_8, "__esModule", { - value: true -}); -_$InteractableMethods_8["default"] = void 0; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -var __is_8 = ___interopRequireWildcard_8(_$is_57); - -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, - actions = scope.actions; - Interactable.prototype.getAction = getAction; - /** - * ```js - * interact(element, { ignoreFrom: document.getElementById('no-action') }) - * // or - * interact(element).ignoreFrom('input, textarea, a') - * ``` - * @deprecated - * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any - * of it's parents match the given CSS selector or Element, no - * drag/resize/gesture is started. - * - * Don't use this method. Instead set the `ignoreFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .draggable({ - * ignoreFrom: 'input, textarea, a[href]'', - * }) - * .pointerEvents({ - * ignoreFrom: '[no-pointer]', - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to not ignore any elements - * @return {string | Element | object} The current ignoreFrom value or this - * Interactable - */ - - Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('ignoreFrom', newValue); - }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); - /** - * @deprecated - * - * A drag/resize/gesture is started only If the target of the `mousedown`, - * `pointerdown` or `touchstart` event or any of it's parents match the given - * CSS selector or Element. - * - * Don't use this method. Instead set the `allowFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .resizable({ - * allowFrom: '.resize-handle', - * .pointerEvents({ - * allowFrom: '.handle',, - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to allow from any element - * @return {string | Element | object} The current allowFrom value or this - * Interactable - */ - - Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('allowFrom', newValue); - }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); - /** - * ```js - * interact('.resize-drag') - * .resizable(true) - * .draggable(true) - * .actionChecker(function (pointer, event, action, interactable, element, interaction) { - * - * if (interact.matchesSelector(event.target, '.drag-handle')) { - * // force drag with handle target - * action.name = drag - * } - * else { - * // resize from the top and right edges - * action.name = 'resize' - * action.edges = { top: true, right: true } - * } - * - * return action - * }) - * ``` - * - * Returns or sets the function used to check action to be performed on - * pointerDown - * - * @param {function | null} [checker] A function which takes a pointer event, - * defaultAction string, interactable, element and interaction as parameters - * and returns an object with name property 'drag' 'resize' or 'gesture' and - * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right - * props. - * @return {Function | Interactable} The checker function or this Interactable - */ - - Interactable.prototype.actionChecker = actionChecker; - /** - * Returns or sets whether the the cursor should be changed depending on the - * action that would be performed if the mouse were pressed and dragged. - * - * @param {boolean} [newValue] - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.styleCursor = styleCursor; - - Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { - return defaultActionChecker(this, pointer, event, interaction, element, actions); - }; -} - -function getAction(pointer, event, interaction, element) { - var action = this.defaultActionChecker(pointer, event, interaction, element); - - if (this.options.actionChecker) { - return this.options.actionChecker(pointer, event, action, this, element, interaction); - } - - return action; -} - -function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { - var rect = interactable.getRect(element); - var buttons = event.buttons || { - 0: 1, - 1: 4, - 3: 8, - 4: 16 - }[event.button]; - var action = null; - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - - // check mouseButton setting if the pointer is down - if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { - continue; - } - - action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); - - if (action) { - return action; - } - } -} - -function styleCursor(newValue) { - if (__is_8.bool(newValue)) { - this.options.styleCursor = newValue; - return this; - } - - if (newValue === null) { - delete this.options.styleCursor; - return this; - } - - return this.options.styleCursor; -} - -function actionChecker(checker) { - if (__is_8.func(checker)) { - this.options.actionChecker = checker; - return this; - } - - if (checker === null) { - delete this.options.actionChecker; - return this; - } - - return this.options.actionChecker; -} - -var ___default_8 = { - id: 'auto-start/interactableMethods', - install: __install_8 -}; -_$InteractableMethods_8["default"] = ___default_8; - -var _$base_9 = {}; -"use strict"; - -Object.defineProperty(_$base_9, "__esModule", { - value: true -}); -_$base_9["default"] = void 0; - -var __utils_9 = ___interopRequireWildcard_9(_$utils_56); - -var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); - -function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown - - interactions.signals.on('down', function (_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget; - - if (interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); // set cursor style on mousemove - - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - pointer = _ref2.pointer, - event = _ref2.event, - eventTarget = _ref2.eventTarget; - - if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); - interactions.signals.on('move', function (arg) { - var interaction = arg.interaction; - - if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { - return; - } - - scope.autoStart.signals.fire('before-start', arg); - var interactable = interaction.interactable; - - if (interaction.prepared.name && interactable) { - // check manualStart and interaction limit - if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { - interaction.stop(); - } else { - interaction.start(interaction.prepared, interactable, interaction.element); - setInteractionCursor(interaction, scope); - } - } - }); - interactions.signals.on('stop', function (_ref3) { - var interaction = _ref3.interaction; - var interactable = interaction.interactable; - - if (interactable && interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - }); - defaults.base.actionChecker = null; - defaults.base.styleCursor = true; - __utils_9.extend(defaults.perAction, { - manualStart: false, - max: Infinity, - maxPerElement: 1, - allowFrom: null, - ignoreFrom: null, - // only allow left button by default - // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value - mouseButtons: 1 - }); - /** - * Returns or sets the maximum number of concurrent interactions allowed. By - * default only 1 interaction is allowed at a time (for backwards - * compatibility). To allow multiple interactions on the same Interactables and - * elements, you need to enable it in the draggable, resizable and gesturable - * `'max'` and `'maxPerElement'` options. - * - * @alias module:interact.maxInteractions - * - * @param {number} [newValue] Any number. newValue <= 0 means no interactions. - */ - - interact.maxInteractions = function (newValue) { - return maxInteractions(newValue, scope); - }; - - scope.autoStart = { - // Allow this many interactions to happen simultaneously - maxInteractions: Infinity, - withinInteractionLimit: withinInteractionLimit, - cursorElement: null, - signals: new __utils_9.Signals() - }; -} // Check if the current interactable supports the action. -// If so, return the validated action. Otherwise, return null - - -function validateAction(action, interactable, element, eventTarget, scope) { - if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { - return action; - } - - return null; -} - -function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { - for (var i = 0, len = matches.length; i < len; i++) { - var match = matches[i]; - var matchElement = matchElements[i]; - var matchAction = match.getAction(pointer, event, interaction, matchElement); - - if (!matchAction) { - continue; - } - - var action = validateAction(matchAction, match, matchElement, eventTarget, scope); - - if (action) { - return { - action: action, - interactable: match, - element: matchElement - }; - } - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function getActionInfo(interaction, pointer, event, eventTarget, scope) { - var matches = []; - var matchElements = []; - var element = eventTarget; - - function pushMatches(interactable) { - matches.push(interactable); - matchElements.push(element); - } - - while (__utils_9.is.element(element)) { - matches = []; - matchElements = []; - scope.interactables.forEachMatch(element, pushMatches); - var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); - - if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { - return actionInfo; - } - - element = __utils_9.dom.parentNode(element); - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function prepare(interaction, _ref4, scope) { - var action = _ref4.action, - interactable = _ref4.interactable, - element = _ref4.element; - action = action || { - name: null - }; // clear previous target element cursor - - if (interaction.interactable && interaction.interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - - interaction.interactable = interactable; - interaction.element = element; - __utils_9.copyAction(interaction.prepared, action); - interaction.rect = interactable && action.name ? interactable.getRect(element) : null; - setInteractionCursor(interaction, scope); - scope.autoStart.signals.fire('prepared', { - interaction: interaction - }); -} - -function withinInteractionLimit(interactable, element, action, scope) { - var options = interactable.options; - var maxActions = options[action.name].max; - var maxPerElement = options[action.name].maxPerElement; - var autoStartMax = scope.autoStart.maxInteractions; - var activeInteractions = 0; - var interactableCount = 0; - var elementCount = 0; // no actions if any of these values == 0 - - if (!(maxActions && maxPerElement && autoStartMax)) { - return false; - } - - for (var _i = 0; _i < scope.interactions.list.length; _i++) { - var _ref5; - - _ref5 = scope.interactions.list[_i]; - var interaction = _ref5; - var otherAction = interaction.prepared.name; - - if (!interaction.interacting()) { - continue; - } - - activeInteractions++; - - if (activeInteractions >= autoStartMax) { - return false; - } - - if (interaction.interactable !== interactable) { - continue; - } - - interactableCount += otherAction === action.name ? 1 : 0; - - if (interactableCount >= maxActions) { - return false; - } - - if (interaction.element === element) { - elementCount++; - - if (otherAction === action.name && elementCount >= maxPerElement) { - return false; - } - } - } - - return autoStartMax > 0; -} - -function maxInteractions(newValue, scope) { - if (__utils_9.is.number(newValue)) { - scope.autoStart.maxInteractions = newValue; - return this; - } - - return scope.autoStart.maxInteractions; -} - -function setCursor(element, cursor, scope) { - if (scope.autoStart.cursorElement) { - scope.autoStart.cursorElement.style.cursor = ''; - } - - element.ownerDocument.documentElement.style.cursor = cursor; - element.style.cursor = cursor; - 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, - maxInteractions: maxInteractions, - withinInteractionLimit: withinInteractionLimit, - validateAction: validateAction -}; -_$base_9["default"] = ___default_9; - -var _$dragAxis_10 = {}; -"use strict"; - -Object.defineProperty(_$dragAxis_10, "__esModule", { - value: true -}); -_$dragAxis_10["default"] = void 0; - -var ___scope_10 = _$scope_24({}); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var __is_10 = ___interopRequireWildcard_10(_$is_57); - -var _base = ___interopRequireDefault_10(_$base_9); - -function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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) { - var interaction = _ref.interaction, - eventTarget = _ref.eventTarget, - dx = _ref.dx, - dy = _ref.dy; - - if (interaction.prepared.name !== 'drag') { - return; - } // check if a drag is in the correct axis - - - var absX = Math.abs(dx); - var absY = Math.abs(dy); - var targetOptions = interaction.interactable.options.drag; - var startAxis = targetOptions.startAxis; - var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; - interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' - : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable - - if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { - // cancel the prepared action - interaction.prepared.name = null; // then try to get a drag from another ineractable - - var element = eventTarget; - - var getDraggable = function getDraggable(interactable) { - if (interactable === interaction.interactable) { - return; - } - - var options = interaction.interactable.options.drag; - - if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { - var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); - - if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { - return interactable; - } - } - }; // check all interactables - - - while (__is_10.element(element)) { - var interactable = scope.interactables.forEachMatch(element, getDraggable); - - if (interactable) { - interaction.prepared.name = ___scope_10.ActionName.Drag; - interaction.interactable = interactable; - interaction.element = element; - break; - } - - element = (0, _$domUtils_51.parentNode)(element); - } - } - }); - - function checkStartAxis(startAxis, interactable) { - if (!interactable) { - return false; - } - - var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; - return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; - } -} - -var ___default_10 = { - id: 'auto-start/dragAxis', - install: __install_10 -}; -_$dragAxis_10["default"] = ___default_10; - -var _$hold_11 = {}; -"use strict"; - -Object.defineProperty(_$hold_11, "__esModule", { - value: true -}); -_$hold_11["default"] = void 0; - -var ___base_11 = ___interopRequireDefault_11(_$base_9); - -function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_11(scope) { - var autoStart = scope.autoStart, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(___base_11["default"]); - defaults.perAction.hold = 0; - defaults.perAction.delay = 0; - interactions.signals.on('new', function (interaction) { - interaction.autoStartHoldTimer = null; - }); - autoStart.signals.on('prepared', function (_ref) { - var interaction = _ref.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.autoStartHoldTimer = setTimeout(function () { - interaction.start(interaction.prepared, interaction.interactable, interaction.element); - }, hold); - } - }); - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - duplicate = _ref2.duplicate; - - if (interaction.pointerWasMoved && !duplicate) { - clearTimeout(interaction.autoStartHoldTimer); - } - }); // prevent regular down->move autoStart - - autoStart.signals.on('before-start', function (_ref3) { - var interaction = _ref3.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.prepared.name = null; - } - }); -} - -function getHoldDuration(interaction) { - var actionName = interaction.prepared && interaction.prepared.name; - - if (!actionName) { - return null; - } - - var options = interaction.interactable.options; - return options[actionName].hold || options[actionName].delay; -} - -var ___default_11 = { - id: 'auto-start/hold', - install: __install_11, - getHoldDuration: getHoldDuration -}; -_$hold_11["default"] = ___default_11; - -var _$autoStart_12 = {}; -"use strict"; - -Object.defineProperty(_$autoStart_12, "__esModule", { - value: true -}); -_$autoStart_12.install = __install_12; -Object.defineProperty(_$autoStart_12, "autoStart", { - enumerable: true, - get: function get() { - return ___base_12["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "dragAxis", { - enumerable: true, - get: function get() { - return _dragAxis["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "hold", { - enumerable: true, - get: function get() { - return _hold["default"]; - } -}); -_$autoStart_12.id = void 0; - -var ___base_12 = ___interopRequireDefault_12(_$base_9); - -var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); - -var _hold = ___interopRequireDefault_12(_$hold_11); - -function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_12(scope) { - scope.usePlugin(___base_12["default"]); - scope.usePlugin(_hold["default"]); - scope.usePlugin(_dragAxis["default"]); -} - -var __id_12 = 'auto-start'; -_$autoStart_12.id = __id_12; - -var _$interactablePreventDefault_21 = {}; -"use strict"; - -Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { - value: true -}); -_$interactablePreventDefault_21.install = __install_21; -_$interactablePreventDefault_21["default"] = void 0; - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_21 = ___interopRequireDefault_21(_$events_52); - -var __is_21 = ___interopRequireWildcard_21(_$is_57); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -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 }; } - -function preventDefault(newValue) { - if (/^(always|never|auto)$/.test(newValue)) { - this.options.preventDefault = newValue; - return this; - } - - if (__is_21.bool(newValue)) { - this.options.preventDefault = newValue ? 'always' : 'never'; - return this; - } - - return this.options.preventDefault; -} - -function checkAndPreventDefault(interactable, scope, event) { - var setting = interactable.options.preventDefault; - - if (setting === 'never') { - return; - } - - if (setting === 'always') { - event.preventDefault(); - return; - } // setting === 'auto' - // if the browser supports passive event listeners and isn't running on iOS, - // don't preventDefault of touch{start,move} events. CSS touch-action and - // user-select should be used instead of calling event.preventDefault(). - - - if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { - var doc = (0, _$window_66.getWindow)(event.target).document; - var docOptions = scope.getDocOptions(doc); - - if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { - return; - } - } // don't preventDefault of pointerdown events - - - if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { - return; - } // don't preventDefault on editable elements - - - if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { - return; - } - - event.preventDefault(); -} - -function onInteractionEvent(_ref) { - var interaction = _ref.interaction, - event = _ref.event; - - if (interaction.interactable) { - interaction.interactable.checkAndPreventDefault(event); - } -} - -function __install_21(scope) { - /** @lends Interactable */ - var Interactable = scope.Interactable; - /** - * Returns or sets whether to prevent the browser's default behaviour in - * response to pointer events. Can be set to: - * - `'always'` to always prevent - * - `'never'` to never prevent - * - `'auto'` to let interact.js try to determine what would be best - * - * @param {string} [newValue] `'always'`, `'never'` or `'auto'` - * @return {string | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.preventDefault = preventDefault; - - Interactable.prototype.checkAndPreventDefault = function (event) { - return checkAndPreventDefault(this, scope, event); - }; - - var _arr = ['down', 'move', 'up', 'cancel']; - - for (var _i = 0; _i < _arr.length; _i++) { - var eventSignal = _arr[_i]; - scope.interactions.signals.on(eventSignal, onInteractionEvent); - } // prevent native HTML5 drag on interact.js target elements - - - scope.interactions.docEvents.push({ - type: 'dragstart', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - - if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { - interaction.interactable.checkAndPreventDefault(event); - return; - } - } - } - }); -} - -var ___default_21 = { - id: 'core/interactablePreventDefault', - install: __install_21 -}; -_$interactablePreventDefault_21["default"] = ___default_21; - -var _$devTools_25 = {}; -"use strict"; - -Object.defineProperty(_$devTools_25, "__esModule", { - value: true -}); -_$devTools_25["default"] = void 0; - -var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___extend_25 = ___interopRequireDefault_25(_$extend_53); - -var __is_25 = ___interopRequireWildcard_25(_$is_57); - -var ___window_25 = ___interopRequireDefault_25(_$window_66); - -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 }; } - -function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } - -function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -var CheckName; - -(function (CheckName) { - CheckName["touchAction"] = ""; - CheckName["boxSizing"] = ""; - CheckName["noListeners"] = ""; -})(CheckName || (CheckName = {})); - -var prefix = '[interact.js] '; -var links = { - touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', - boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' -}; -var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax - -function __install_25(scope) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - logger = _ref.logger; - - var interactions = scope.interactions, - Interactable = scope.Interactable, - defaults = scope.defaults; - logger = logger || console; - interactions.signals.on('action-start', function (_ref2) { - var interaction = _ref2.interaction; - - for (var _i = 0; _i < checks.length; _i++) { - var _ref3; - - _ref3 = checks[_i]; - var check = _ref3; - var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; - - if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { - var _logger; - - (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); - } - } - }); - defaults.base.devTools = { - ignore: {} - }; - - Interactable.prototype.devTools = function (options) { - if (options) { - (0, ___extend_25["default"])(this.options.devTools, options); - return this; - } - - return this.options.devTools; - }; -} - -var checks = [{ - name: 'touchAction', - perform: function perform(_ref4) { - var element = _ref4.element; - return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); - }, - getInfo: function getInfo(_ref5) { - var element = _ref5.element; - return [element, links.touchAction]; - }, - text: 'Consider adding CSS "touch-action: none" to this element\n' -}, { - name: 'boxSizing', - perform: function perform(interaction) { - var element = interaction.element; - return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); - }, - text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', - getInfo: function getInfo(_ref6) { - var element = _ref6.element; - return [element, links.boxSizing]; - } -}, { - name: 'noListeners', - perform: function perform(interaction) { - var actionName = interaction.prepared.name; - var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; - return !moveListeners.length; - }, - getInfo: function getInfo(interaction) { - return [interaction.prepared.name, interaction.interactable]; - }, - text: 'There are no listeners set for this action' -}]; - -function hasStyle(element, prop, styleRe) { - return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); -} - -function parentHasStyle(element, prop, styleRe) { - var parent = element; - - while (__is_25.element(parent)) { - if (hasStyle(parent, prop, styleRe)) { - return true; - } - - parent = (0, _$domUtils_51.parentNode)(parent); - } - - return false; -} - -var __id_25 = 'dev-tools'; -var defaultExport = isProduction ? { - id: __id_25, - install: function install() {} -} : { - id: __id_25, - install: __install_25, - checks: checks, - CheckName: CheckName, - links: links, - prefix: prefix -}; -var ___default_25 = defaultExport; -_$devTools_25["default"] = ___default_25; - -var _$base_30 = {}; -"use strict"; - -Object.defineProperty(_$base_30, "__esModule", { - value: true -}); -_$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; - -var ___extend_30 = ___interopRequireDefault_30(_$extend_53); - -function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } - -function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __install_30(scope) { - var interactions = scope.interactions; - scope.defaults.perAction.modifiers = []; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.modifiers = { - startOffset: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - offsets: {}, - states: null, - result: null, - endPrevented: false, - startDelta: null - }; - }); - interactions.signals.on('before-action-start', function (arg) { - __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, arg.interaction.modifiers.result.coords); - __beforeMove_30(arg); - }); - interactions.signals.on('after-action-move', restoreCoords); - interactions.signals.on('before-action-move', __beforeMove_30); - interactions.signals.on('before-action-start', setCoords); - interactions.signals.on('after-action-start', restoreCoords); - interactions.signals.on('before-action-end', beforeEnd); - interactions.signals.on('stop', stop); -} - -function __start_30(_ref2, pageCoords, prevCoords) { - var interaction = _ref2.interaction, - phase = _ref2.phase; - var interactable = interaction.interactable, - element = interaction.element; - var modifierList = getModifierList(interaction); - var states = prepareStates(modifierList); - var rect = (0, ___extend_30["default"])({}, interaction.rect); - - if (!('width' in rect)) { - rect.width = rect.right - rect.left; - } - - if (!('height' in rect)) { - rect.height = rect.bottom - rect.top; - } - - var startOffset = getRectOffset(rect, pageCoords); - interaction.modifiers.startOffset = startOffset; - interaction.modifiers.startDelta = { - x: 0, - y: 0 - }; - var arg = { - interaction: interaction, - interactable: interactable, - element: element, - pageCoords: pageCoords, - phase: phase, - rect: rect, - startOffset: startOffset, - states: states, - preEnd: 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); - var result = interaction.modifiers.result = setAll(arg); - return result; -} - -function startAll(arg) { - var states = arg.states; - - for (var _i = 0; _i < states.length; _i++) { - var _ref3; - - _ref3 = states[_i]; - var state = _ref3; - - if (state.methods.start) { - arg.state = state; - state.methods.start(arg); - } - } -} - -function setAll(arg) { - var prevCoords = arg.prevCoords, - phase = arg.phase, - preEnd = arg.preEnd, - requireEndOnly = arg.requireEndOnly, - rect = arg.rect, - states = arg.states; - arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); - arg.rect = (0, ___extend_30["default"])({}, rect); - var result = { - delta: { - x: 0, - y: 0 - }, - rectDelta: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - coords: arg.coords, - changed: true - }; - - for (var _i2 = 0; _i2 < states.length; _i2++) { - var _ref4; - - _ref4 = states[_i2]; - var state = _ref4; - var options = state.options; - - if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { - continue; - } - - arg.state = state; - state.methods.set(arg); - } - - result.delta.x = arg.coords.x - arg.pageCoords.x; - result.delta.y = arg.coords.y - arg.pageCoords.y; - var rectChanged = false; - - if (rect) { - result.rectDelta.left = arg.rect.left - rect.left; - result.rectDelta.right = arg.rect.right - rect.right; - result.rectDelta.top = arg.rect.top - rect.top; - result.rectDelta.bottom = arg.rect.bottom - rect.bottom; - rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; - } - - result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; - return result; -} - -function __beforeMove_30(arg) { - var interaction = arg.interaction, - phase = arg.phase, - preEnd = arg.preEnd, - 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: arg.modifiedCoords || interaction.coords.cur.page, - prevCoords: prevCoords, - rect: interaction.rect, - 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 - - if (!modifierResult.changed && interaction.interacting()) { - 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); -} - -function beforeEnd(arg) { - var interaction = arg.interaction, - event = arg.event, - noPreEnd = arg.noPreEnd; - var states = interaction.modifiers.states; - - if (noPreEnd || !states || !states.length) { - return; - } - - var didPreEnd = false; - - for (var _i3 = 0; _i3 < states.length; _i3++) { - var _ref5; - - _ref5 = states[_i3]; - var state = _ref5; - arg.state = state; - var options = state.options, - methods = state.methods; - var endResult = methods.beforeEnd && methods.beforeEnd(arg); - - if (endResult === false) { - interaction.modifiers.endPrevented = true; - return false; - } // if the endOnly option is true for any modifier - - - if (!didPreEnd && shouldDo(options, true, true)) { - // fire a move event at the modified coordinates - interaction.move({ - event: event, - preEnd: true - }); - didPreEnd = true; - } - } -} - -function stop(arg) { - var interaction = arg.interaction; - var states = interaction.modifiers.states; - - if (!states || !states.length) { - return; - } - - var modifierArg = (0, ___extend_30["default"])({ - states: states, - interactable: interaction.interactable, - element: interaction.element, - rect: null - }, arg); - - for (var _i4 = 0; _i4 < states.length; _i4++) { - var _ref6; - - _ref6 = states[_i4]; - var state = _ref6; - modifierArg.state = state; - - if (state.methods.stop) { - state.methods.stop(modifierArg); - } - } - - arg.interaction.modifiers.states = null; - arg.interaction.modifiers.endPrevented = false; -} - -function getModifierList(interaction) { - var actionOptions = interaction.interactable.options[interaction.prepared.name]; - var actionModifiers = actionOptions.modifiers; - - if (actionModifiers && actionModifiers.length) { - return actionModifiers.filter(function (modifier) { - return !modifier.options || modifier.options.enabled !== false; - }); - } - - return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { - var options = actionOptions[type]; - return options && options.enabled && { - options: options, - methods: options._methods - }; - }).filter(function (m) { - return !!m; - }); -} - -function prepareStates(modifierList) { - var states = []; - - for (var index = 0; index < modifierList.length; index++) { - var _modifierList$index = modifierList[index], - options = _modifierList$index.options, - methods = _modifierList$index.methods, - name = _modifierList$index.name; - - if (options && options.enabled === false) { - continue; - } - - states.push({ - options: options, - methods: methods, - index: index, - name: name - }); - } - - return states; -} - -function setCoords(arg) { - var interaction = arg.interaction, - phase = arg.phase; - var curCoords = interaction.coords.cur; - var startCoords = interaction.coords.start; - var _interaction$modifier = interaction.modifiers, - result = _interaction$modifier.result, - startDelta = _interaction$modifier.startDelta; - var curDelta = result.delta; - - if (phase === 'start') { - (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); - } - - var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; - - for (var _i5 = 0; _i5 < _arr.length; _i5++) { - var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), - coordsSet = _arr$_i[0], - delta = _arr$_i[1]; - - coordsSet.page.x += delta.x; - coordsSet.page.y += delta.y; - coordsSet.client.x += delta.x; - coordsSet.client.y += delta.y; - } - - var rectDelta = interaction.modifiers.result.rectDelta; - var rect = arg.rect || interaction.rect; - rect.left += rectDelta.left; - rect.right += rectDelta.right; - rect.top += rectDelta.top; - rect.bottom += rectDelta.bottom; - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; -} - -function restoreCoords(_ref7) { - var _ref7$interaction = _ref7.interaction, - coords = _ref7$interaction.coords, - rect = _ref7$interaction.rect, - modifiers = _ref7$interaction.modifiers; - - if (!modifiers.result) { - return; - } - - var startDelta = modifiers.startDelta; - var _modifiers$result = modifiers.result, - curDelta = _modifiers$result.delta, - rectDelta = _modifiers$result.rectDelta; - var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; - - for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { - var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), - coordsSet = _coordsAndDeltas$_i[0], - delta = _coordsAndDeltas$_i[1]; - - coordsSet.page.x -= delta.x; - coordsSet.page.y -= delta.y; - coordsSet.client.x -= delta.x; - coordsSet.client.y -= delta.y; - } - - rect.left -= rectDelta.left; - rect.right -= rectDelta.right; - rect.top -= rectDelta.top; - rect.bottom -= rectDelta.bottom; -} - -function shouldDo(options, preEnd, requireEndOnly, phase) { - return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; -} - -function getRectOffset(rect, coords) { - return rect ? { - left: coords.x - rect.left, - top: coords.y - rect.top, - right: rect.right - coords.x, - bottom: rect.bottom - coords.y - } : { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; -} - -function makeModifier(module, name) { - var defaults = module.defaults; - var methods = { - start: module.start, - set: module.set, - beforeEnd: module.beforeEnd, - stop: module.stop - }; - - var modifier = function modifier(_options) { - var options = _options || {}; - options.enabled = options.enabled !== false; // add missing defaults to options - - for (var prop in defaults) { - if (!(prop in options)) { - options[prop] = defaults[prop]; - } - } - - var m = { - options: options, - methods: methods, - name: name - }; - return m; - }; - - if (name && typeof name === 'string') { - // for backwrads compatibility - modifier._defaults = defaults; - modifier._methods = methods; - } - - return modifier; -} - -var ___default_30 = { - id: 'modifiers/base', - install: __install_30, - startAll: startAll, - setAll: setAll, - prepareStates: prepareStates, - start: __start_30, - beforeMove: __beforeMove_30, - beforeEnd: beforeEnd, - stop: stop, - shouldDo: shouldDo, - getModifierList: getModifierList, - getRectOffset: getRectOffset, - makeModifier: makeModifier -}; -_$base_30["default"] = ___default_30; - -var _$inertia_26 = {}; -"use strict"; - -Object.defineProperty(_$inertia_26, "__esModule", { - value: true -}); -_$inertia_26["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -var ___base_26 = ___interopRequireWildcard_26(_$base_30); - -var __utils_26 = ___interopRequireWildcard_26(_$utils_56); - -var ___raf_26 = ___interopRequireDefault_26(_$raf_62); - -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'; - -function __install_26(scope) { - var interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.inertia = { - active: false, - smoothEnd: false, - allowResume: false, - upCoords: {}, - timeout: null - }; - }); - 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', __stop_26); - defaults.perAction.inertia = { - enabled: false, - resistance: 10, - minSpeed: 100, - endSpeed: 10, - allowResume: true, - smoothEndDuration: 300 - }; - scope.usePlugin(___base_26["default"]); -} - -function resume(_ref2, scope) { - var interaction = _ref2.interaction, - event = _ref2.event, - pointer = _ref2.pointer, - eventTarget = _ref2.eventTarget; - var state = interaction.inertia; // Check if the down event hits the current inertia target - - if (state.active) { - var element = eventTarget; // climb up the DOM tree from the event target - - while (__utils_26.is.element(element)) { - // if interaction element is the current inertia target element - if (element === interaction.element) { - // stop inertia - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; // update pointers to the down event's coordinates - - interaction.updatePointer(pointer, event, eventTarget, true); - __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { - return p.pointer; - }), interaction._now()); // fire appropriate signals - - var signalArg = { - interaction: interaction, - phase: _$InteractEvent_15.EventPhase.Resume - }; - scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event - - var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); - - interaction._fireEvent(resumeEvent); - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); - break; - } - - element = __utils_26.dom.parentNode(element); - } - } -} - -function release(_ref3, scope) { - var interaction = _ref3.interaction, - event = _ref3.event, - noPreEnd = _ref3.noPreEnd; - var state = interaction.inertia; - - if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { - return null; - } - - var options = __getOptions_26(interaction); - - var now = interaction._now(); - - var velocityClient = interaction.coords.velocity.client; - var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); - var smoothEnd = false; - var modifierResult; // check if inertia should be started - - var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; - var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; - var modifierArg = { - interaction: interaction, - pageCoords: interaction.coords.cur.page, - states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { - return __utils_26.extend({}, modifierStatus); - }), - preEnd: true, - prevCoords: null, - requireEndOnly: null, - phase: _$InteractEvent_15.EventPhase.InertiaStart - }; // smoothEnd - - if (inertiaPossible && !inertia) { - modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; - modifierArg.requireEndOnly = false; - modifierResult = ___base_26["default"].setAll(modifierArg); - - if (modifierResult.changed) { - smoothEnd = true; - } - } - - if (!(inertia || smoothEnd)) { - return null; - } - - __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; - interaction.simulation = state; - interaction.interactable.fire(state.startEvent); - - if (inertia) { - state.vx0 = interaction.coords.velocity.client.x; - state.vy0 = interaction.coords.velocity.client.y; - state.v0 = pointerSpeed; - calcInertia(interaction, state); - __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); - modifierArg.pageCoords.x += state.xe; - modifierArg.pageCoords.y += state.ye; - modifierArg.prevCoords = null; - modifierArg.requireEndOnly = true; - modifierResult = ___base_26["default"].setAll(modifierArg); - state.modifiedXe += modifierResult.delta.x; - state.modifiedYe += modifierResult.delta.y; - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.smoothEnd = true; - state.xe = modifierResult.delta.x; - state.ye = modifierResult.delta.y; - state.sx = state.sy = 0; - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } - - return false; -} - -function __stop_26(_ref4) { - var interaction = _ref4.interaction; - var state = interaction.inertia; - - if (state.active) { - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; - } -} - -function calcInertia(interaction, state) { - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; - state.x0 = interaction.prevEvent.page.x; - state.y0 = interaction.prevEvent.page.y; - state.t0 = state.startEvent.timeStamp / 1000; - state.sx = state.sy = 0; - state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; - state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; - state.te = inertiaDur; - state.lambda_v0 = lambda / state.v0; - state.one_ve_v0 = 1 - options.endSpeed / state.v0; -} - -function inertiaTick(interaction) { - updateInertiaCoords(interaction); - __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); - __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); - var state = interaction.inertia; - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var t = interaction._now() / 1000 - state.t0; - - if (t < state.te) { - var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; - - if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { - state.sx = state.xe * progress; - state.sy = state.ye * progress; - } else { - var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); - state.sx = quadPoint.x; - state.sy = quadPoint.y; - } - - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.sx = state.modifiedXe; - state.sy = state.modifiedYe; - interaction.move(); - interaction.end(state.startEvent); - state.active = false; - interaction.simulation = null; - } - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); -} - -function smothEndTick(interaction) { - updateInertiaCoords(interaction); - var state = interaction.inertia; - var t = interaction._now() - state.t0; - - var _getOptions = __getOptions_26(interaction), - duration = _getOptions.smoothEndDuration; - - if (t < duration) { - state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); - state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } else { - state.sx = state.xe; - state.sy = state.ye; - interaction.move(); - interaction.end(state.startEvent); - state.smoothEnd = state.active = false; - interaction.simulation = null; - } -} - -function updateInertiaCoords(interaction) { - var state = interaction.inertia; // return if inertia isn't running - - if (!state.active) { - return; - } - - var pageUp = state.upCoords.page; - var clientUp = state.upCoords.client; - __utils_26.pointer.setCoords(interaction.coords.cur, [{ - pageX: pageUp.x + state.sx, - pageY: pageUp.y + state.sy, - clientX: clientUp.x + state.sx, - clientY: clientUp.y + state.sy - }], interaction._now()); -} - -function __getOptions_26(_ref5) { - var interactable = _ref5.interactable, - prepared = _ref5.prepared; - return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; -} - -var ___default_26 = { - id: 'inertia', - install: __install_26, - calcInertia: calcInertia, - inertiaTick: inertiaTick, - smothEndTick: smothEndTick, - updateInertiaCoords: updateInertiaCoords -}; -_$inertia_26["default"] = ___default_26; - -var _$pointer_33 = {}; -"use strict"; - -Object.defineProperty(_$pointer_33, "__esModule", { - value: true -}); -_$pointer_33["default"] = void 0; - -var ___extend_33 = ___interopRequireDefault_33(_$extend_53); - -var __is_33 = ___interopRequireWildcard_33(_$is_57); - -var ___rect_33 = ___interopRequireDefault_33(_$rect_63); - -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 }; } - -function __start_33(_ref) { - var rect = _ref.rect, - startOffset = _ref.startOffset, - state = _ref.state, - interaction = _ref.interaction, - pageCoords = _ref.pageCoords; - var options = state.options; - var elementRect = options.elementRect; - var offset = (0, ___extend_33["default"])({ - left: 0, - top: 0, - right: 0, - bottom: 0 - }, options.offset || {}); - - if (rect && elementRect) { - var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); - - if (restriction) { - var widthDiff = restriction.right - restriction.left - rect.width; - var heightDiff = restriction.bottom - restriction.top - rect.height; - - if (widthDiff < 0) { - offset.left += widthDiff; - offset.right += widthDiff; - } - - if (heightDiff < 0) { - offset.top += heightDiff; - offset.bottom += heightDiff; - } - } - - offset.left += startOffset.left - rect.width * elementRect.left; - offset.top += startOffset.top - rect.height * elementRect.top; - offset.right += startOffset.right - rect.width * (1 - elementRect.right); - offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); - } - - state.offset = offset; -} - -function set(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var options = state.options, - offset = state.offset; - var restriction = getRestrictionRect(options.restriction, interaction, coords); - - if (!restriction) { - return; - } - - var rect = ___rect_33["default"].xywhToTlbr(restriction); - - coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); - coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); -} - -function getRestrictionRect(value, interaction, coords) { - if (__is_33.func(value)) { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); - } else { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); - } -} - -var __defaults_33 = { - restriction: null, - elementRect: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrict = { - start: __start_33, - set: set, - getRestrictionRect: getRestrictionRect, - defaults: __defaults_33 -}; -var ___default_33 = restrict; -_$pointer_33["default"] = ___default_33; - -var _$edges_32 = {}; -"use strict"; - -Object.defineProperty(_$edges_32, "__esModule", { - value: true -}); -_$edges_32["default"] = void 0; - -var ___extend_32 = ___interopRequireDefault_32(_$extend_53); - -var ___rect_32 = ___interopRequireDefault_32(_$rect_63); - -var _pointer = ___interopRequireDefault_32(_$pointer_33); - -function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -// This module adds the options.resize.restrictEdges setting which sets min and -// max for the top, left, bottom and right edges of the target being resized. -// -// interact(target).resize({ -// edges: { top: true, left: true }, -// restrictEdges: { -// inner: { top: 200, left: 200, right: 400, bottom: 400 }, -// outer: { top: 0, left: 0, right: 600, bottom: 600 }, -// }, -// }) -var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; -var noInner = { - top: +Infinity, - left: +Infinity, - bottom: -Infinity, - right: -Infinity -}; -var noOuter = { - top: -Infinity, - left: -Infinity, - bottom: +Infinity, - right: +Infinity -}; - -function __start_32(_ref) { - var interaction = _ref.interaction, - state = _ref.state; - var options = state.options; - var startOffset = interaction.modifiers.startOffset; - var offset; - - if (options) { - var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); - offset = ___rect_32["default"].rectToXY(offsetRect); - } - - offset = offset || { - x: 0, - y: 0 - }; - state.offset = { - top: offset.y + startOffset.top, - left: offset.x + startOffset.left, - bottom: offset.y - startOffset.bottom, - right: offset.x - startOffset.right - }; -} - -function __set_32(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var offset = state.offset, - options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var page = (0, ___extend_32["default"])({}, coords); - var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; - var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; - fixRect(inner, noInner); - fixRect(outer, noOuter); - - if (edges.top) { - coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); - } else if (edges.bottom) { - coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); - } - - if (edges.left) { - coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); - } else if (edges.right) { - coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); - } -} - -function fixRect(rect, defaults) { - var _arr = ['top', 'left', 'bottom', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (!(edge in rect)) { - rect[edge] = defaults[edge]; - } - } - - return rect; -} - -var __defaults_32 = { - inner: null, - outer: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrictEdges = { - noInner: noInner, - noOuter: noOuter, - getRestrictionRect: __getRestrictionRect_32, - start: __start_32, - set: __set_32, - defaults: __defaults_32 -}; -var ___default_32 = restrictEdges; -_$edges_32["default"] = ___default_32; - -var _$rect_34 = {}; -"use strict"; - -Object.defineProperty(_$rect_34, "__esModule", { - value: true -}); -_$rect_34["default"] = void 0; - -var ___extend_34 = ___interopRequireDefault_34(_$extend_53); - -var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); - -function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __defaults_34 = (0, ___extend_34["default"])({ - get elementRect() { - return { - top: 0, - left: 0, - bottom: 1, - right: 1 - }; - }, - - set elementRect(_) {} - -}, ___pointer_34["default"].defaults); -var restrictRect = { - start: ___pointer_34["default"].start, - set: ___pointer_34["default"].set, - defaults: __defaults_34 -}; -var ___default_34 = restrictRect; -_$rect_34["default"] = ___default_34; - -var _$size_35 = {}; -"use strict"; - -Object.defineProperty(_$size_35, "__esModule", { - value: true -}); -_$size_35["default"] = void 0; - -var ___extend_35 = ___interopRequireDefault_35(_$extend_53); - -var ___rect_35 = ___interopRequireDefault_35(_$rect_63); - -var _edges = ___interopRequireDefault_35(_$edges_32); - -function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var noMin = { - width: -Infinity, - height: -Infinity -}; -var noMax = { - width: +Infinity, - height: +Infinity -}; - -function __start_35(arg) { - return _edges["default"].start(arg); -} - -function __set_35(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); - - var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; - var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; - state.options = { - endOnly: options.endOnly, - inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), - outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) - }; - - if (edges.top) { - state.options.inner.top = rect.bottom - minSize.height; - state.options.outer.top = rect.bottom - maxSize.height; - } else if (edges.bottom) { - state.options.inner.bottom = rect.top + minSize.height; - state.options.outer.bottom = rect.top + maxSize.height; - } - - if (edges.left) { - state.options.inner.left = rect.right - minSize.width; - state.options.outer.left = rect.right - maxSize.width; - } else if (edges.right) { - state.options.inner.right = rect.left + minSize.width; - state.options.outer.right = rect.left + maxSize.width; - } - - _edges["default"].set(arg); - - state.options = options; -} - -var __defaults_35 = { - min: null, - max: null, - endOnly: false, - enabled: false -}; -var restrictSize = { - start: __start_35, - set: __set_35, - defaults: __defaults_35 -}; -var ___default_35 = restrictSize; -_$size_35["default"] = ___default_35; - -var _$pointer_37 = {}; -"use strict"; - -Object.defineProperty(_$pointer_37, "__esModule", { - value: true -}); -_$pointer_37["default"] = void 0; - -var __utils_37 = ___interopRequireWildcard_37(_$utils_56); - -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, - interactable = arg.interactable, - element = arg.element, - rect = arg.rect, - state = arg.state, - startOffset = arg.startOffset; - var options = state.options; - var offsets = []; - var origin = options.offsetWithOrigin ? getOrigin(arg) : { - x: 0, - y: 0 - }; - var snapOffset; - - if (options.offset === 'startCoords') { - snapOffset = { - x: interaction.coords.start.page.x, - y: interaction.coords.start.page.y - }; - } else { - var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); - snapOffset = __utils_37.rect.rectToXY(offsetRect) || { - x: 0, - y: 0 - }; - snapOffset.x += origin.x; - snapOffset.y += origin.y; - } - - var relativePoints = options.relativePoints || []; - - if (rect && options.relativePoints && options.relativePoints.length) { - for (var index = 0; index < relativePoints.length; index++) { - var relativePoint = relativePoints[index]; - offsets.push({ - index: index, - relativePoint: relativePoint, - x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, - y: startOffset.top - rect.height * relativePoint.y + snapOffset.y - }); - } - } else { - offsets.push(__utils_37.extend({ - index: 0, - relativePoint: null - }, snapOffset)); - } - - state.offsets = offsets; -} - -function __set_37(arg) { - var interaction = arg.interaction, - coords = arg.coords, - state = arg.state; - var options = state.options, - offsets = state.offsets; - var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); - var page = __utils_37.extend({}, coords); - var targets = []; - var target; - - if (!options.offsetWithOrigin) { - page.x -= origin.x; - page.y -= origin.y; - } - - state.realX = page.x; - state.realY = page.y; - - for (var _i = 0; _i < offsets.length; _i++) { - var _ref; - - _ref = offsets[_i]; - var offset = _ref; - var relativeX = page.x - offset.x; - var relativeY = page.y - offset.y; - - for (var index = 0, _len = options.targets.length; index < _len; index++) { - var snapTarget = options.targets[index]; - - if (__utils_37.is.func(snapTarget)) { - target = snapTarget(relativeX, relativeY, interaction, offset, index); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - targets.push({ - x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, - y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, - range: __utils_37.is.number(target.range) ? target.range : options.range - }); - } - } - - var closest = { - target: null, - inRange: false, - distance: 0, - range: 0, - dx: 0, - dy: 0 - }; - - for (var i = 0, len = targets.length; i < len; i++) { - target = targets[i]; - var range = target.range; - var dx = target.x - page.x; - var dy = target.y - page.y; - var distance = __utils_37.hypot(dx, dy); - var inRange = distance <= range; // Infinite targets count as being out of range - // compared to non infinite ones that are in range - - if (range === Infinity && closest.inRange && closest.range !== Infinity) { - inRange = false; - } - - if (!closest.target || (inRange // is the closest target in range? - ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target - ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't - : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest - distance < closest.distance : // The other is not in range and the pointer is closer to this target - !closest.inRange && distance < closest.distance)) { - closest.target = target; - closest.distance = distance; - closest.range = range; - closest.inRange = inRange; - closest.dx = dx; - closest.dy = dy; - state.range = range; - } - } - - if (closest.inRange) { - coords.x = closest.target.x; - coords.y = closest.target.y; - } - - state.closest = closest; -} - -function getOrigin(arg) { - 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; -} - -var __defaults_37 = { - range: Infinity, - targets: null, - offset: null, - offsetWithOrigin: true, - origin: null, - relativePoints: null, - endOnly: false, - enabled: false -}; -var snap = { - start: __start_37, - set: __set_37, - defaults: __defaults_37 -}; -var ___default_37 = snap; -_$pointer_37["default"] = ___default_37; - -var _$size_38 = {}; -"use strict"; - -Object.defineProperty(_$size_38, "__esModule", { - value: true -}); -_$size_38["default"] = void 0; - -var ___extend_38 = ___interopRequireDefault_38(_$extend_53); - -var __is_38 = ___interopRequireWildcard_38(_$is_57); - -var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); - -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 }; } - -function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } - -function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __start_38(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state = { - options: { - targets: null, - relativePoints: [{ - x: edges.left ? 0 : 1, - y: edges.top ? 0 : 1 - }], - offset: options.offset || 'self', - origin: { - x: 0, - y: 0 - }, - range: options.range - } - }; - state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; - - ___pointer_38["default"].start(arg); - - state.offsets = arg.state.offsets; - arg.state = state; -} - -function __set_38(arg) { - var interaction = arg.interaction, - state = arg.state, - coords = arg.coords; - var options = state.options, - offsets = state.offsets; - var relative = { - x: coords.x - offsets[0].x, - y: coords.y - offsets[0].y - }; - state.options = (0, ___extend_38["default"])({}, options); - state.options.targets = []; - - for (var _i = 0; _i < (options.targets || []).length; _i++) { - var _ref; - - _ref = (options.targets || [])[_i]; - var snapTarget = _ref; - var target = void 0; - - if (__is_38.func(snapTarget)) { - target = snapTarget(relative.x, relative.y, interaction); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { - var _ref2; - - _ref2 = state.targetFields[_i2]; - - var _ref3 = _ref2, - _ref4 = ___slicedToArray_38(_ref3, 2), - xField = _ref4[0], - yField = _ref4[1]; - - if (xField in target || yField in target) { - target.x = target[xField]; - target.y = target[yField]; - break; - } - } - - state.options.targets.push(target); - } - - ___pointer_38["default"].set(arg); - - state.options = options; -} - -var __defaults_38 = { - range: Infinity, - targets: null, - offset: null, - endOnly: false, - enabled: false -}; -var snapSize = { - start: __start_38, - set: __set_38, - defaults: __defaults_38 -}; -var ___default_38 = snapSize; -_$size_38["default"] = ___default_38; - -var _$edges_36 = {}; -"use strict"; - -Object.defineProperty(_$edges_36, "__esModule", { - value: true -}); -_$edges_36["default"] = void 0; - -var ___clone_36 = ___interopRequireDefault_36(_$clone_49); - -var ___extend_36 = ___interopRequireDefault_36(_$extend_53); - -var _size = ___interopRequireDefault_36(_$size_38); - -function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/** - * @module modifiers/snapEdges - * - * @description - * This module allows snapping of the edges of targets during resize - * interactions. - * - * @example - * interact(target).resizable({ - * snapEdges: { - * targets: [interact.snappers.grid({ x: 100, y: 50 })], - * }, - * }) - * - * interact(target).resizable({ - * snapEdges: { - * targets: [ - * interact.snappers.grid({ - * top: 50, - * left: 50, - * bottom: 100, - * right: 100, - * }), - * ], - * }, - * }) - */ -function __start_36(arg) { - var edges = arg.interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; - return _size["default"].start(arg); -} - -function __set_36(arg) { - return _size["default"].set(arg); -} - -var snapEdges = { - start: __start_36, - set: __set_36, - defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { - offset: { - x: 0, - y: 0 - } - }) -}; -var ___default_36 = snapEdges; -_$edges_36["default"] = ___default_36; - -var _$modifiers_31 = {}; -"use strict"; - -Object.defineProperty(_$modifiers_31, "__esModule", { - value: true -}); -_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; - -var ___base_31 = ___interopRequireDefault_31(_$base_30); - -var ___edges_31 = ___interopRequireDefault_31(_$edges_32); - -var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); - -var ___rect_31 = ___interopRequireDefault_31(_$rect_34); - -var ___size_31 = ___interopRequireDefault_31(_$size_35); - -var _edges2 = ___interopRequireDefault_31(_$edges_36); - -var _pointer2 = ___interopRequireDefault_31(_$pointer_37); - -var _size2 = ___interopRequireDefault_31(_$size_38); - -function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __makeModifier_31 = ___base_31["default"].makeModifier; -var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); -_$modifiers_31.snap = __snap_31; -var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); -_$modifiers_31.snapSize = __snapSize_31; -var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); -_$modifiers_31.snapEdges = __snapEdges_31; -var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); -_$modifiers_31.restrict = __restrict_31; -var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); -_$modifiers_31.restrictRect = __restrictRect_31; -var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); -_$modifiers_31.restrictEdges = __restrictEdges_31; -var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); -_$modifiers_31.restrictSize = __restrictSize_31; - -var _$PointerEvent_39 = {}; -"use strict"; - -Object.defineProperty(_$PointerEvent_39, "__esModule", { - value: true -}); -_$PointerEvent_39["default"] = void 0; - -var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); - -var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); - -function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } - -function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } - -function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___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); } - -function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } - -/** */ -var PointerEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_39(PointerEvent, _BaseEvent); - - /** */ - function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { - var _this; - - ___classCallCheck_39(this, PointerEvent); - - _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); - - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); - - if (event !== pointer) { - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); - } - - _this.timeStamp = timeStamp; - _this.originalEvent = event; - _this.type = type; - _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); - _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); - _this.target = eventTarget; - _this.currentTarget = null; - - if (type === 'tap') { - var pointerIndex = interaction.getPointerIndex(pointer); - _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; - var interval = _this.timeStamp - interaction.tapTime; - _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); - } else if (type === 'doubletap') { - _this.dt = pointer.timeStamp - interaction.tapTime; - } - - return _this; - } - - ___createClass_39(PointerEvent, [{ - key: "_subtractOrigin", - value: function _subtractOrigin(_ref) { - var originX = _ref.x, - originY = _ref.y; - this.pageX -= originX; - this.pageY -= originY; - this.clientX -= originX; - this.clientY -= originY; - return this; - } - }, { - key: "_addOrigin", - value: function _addOrigin(_ref2) { - var originX = _ref2.x, - originY = _ref2.y; - this.pageX += originX; - this.pageY += originY; - this.clientX += originX; - this.clientY += originY; - return this; - } - /** - * Prevent the default behaviour of the original Event - */ - - }, { - key: "preventDefault", - value: function preventDefault() { - this.originalEvent.preventDefault(); - } - }]); - - return PointerEvent; -}(___BaseEvent2_39["default"]); - -_$PointerEvent_39["default"] = PointerEvent; - -var _$base_40 = {}; -"use strict"; - -Object.defineProperty(_$base_40, "__esModule", { - value: true -}); -_$base_40["default"] = void 0; - -var __utils_40 = ___interopRequireWildcard_40(_$utils_56); - -var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); - -function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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']; -var simpleEvents = ['down', 'up', 'cancel']; -var __defaults_40 = { - holdDuration: 600, - ignoreFrom: null, - allowFrom: null, - origin: { - x: 0, - y: 0 - } -}; -var pointerEvents = { - id: 'pointer-events/base', - install: __install_40, - signals: signals, - PointerEvent: _PointerEvent["default"], - fire: fire, - collectEventTargets: collectEventTargets, - createSignalListener: createSignalListener, - defaults: __defaults_40, - types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] -}; - -function fire(arg, scope) { - var interaction = arg.interaction, - pointer = arg.pointer, - event = arg.event, - eventTarget = arg.eventTarget, - _arg$type = arg.type, - type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, - _arg$targets = arg.targets, - targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; - var _arg$pointerEvent = arg.pointerEvent, - pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - targets: targets, - type: type, - pointerEvent: pointerEvent - }; - - for (var i = 0; i < targets.length; i++) { - var target = targets[i]; - - for (var prop in target.props || {}) { - pointerEvent[prop] = target.props[prop]; - } - - var origin = __utils_40.getOriginXY(target.eventable, target.node); - - pointerEvent._subtractOrigin(origin); - - pointerEvent.eventable = target.eventable; - pointerEvent.currentTarget = target.node; - target.eventable.fire(pointerEvent); - - pointerEvent._addOrigin(origin); - - if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { - break; - } - } - - signals.fire('fired', signalArg); - - if (type === 'tap') { - // if pointerEvent should make a double tap, create and fire a doubletap - // PointerEvent and use that as the prevTap - var prevTap = pointerEvent["double"] ? fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'doubletap' - }, scope) : pointerEvent; - interaction.prevTap = prevTap; - interaction.tapTime = prevTap.timeStamp; - } - - return pointerEvent; -} - -function collectEventTargets(_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget, - type = _ref.type; - var pointerIndex = interaction.getPointerIndex(pointer); - var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted - - if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target - !(pointerInfo && pointerInfo.downTarget === eventTarget))) { - return []; - } - - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: type, - path: path, - targets: [], - node: null - }; - - for (var _i = 0; _i < path.length; _i++) { - var _ref2; - - _ref2 = path[_i]; - var node = _ref2; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (type === 'hold') { - signalArg.targets = signalArg.targets.filter(function (target) { - return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; - }); - } - - return signalArg.targets; -} - -function __install_40(scope) { - var interactions = scope.interactions; - scope.pointerEvents = pointerEvents; - scope.defaults.actions.pointerEvents = pointerEvents.defaults; - interactions.signals.on('new', function (_ref3) { - var interaction = _ref3.interaction; - interaction.prevTap = null; // the most recent tap event on this interaction - - interaction.tapTime = 0; // time of the most recent tap event - }); - interactions.signals.on('update-pointer', function (_ref4) { - var down = _ref4.down, - pointerInfo = _ref4.pointerInfo; - - if (!down && pointerInfo.hold) { - return; - } - - pointerInfo.hold = { - duration: Infinity, - timeout: null - }; - }); - interactions.signals.on('move', function (_ref5) { - var interaction = _ref5.interaction, - pointer = _ref5.pointer, - event = _ref5.event, - eventTarget = _ref5.eventTarget, - duplicateMove = _ref5.duplicateMove; - var pointerIndex = interaction.getPointerIndex(pointer); - - if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { - if (interaction.pointerIsDown) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - - fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'move' - }, scope); - } - }); - interactions.signals.on('down', function (_ref6) { - var interaction = _ref6.interaction, - pointer = _ref6.pointer, - event = _ref6.event, - eventTarget = _ref6.eventTarget, - pointerIndex = _ref6.pointerIndex; - var timer = interaction.pointers[pointerIndex].hold; - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'hold', - targets: [], - path: path, - node: null - }; - - for (var _i2 = 0; _i2 < path.length; _i2++) { - var _ref7; - - _ref7 = path[_i2]; - var node = _ref7; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (!signalArg.targets.length) { - return; - } - - var minDuration = Infinity; - - for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { - var _ref8; - - _ref8 = signalArg.targets[_i3]; - var target = _ref8; - var holdDuration = target.eventable.options.holdDuration; - - if (holdDuration < minDuration) { - minDuration = holdDuration; - } - } - - timer.duration = minDuration; - timer.timeout = setTimeout(function () { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'hold' - }, scope); - }, minDuration); - }); - var _arr = ['up', 'cancel']; - - for (var _i4 = 0; _i4 < _arr.length; _i4++) { - var signalName = _arr[_i4]; - interactions.signals.on(signalName, function (_ref10) { - var interaction = _ref10.interaction, - pointerIndex = _ref10.pointerIndex; - - if (interaction.pointers[pointerIndex].hold) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - }); - } - - for (var i = 0; i < simpleSignals.length; i++) { - interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); - } - - interactions.signals.on('up', function (_ref9) { - var interaction = _ref9.interaction, - pointer = _ref9.pointer, - event = _ref9.event, - eventTarget = _ref9.eventTarget; - - if (!interaction.pointerWasMoved) { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'tap' - }, scope); - } - }); -} - -function createSignalListener(type, scope) { - return function (_ref11) { - var interaction = _ref11.interaction, - pointer = _ref11.pointer, - event = _ref11.event, - eventTarget = _ref11.eventTarget; - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: type - }, scope); - }; -} - -var ___default_40 = pointerEvents; -_$base_40["default"] = ___default_40; - -var _$holdRepeat_41 = {}; -"use strict"; - -Object.defineProperty(_$holdRepeat_41, "__esModule", { - value: true -}); -_$holdRepeat_41["default"] = void 0; - -var ___base_41 = ___interopRequireDefault_41(_$base_40); - -function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_41(scope) { - var pointerEvents = scope.pointerEvents, - interactions = scope.interactions; - scope.usePlugin(___base_41["default"]); - pointerEvents.signals.on('new', onNew); - pointerEvents.signals.on('fired', function (arg) { - return onFired(arg, scope); - }); - var _arr = ['move', 'up', 'cancel', 'endall']; - - for (var _i = 0; _i < _arr.length; _i++) { - var signal = _arr[_i]; - interactions.signals.on(signal, endHoldRepeat); - } // don't repeat by default - - - pointerEvents.defaults.holdRepeatInterval = 0; - pointerEvents.types.push('holdrepeat'); -} - -function onNew(_ref) { - var pointerEvent = _ref.pointerEvent; - - if (pointerEvent.type !== 'hold') { - return; - } - - pointerEvent.count = (pointerEvent.count || 0) + 1; -} - -function onFired(_ref2, scope) { - var interaction = _ref2.interaction, - pointerEvent = _ref2.pointerEvent, - eventTarget = _ref2.eventTarget, - targets = _ref2.targets; - - if (pointerEvent.type !== 'hold' || !targets.length) { - return; - } // get the repeat interval from the first eventable - - - var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less - - if (interval <= 0) { - return; - } // set a timeout to fire the holdrepeat event - - - interaction.holdIntervalHandle = setTimeout(function () { - scope.pointerEvents.fire({ - interaction: interaction, - eventTarget: eventTarget, - type: 'hold', - pointer: pointerEvent, - event: pointerEvent - }, scope); - }, interval); -} - -function endHoldRepeat(_ref3) { - var interaction = _ref3.interaction; - - // set the interaction's holdStopTime property - // to stop further holdRepeat events - if (interaction.holdIntervalHandle) { - clearInterval(interaction.holdIntervalHandle); - interaction.holdIntervalHandle = null; - } -} - -var ___default_41 = { - id: 'pointer-events/holdRepeat', - install: __install_41 -}; -_$holdRepeat_41["default"] = ___default_41; - -var _$interactableTargets_43 = {}; -"use strict"; - -Object.defineProperty(_$interactableTargets_43, "__esModule", { - value: true -}); -_$interactableTargets_43["default"] = void 0; - -/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; - -var ___extend_43 = ___interopRequireDefault_43(_$extend_53); - -function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_43(scope) { - var pointerEvents = scope.pointerEvents, - actions = scope.actions, - Interactable = scope.Interactable, - interactables = scope.interactables; - pointerEvents.signals.on('collect-targets', function (_ref) { - var targets = _ref.targets, - node = _ref.node, - type = _ref.type, - eventTarget = _ref.eventTarget; - scope.interactables.forEachMatch(node, function (interactable) { - var eventable = interactable.events; - var options = eventable.options; - - if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { - targets.push({ - node: node, - eventable: eventable, - props: { - interactable: interactable - } - }); - } - }); - }); - interactables.signals.on('new', function (_ref2) { - var interactable = _ref2.interactable; - - interactable.events.getRect = function (element) { - return interactable.getRect(element); - }; - }); - interactables.signals.on('set', function (_ref3) { - var interactable = _ref3.interactable, - options = _ref3.options; - (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); - (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); - }); - (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); - Interactable.prototype.pointerEvents = pointerEventsMethod; - var __backCompatOption = Interactable.prototype._backCompatOption; - - Interactable.prototype._backCompatOption = function (optionName, newValue) { - var ret = __backCompatOption.call(this, optionName, newValue); - - if (ret === this) { - this.events.options[optionName] = newValue; - } - - return ret; - }; -} - -function pointerEventsMethod(options) { - (0, ___extend_43["default"])(this.events.options, options); - return this; -} - -var ___default_43 = { - id: 'pointer-events/interactableTargets', - install: __install_43 -}; -_$interactableTargets_43["default"] = ___default_43; - -var _$pointerEvents_42 = {}; -"use strict"; - -Object.defineProperty(_$pointerEvents_42, "__esModule", { - value: true -}); -_$pointerEvents_42.install = __install_42; -Object.defineProperty(_$pointerEvents_42, "pointerEvents", { - enumerable: true, - get: function get() { - return ___base_42["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "holdRepeat", { - enumerable: true, - get: function get() { - return _holdRepeat["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "interactableTargets", { - enumerable: true, - get: function get() { - return _interactableTargets["default"]; - } -}); -_$pointerEvents_42.id = void 0; - -var ___base_42 = ___interopRequireDefault_42(_$base_40); - -var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); - -var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); - -function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_42(scope) { - scope.usePlugin(___base_42["default"]); - scope.usePlugin(_holdRepeat["default"]); - scope.usePlugin(_interactableTargets["default"]); -} - -var __id_42 = 'pointer-events'; -_$pointerEvents_42.id = __id_42; - -var _$reflow_44 = {}; -"use strict"; - -Object.defineProperty(_$reflow_44, "__esModule", { - value: true -}); -_$reflow_44.install = __install_44; -_$reflow_44["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -_$InteractEvent_15.EventPhase.Reflow = 'reflow'; - -function __install_44(scope) { - var actions = scope.actions, - interactions = scope.interactions, - Interactable = scope.Interactable; // add action reflow event types - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - actions.eventTypes.push("".concat(actionName, "reflow")); - } // remove completed reflow interactions - - - interactions.signals.on('stop', function (_ref2) { - var interaction = _ref2.interaction; - - if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { - if (interaction._reflowResolve) { - interaction._reflowResolve(); - } - - _$utils_56.arr.remove(scope.interactions.list, interaction); - } - }); - /** - * ```js - * const interactable = interact(target) - * const drag = { name: drag, axis: 'x' } - * const resize = { name: resize, edges: { left: true, bottom: true } - * - * interactable.reflow(drag) - * interactable.reflow(resize) - * ``` - * - * Start an action sequence to re-apply modifiers, check drops, etc. - * - * @param { Object } action The action to begin - * @param { string } action.name The name of the action - * @returns { Promise } - */ - - Interactable.prototype.reflow = function (action) { - return reflow(this, action, scope); - }; -} - -function reflow(interactable, action, scope) { - 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 - - var Promise = _$utils_56.win.window.Promise; - var promises = Promise ? [] : null; - - var _loop = function _loop() { - _ref3 = elements[_i2]; - var element = _ref3; - var rect = interactable.getRect(element); - - if (!rect) { - return "break"; - } - - var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { - return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; - }); - - var reflowPromise = void 0; - - if (runningInteraction) { - runningInteraction.move(); - - if (promises) { - reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { - runningInteraction._reflowResolve = resolve; - }); - } - } else { - var xywh = _$utils_56.rect.tlbrToXywh(rect); - - var coords = { - page: { - x: xywh.x, - y: xywh.y - }, - client: { - x: xywh.x, - y: xywh.y - }, - timeStamp: scope.now() - }; - - var event = _$utils_56.pointer.coordsToEvent(coords); - - reflowPromise = startReflow(scope, interactable, element, action, event); - } - - if (promises) { - promises.push(reflowPromise); - } - }; - - for (var _i2 = 0; _i2 < elements.length; _i2++) { - var _ref3; - - var _ret = _loop(); - - if (_ret === "break") break; - } - - return promises && Promise.all(promises).then(function () { - return interactable; - }); -} - -function startReflow(scope, interactable, element, action, event) { - var interaction = scope.interactions["new"]({ - pointerType: 'reflow' - }); - var signalArg = { - interaction: interaction, - event: event, - pointer: event, - eventTarget: element, - phase: _$InteractEvent_15.EventPhase.Reflow - }; - interaction.interactable = interactable; - interaction.element = element; - interaction.prepared = (0, _$utils_56.extend)({}, action); - interaction.prevEvent = event; - interaction.updatePointer(event, event, element, true); - - interaction._doPhase(signalArg); - - var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { - interaction._reflowResolve = resolve; - }) : null; - interaction._reflowPromise = reflowPromise; - interaction.start(action, interactable, element); - - if (interaction._interacting) { - interaction.move(signalArg); - interaction.end(event); - } else { - interaction.stop(); - } - - interaction.removePointer(event, event); - interaction.pointerIsDown = false; - return reflowPromise; -} - -var ___default_44 = { - id: 'reflow', - install: __install_44 -}; -_$reflow_44["default"] = ___default_44; - -var _$interact_28 = {}; -"use strict"; - -Object.defineProperty(_$interact_28, "__esModule", { - value: true -}); -_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; - -var ___scope_28 = _$scope_24({}); - -var __utils_28 = ___interopRequireWildcard_28(_$utils_56); - -var ___browser_28 = ___interopRequireDefault_28(_$browser_48); - -var ___events_28 = ___interopRequireDefault_28(_$events_52); - -function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 = {}; -var scope = new ___scope_28.Scope(); -/** - * ```js - * interact('#draggable').draggable(true) - * - * var rectables = interact('rect') - * rectables - * .gesturable(true) - * .on('gesturemove', function (event) { - * // ... - * }) - * ``` - * - * The methods of this variable can be used to set elements as interactables - * and also to change various default settings. - * - * Calling it as a function and passing an element or a valid CSS selector - * string returns an Interactable object which has various methods to configure - * it. - * - * @global - * - * @param {Element | string} target The HTML or SVG Element to interact with - * or CSS selector - * @return {Interactable} - */ - -_$interact_28.scope = scope; - -var interact = function interact(target, options) { - var interactable = scope.interactables.get(target, options); - - if (!interactable) { - interactable = scope.interactables["new"](target, options); - interactable.events.global = globalEvents; - } - - return interactable; -}; -/** - * Use a plugin - * - * @alias module:interact.use - * - * @param {Object} plugin - * @param {function} plugin.install - * @return {interact} - */ - - -_$interact_28.interact = interact; -interact.use = use; - -function use(plugin, options) { - scope.usePlugin(plugin, options); - return interact; -} -/** - * Check if an element or selector has been set with the {@link interact} - * function - * - * @alias module:interact.isSet - * - * @param {Element} element The Element being searched for - * @return {boolean} Indicates if the element or CSS selector was previously - * passed to interact - */ - - -interact.isSet = isSet; - -function isSet(target, options) { - return !!scope.interactables.get(target, options && options.context); -} -/** - * Add a global listener for an InteractEvent or adds a DOM event to `document` - * - * @alias module:interact.on - * - * @param {string | array | object} type The types of events to listen for - * @param {function} listener The function event (s) - * @param {object | boolean} [options] object or useCapture flag for - * addEventListener - * @return {object} interact - */ - - -interact.on = on; - -function on(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i = 0; _i < type.length; _i++) { - var _ref; - - _ref = type[_i]; - var eventType = _ref; - interact.on(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.on(prop, type[prop], listener); - } - - return interact; - } // if it is an InteractEvent type, add listener to globalEvents - - - if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { - // if this type of event was never bound - if (!globalEvents[type]) { - globalEvents[type] = [listener]; - } else { - globalEvents[type].push(listener); - } - } // If non InteractEvent type, addEventListener to document - else { - ___events_28["default"].add(scope.document, type, listener, { - options: options - }); - } - - return interact; -} -/** - * Removes a global InteractEvent listener or DOM event from `document` - * - * @alias module:interact.off - * - * @param {string | array | object} type The types of events that were listened - * for - * @param {function} listener The listener function to be removed - * @param {object | boolean} options [options] object or useCapture flag for - * removeEventListener - * @return {object} interact - */ - - -interact.off = off; - -function off(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i2 = 0; _i2 < type.length; _i2++) { - var _ref2; - - _ref2 = type[_i2]; - var eventType = _ref2; - interact.off(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.off(prop, type[prop], listener); - } - - return interact; - } - - if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { - ___events_28["default"].remove(scope.document, type, listener, options); - } else { - var index; - - if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { - globalEvents[type].splice(index, 1); - } - } - - return interact; -} -/** - * Returns an object which exposes internal data - * @alias module:interact.debug - * - * @return {object} An object with properties that outline the current state - * and expose internal functions and variables - */ - - -interact.debug = debug; - -function debug() { - return scope; -} // expose the functions used to calculate multi-touch properties - - -interact.getPointerAverage = __utils_28.pointer.pointerAverage; -interact.getTouchBBox = __utils_28.pointer.touchBBox; -interact.getTouchDistance = __utils_28.pointer.touchDistance; -interact.getTouchAngle = __utils_28.pointer.touchAngle; -interact.getElementRect = __utils_28.dom.getElementRect; -interact.getElementClientRect = __utils_28.dom.getElementClientRect; -interact.matchesSelector = __utils_28.dom.matchesSelector; -interact.closest = __utils_28.dom.closest; -/** - * @alias module:interact.supportsTouch - * - * @return {boolean} Whether or not the browser supports touch input - */ - -interact.supportsTouch = supportsTouch; - -function supportsTouch() { - return ___browser_28["default"].supportsTouch; -} -/** - * @alias module:interact.supportsPointerEvent - * - * @return {boolean} Whether or not the browser supports PointerEvents - */ - - -interact.supportsPointerEvent = supportsPointerEvent; - -function supportsPointerEvent() { - return ___browser_28["default"].supportsPointerEvent; -} -/** - * Cancels all interactions (end events are not fired) - * - * @alias module:interact.stop - * - * @return {object} interact - */ - - -interact.stop = __stop_28; - -function __stop_28() { - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - interaction.stop(); - } - - return interact; -} -/** - * Returns or sets the distance the pointer must be moved before an action - * sequence occurs. This also affects tolerance for tap events. - * - * @alias module:interact.pointerMoveTolerance - * - * @param {number} [newValue] The movement from the start position must be greater than this value - * @return {interact | number} - */ - - -interact.pointerMoveTolerance = pointerMoveTolerance; - -function pointerMoveTolerance(newValue) { - if (__utils_28.is.number(newValue)) { - scope.interactions.pointerMoveTolerance = newValue; - return interact; - } - - return scope.interactions.pointerMoveTolerance; -} - -scope.interactables.signals.on('unset', function (_ref4) { - var interactable = _ref4.interactable; - scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref5; - - _ref5 = scope.interactions.list[_i4]; - var interaction = _ref5; - - if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { - interaction.stop(); - } - } -}); - -interact.addDocument = function (doc, options) { - return scope.addDocument(doc, options); -}; - -interact.removeDocument = function (doc) { - return scope.removeDocument(doc); -}; - -scope.interact = interact; -var ___default_28 = interact; -_$interact_28["default"] = ___default_28; - -var _$interact_27 = {}; -"use strict"; - -Object.defineProperty(_$interact_27, "__esModule", { - value: true -}); -_$interact_27.init = __init_27; -Object.defineProperty(_$interact_27, "autoScroll", { - enumerable: true, - get: function get() { - return _autoScroll["default"]; - } -}); -Object.defineProperty(_$interact_27, "interactablePreventDefault", { - enumerable: true, - get: function get() { - return _interactablePreventDefault["default"]; - } -}); -Object.defineProperty(_$interact_27, "inertia", { - enumerable: true, - get: function get() { - return _inertia["default"]; - } -}); -Object.defineProperty(_$interact_27, "modifiers", { - enumerable: true, - get: function get() { - return ___base_27["default"]; - } -}); -Object.defineProperty(_$interact_27, "reflow", { - enumerable: true, - get: function get() { - return _reflow["default"]; - } -}); -Object.defineProperty(_$interact_27, "interact", { - enumerable: true, - get: function get() { - return _interact["default"]; - } -}); -_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; - -var actions = ___interopRequireWildcard_27(_$actions_5); - -_$interact_27.actions = actions; - -var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); - -var autoStart = ___interopRequireWildcard_27(_$autoStart_12); - -var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); - -var _devTools = ___interopRequireDefault_27(_$devTools_25); - -var _inertia = ___interopRequireDefault_27(_$inertia_26); - -var modifiers = ___interopRequireWildcard_27(_$modifiers_31); - -var ___base_27 = ___interopRequireDefault_27(_$base_30); - -var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); - -_$interact_27.pointerEvents = __pointerEvents_27; - -var _reflow = ___interopRequireDefault_27(_$reflow_44); - -var _interact = ___interopRequireWildcard_27(_$interact_28); - -function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); - - _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents - - - _interact["default"].use(__pointerEvents_27); // inertia - - - _interact["default"].use(_inertia["default"]); // autoStart, hold - - - _interact["default"].use(autoStart); // drag and drop, resize, gesture - - - _interact["default"].use(actions); // snap, resize, etc. - - - _interact["default"].use(___base_27["default"]); // for backwrads compatibility - - - for (var type in modifiers) { - var _modifiers$type = modifiers[type], - _defaults = _modifiers$type._defaults, - _methods = _modifiers$type._methods; - _defaults._methods = _methods; - _interact.scope.defaults.perAction[type] = _defaults; - } // autoScroll - - - _interact["default"].use(_autoScroll["default"]); // reflow - - - _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef - - - if (false) {} - - return _interact["default"]; -} // eslint-disable-next-line no-undef - - -_interact["default"].version = "1.6.3"; -var ___default_27 = _interact["default"]; -_$interact_27["default"] = ___default_27; - -var _$types_45 = {}; -/// -"use strict"; - -var _$grid_64 = {}; -"use strict"; - -Object.defineProperty(_$grid_64, "__esModule", { - value: true -}); -_$grid_64["default"] = void 0; - -function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } - -function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function createGrid(grid) { - var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { - var _ref2 = ___slicedToArray_64(_ref, 2), - xField = _ref2[0], - yField = _ref2[1]; - - return xField in grid || yField in grid; - }); - return function (x, y) { - var range = grid.range, - _grid$limits = grid.limits, - limits = _grid$limits === void 0 ? { - left: -Infinity, - right: Infinity, - top: -Infinity, - bottom: Infinity - } : _grid$limits, - _grid$offset = grid.offset, - offset = _grid$offset === void 0 ? { - x: 0, - y: 0 - } : _grid$offset; - var result = { - range: range - }; - - for (var _i2 = 0; _i2 < coordFields.length; _i2++) { - var _ref3; - - _ref3 = coordFields[_i2]; - - var _ref4 = _ref3, - _ref5 = ___slicedToArray_64(_ref4, 2), - xField = _ref5[0], - yField = _ref5[1]; - - var gridx = Math.round((x - offset.x) / grid[xField]); - var gridy = Math.round((y - offset.y) / grid[yField]); - result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); - result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); - } - - return result; - }; -} - -var ___default_64 = createGrid; -_$grid_64["default"] = ___default_64; - -var _$snappers_65 = {}; -"use strict"; - -Object.defineProperty(_$snappers_65, "__esModule", { - value: true -}); -Object.defineProperty(_$snappers_65, "grid", { - enumerable: true, - get: function get() { - return _grid["default"]; - } -}); - -var _grid = ___interopRequireDefault_65(_$grid_64); - -function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _$index_29 = { exports: {} }; -"use strict"; - -Object.defineProperty(_$index_29.exports, "__esModule", { - value: true -}); -_$index_29.exports.init = __init_29; -_$index_29.exports["default"] = void 0; - -var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); - -var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); - -_$types_45; - -var ___extend_29 = ___interopRequireDefault_29(_$extend_53); - -var snappers = ___interopRequireWildcard_29(_$snappers_65); - -function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { - __init_29(window); -} - -function __init_29(win) { - (0, ___interact_29.init)(win); - return ___interact_29["default"].use({ - id: 'interactjs', - install: function install() { - ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); - ___interact_29["default"].snappers = snappers; - ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; - } - }); -} - -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 - -if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { - _$index_29.exports = ___interact_29["default"]; -} - -_$index_29 = _$index_29.exports -return _$index_29; - -}); - - -//# sourceMappingURL=interact.js.map - - /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.common.js.map b/dist/vue-grid-layout.common.js.map index 49fbff3e..e9a0e75b 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?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":";;QAAA;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;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 +{"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/interactjs/dist/interact.min.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?a8b6","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?d677","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/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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A;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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;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;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;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;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;AAC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AO,CAAC,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;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;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,0CAA0C,OAAO,oDAAoD,cAAc,eAAe,oCAAoC,iGAAiG,cAAc,oEAAoE,oFAAoF,QAAQ,YAAY,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,eAAe,2BAA2B,IAAI,mBAAmB,8CAA8C,qBAAqB,6BAA6B,oCAAoC,yBAAyB,kB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A;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,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;AACA;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;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;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;;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;AACA;;;;;;;;ACppBA;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;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,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mB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iDA;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;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A,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;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;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;;;AClBwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;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 \n\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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=c806aad8&\"\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\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\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=5a186489&\"\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\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 89d97388..639ef276 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -347,10 +347,6 @@ module.exports = function(options) { * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback. */ function addListener(element, listener) { - if(!getObject(element)) { - throw new Error("Element is not detectable by this strategy."); - } - function listenerProxy() { listener(element); } @@ -363,10 +359,21 @@ module.exports = function(options) { element.attachEvent("onresize", listenerProxy); } else { var object = getObject(element); + + if(!object) { + throw new Error("Element is not detectable by this strategy."); + } + object.contentDocument.defaultView.addEventListener("resize", listenerProxy); } } + function buildCssTextString(rules) { + var seperator = options.important ? " !important; " : "; "; + + return (rules.join(seperator) + seperator).trim(); + } + /** * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes. * @private @@ -385,7 +392,7 @@ module.exports = function(options) { var debug = options.debug; function injectObject(element, callback) { - var OBJECT_STYLE = "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;"; + var OBJECT_STYLE = buildCssTextString(["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"]); //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element. @@ -406,7 +413,7 @@ module.exports = function(options) { function mutateDom() { function alterPositionStyles() { if(style.position === "static") { - element.style.position = "relative"; + element.style.setProperty("position", "relative", options.important ? "important" : ""); var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -417,7 +424,7 @@ module.exports = function(options) { if(value !== "auto" && getNumericalValue(value) !== "0") { reporter.warn("An element that is positioned static has style." + property + "=" + value + " which is ignored due to the static positioning. The element will need to be positioned relative, so the style." + property + " will be set to 0. Element: ", element); - element.style[property] = 0; + element.style.setProperty(property, "0", options.important ? "important" : ""); } }; @@ -443,7 +450,12 @@ module.exports = function(options) { //So if it is not present, poll it with an timeout until it is present. //TODO: Could maybe be handled better with object.onreadystatechange or similar. if(!element.contentDocument) { - setTimeout(function checkForObjectDocument() { + var state = getState(element); + if (state.checkForObjectDocumentTimeoutId) { + window.clearTimeout(state.checkForObjectDocumentTimeoutId); + } + state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() { + state.checkForObjectDocumentTimeoutId = 0; getDocument(element, callback); }, 100); @@ -485,6 +497,11 @@ module.exports = function(options) { object.data = "about:blank"; } + if (!getState(element)) { + // The element has been uninstalled before the actual loading happened. + return; + } + element.appendChild(object); getState(element).object = object; @@ -522,11 +539,26 @@ module.exports = function(options) { } function uninstall(element) { - if(browserDetector.isIE(8)) { - element.detachEvent("onresize", getState(element).object.proxy); + if (!getState(element)) { + return; + } + + var object = getObject(element); + + if (!object) { + return; + } + + if (browserDetector.isIE(8)) { + element.detachEvent("onresize", object.proxy); } else { - element.removeChild(getObject(element)); + element.removeChild(object); } + + if (getState(element).checkForObjectDocumentTimeoutId) { + window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId); + } + delete getState(element).object; } @@ -1229,8 +1261,12 @@ __webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeC /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +// EXPORTS +__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; }); + // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something @@ -1261,7 +1297,6 @@ function listToStyles (parentId, list) { } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra @@ -1566,6 +1601,16 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "5014": +/***/ (function(module, exports, __webpack_require__) { + +/* interact.js 1.9.20 | https://raw.github.com/taye/interact.js/master/LICENSE */ +!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=r,e.getWindow=o,e.default=void 0;var n={realWindow:void 0,window:void 0,getWindow:o,init:r};function r(t){n.realWindow=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),n.window=t}function o(e){return(0,t.default)(e)?e:(e.ownerDocument||e).defaultView||n.window}"undefined"==typeof window?(n.window=void 0,n.realWindow=void 0):r(window),n.init=r;var i=n;e.default=i;var a={};function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var l=function(t){return!!t&&"object"===s(t)},u=function(t){return"function"==typeof t},c={window:function(n){return n===e.default.window||(0,t.default)(n)},docFrag:function(t){return l(t)&&11===t.nodeType},object:l,func:u,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==s(t))return!1;var n=e.default.getWindow(t)||e.default.window;return/object|function/.test(s(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return l(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return l(t)&&void 0!==t.length&&u(t.splice)}};a.default=c;var f={};function d(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function p(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var v={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=v.draggable,e.map.drag=v,e.methodDict.drag="draggable",r.actions.drag=v.defaults},listeners:{"interactions:before-action-move":d,"interactions:action-resume":d,"interactions:action-move":p,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return a.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):a.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:d,move:p,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},h=v;f.default=h;var g={};Object.defineProperty(g,"__esModule",{value:!0}),g.default=void 0;var y={init:function(t){var e=t;y.document=e.document,y.DocumentFragment=e.DocumentFragment||m,y.SVGElement=e.SVGElement||m,y.SVGSVGElement=e.SVGSVGElement||m,y.SVGElementInstance=e.SVGElementInstance||m,y.Element=e.Element||m,y.HTMLElement=e.HTMLElement||y.Element,y.Event=e.Event,y.Touch=e.Touch||m,y.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function m(){}var b=y;g.default=b;var x={};Object.defineProperty(x,"__esModule",{value:!0}),x.default=void 0;var w={init:function(t){var n=g.default.Element,r=e.default.window.navigator;w.supportsTouch="ontouchstart"in t||a.default.func(t.DocumentTouch)&&g.default.document instanceof t.DocumentTouch,w.supportsPointerEvent=!1!==r.pointerEnabled&&!!g.default.PointerEvent,w.isIOS=/iP(hone|od|ad)/.test(r.platform),w.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),w.isIe9=/MSIE 9/.test(r.userAgent),w.isOperaMobile="Opera"===r.appName&&w.supportsTouch&&/Presto/.test(r.userAgent),w.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",w.pEventTypes=w.supportsPointerEvent?g.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,w.wheelEvent="onmousewheel"in g.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var _=w;x.default=_;var S={};function P(t){var e=t.parentNode;if(a.default.docFrag(e)){for(;(e=e.host)&&a.default.docFrag(e););return e}return e}function O(t,n){return e.default.window!==e.default.realWindow&&(n=n.replace(/\/deep\//g," ")),t[x.default.prefixedMatchesSelector](n)}Object.defineProperty(S,"__esModule",{value:!0}),S.nodeContains=function(t,e){for(;e;){if(e===t)return!0;e=e.parentNode}return!1},S.closest=function(t,e){for(;a.default.element(t);){if(O(t,e))return t;t=P(t)}return null},S.parentNode=P,S.matchesSelector=O,S.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,h,y,m;return n},S.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},S.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},S.getScrollXY=M,S.getElementClientRect=j,S.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){var e=[];for(;t;)e.push(t),t=P(t);return e},S.trySelector=function(t){if(!a.default.string(t))return!1;return g.default.document.querySelector(t),!0};var E=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var I={};function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?$(e):e[0],o={};V(r,o),t.page.x=o.x,t.page.y=o.y,q(r,o),t.client.x=o.x,t.client.y=o.y,t.timeStamp=n},L.getTouchPair=N,L.pointerAverage=$,L.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=N(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},L.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,F.default)(i,a)},L.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},L.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},L.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},L.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},L.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(L,"pointerExtend",{enumerable:!0,get:function(){return X.default}});var G={};function H(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&a.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,i,r,o));return l}(this,t,e,n,r,o,i)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ft(e,n.element),o.events=pt(n,0,r),o.events.activate&&(ct(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":ht,"interactions:action-end":ht,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:vt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},yt=gt;ut.default=yt;var mt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),i="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],i)n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=1,n.ds=0,n.angle=L.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=L.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(mt,"__esModule",{value:!0}),mt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;mt.default=wt;var _t={};function St(t,e,n,r,o,i,s){if(!e)return!1;if(!0===e){var l=a.default.number(i.width)?i.width:i.right-i.left,u=a.default.number(i.height)?i.height:i.bottom-i.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?i.left:i.right)+s;if("top"===t)return n.y<(u>=0?i.top:i.bottom)+s;if("right"===t)return n.x>(l>=0?i.right:i.left)-s;if("bottom"===t)return n.y>(u>=0?i.bottom:i.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:S.matchesUpTo(r,e,o))}function Pt(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(a.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(a.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",o.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,k.default)({},o),corrected:(0,k.default)({},o),previous:(0,k.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Pt(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,k.default)(f,u),i){if((0,k.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),Pt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,i=t.buttons;if(o){var s=(0,k.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(i&l.mouseButtons))){if(a.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=St(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Ot.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-Ot.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Ot.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:Rt.x*u,y:Rt.y*u};if(c.x||c.y){var f=Xt(i);a.default.window(i)?i.scrollBy(c.x,c.y):i&&(i.scrollLeft+=c.x,i.scrollTop+=c.y);var d=Xt(i),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:i})}Rt.prevTime=s}Rt.isScrolling&&(kt.default.cancel(Rt.i),Rt.i=kt.default.request(Rt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Rt.check(e.interactable,e.prepared.name))if(e.simulation)Rt.x=Rt.y=0;else{var r,o,i,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ft(f.container,l,u);if(a.default.window(d))s=n.clientXd.innerWidth-Rt.margin,i=n.clientY>d.innerHeight-Rt.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-Rt.margin,i=n.clientY>p.bottom-Rt.margin}Rt.x=o?1:s?-1:0,Rt.y=i?1:r?-1:0,Rt.isScrolling||(Rt.margin=f.margin,Rt.speed=f.speed,Rt.start(e))}}};function Ft(t,n,r){return(a.default.string(t)?(0,I.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Xt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Rt,Rt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Rt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Rt.stop(),Rt.interaction&&(Rt.interaction=null)},"interactions:stop":Rt.stop,"interactions:action-move":function(t){return Rt.onInteractionMove(t)}}};Ct.default=Yt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Lt={};function Bt(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ut(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.default=void 0;var Vt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ut,e.prototype.styleCursor=Bt}};Lt.default=Vt;var qt={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Kt(e,n,t,o)?t:null}function $t(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Zt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var s=n.options[o.name].cursorChecker;i=a.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Jt(t.element,i||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Lt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Zt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Kt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Ht(n,Gt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ht(n,Gt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Kt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Zt,withinInteractionLimit:Kt,validateAction:Nt};qt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,i=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(i),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;oe(e)>0&&(e.prepared.name=null)}},getHoldDuration:oe};re.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(qt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var le={};Object.defineProperty(le,"__esModule",{value:!0}),le.default=void 0;le.default={};var ue={};function ce(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=ce,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var i=(0,e.getWindow)(r.target).document,s=n.getDocOptions(i);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Xe(e.prototype,n),r&&Xe(e,r),i}(G.BaseEvent);Re.InteractEvent=Ve,Object.defineProperties(Ve.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var qe={};Object.defineProperty(qe,"__esModule",{value:!0}),qe.PointerInfo=void 0;qe.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,$e,Ge={};function He(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||L.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&L.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||L.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=L.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=L.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new qe.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),L.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),L.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,L.pointerExtend(this.downPointer,t),this.interacting()||(L.copyCoords(this.coords.start,this.coords.cur),L.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Re.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(I.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Je;var Qe=Je;Ge.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),I.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,Ge._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var ln={};function un(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=fn(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,i=r.context,s=r.listeners;o===this.target&&i===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=Sn;var Pn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=jn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function i(t,n,r,i){var a=Dn(i),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=Dn(i),l=J.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Fn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Xn=Rn;Cn.default=Xn;var Yn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Kn,methodNames:Hn};Yn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function or(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var o=ar(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ir(this,n)}}function ir(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,k.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Ir(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function Dr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Er.aspectRatio=kr;var Ar=(0,De.makeModifier)(kr,"aspectRatio");Er.default=Ar;var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.default=void 0;var Cr=function(){};Cr._defaults={};var Rr=Cr;zr.default=Rr;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Object.defineProperty(Fr,"default",{enumerable:!0,get:function(){return zr.default}});var Xr={};function Yr(t,e,n){return a.default.func(t)?I.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):I.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.getRestrictionRect=Yr,Xr.restrict=Xr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Yr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Yr(o.restriction,n,e);if(a){var s=I.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Xr.restrict=Wr;var Lr=(0,De.makeModifier)(Wr,"restrict");Xr.default=Lr;var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.restrictEdges=Br.default=void 0;var Ur={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Vr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function qr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n div::-webkit-scrollbar { display: none; }\n\n"; - style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; + style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -3360,7 +3416,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; + container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -3384,7 +3440,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.position = "relative"; + element.style.setProperty("position", "relative",options.important ? "important" : ""); var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -3414,7 +3470,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; + return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; } debug("Injecting elements"); @@ -3442,12 +3498,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; - var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); - var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; - var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; - var expandChildStyle = "position: absolute; left: 0; top: 0;"; - var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; + var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); + var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); + var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); + var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); + var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); + var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -3498,14 +3554,17 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.width = expandWidth + "px"; - expandChild.style.height = expandHeight + "px"; + expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); + expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; + // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. + var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; + debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -3516,6 +3575,10 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { + if (!sizeChanged) { + return; + } + if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3539,6 +3602,9 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { + // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then + // been restored to the original size, which will have changed the scrollbar positions. + if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3552,7 +3618,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (done) { + if (sizeChanged && done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -3582,7 +3648,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify the if the current size is the start size, and this is the first notification. + // Don't notify if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -3627,15 +3693,7 @@ module.exports = function(options) { return; } - var width = element.offsetWidth; - var height = element.offsetHeight; - - if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { - debug("Element size changed."); - updateDetectorElements(notifyListenersIfNeeded); - } else { - debug("Element size has not changed (" + width + "x" + height + ")."); - } + updateDetectorElements(notifyListenersIfNeeded); } debug("registerListenersAndPositionElements invoked."); @@ -3725,7 +3783,8 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall + uninstall: uninstall, + initDocument: initDocument }; }; @@ -4093,11 +4152,13 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); + var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler + idHandler: idHandler, + important: importantCssRules }; if(desiredStrategy === "scroll") { @@ -4212,7 +4273,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -4288,11 +4349,16 @@ module.exports = function(options) { }); } + function initDocument(targetDocument) { + detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); + } + return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall + uninstall: uninstall, + initDocument: initDocument }; }; @@ -4399,8 +4465,13 @@ module.exports = document && document.documentElement; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); +// EXPORTS +__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return /* reexport */ GridLayout; }); +__webpack_require__.d(__webpack_exports__, "GridItem", function() { return /* reexport */ GridItem; }); + // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -4434,12 +4505,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":"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& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-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=c806aad8& 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=e827a502& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=c806aad8& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -4458,7 +4529,6 @@ var es6_array_sort = __webpack_require__("55dd"); - // @flow /*:: export type LayoutItemRequired = {w: number, h: number, x: number, y: number, i: string};*/ @@ -4955,6 +5025,10 @@ function sortLayoutItemsByRowCol(layout /*: Layout*/ { return [].concat(layout).sort(function (a, b) { + if (a.y === b.y && a.x === b.x) { + return 0; + } + if (a.y > b.y || a.y === b.y && a.x > b.x) { return 1; } @@ -5370,7 +5444,7 @@ function removeWindowEventListener(event // var eventBus = require('./eventBus'); -var interact = __webpack_require__("fb3a"); +var interact = __webpack_require__("5014"); /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -6233,7 +6307,12 @@ function normalizeComponent ( options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode - ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } : injectStyles } @@ -6242,7 +6321,7 @@ function normalizeComponent ( // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook - // register for functioal component in vue file + // register for functional component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) @@ -6284,12 +6363,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":"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: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-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=5a186489& +var GridLayoutvue_type_template_id_5a186489_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_5a186489_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=bff27f1c& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -6321,7 +6400,6 @@ function _defineProperty(obj, key, value) { - // @flow @@ -6497,10 +6575,9 @@ function sortBreakpoints(breakpoints - function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // @@ -6853,7 +6930,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var hasCollisions; if (this.preventCollision) { - var collisions = getAllCollisions(this.layout, _objectSpread({}, l, { + var collisions = getAllCollisions(this.layout, _objectSpread(_objectSpread({}, l), {}, { w: w, h: h })).filter(function (layoutItem) { @@ -6958,8 +7035,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_bff27f1c_render, - GridLayoutvue_type_template_id_bff27f1c_staticRenderFns, + GridLayoutvue_type_template_id_5a186489_render, + GridLayoutvue_type_template_id_5a186489_staticRenderFns, false, null, null, @@ -6989,10041 +7066,12 @@ Object.keys(VueGridLayout).forEach(function (name) { /* harmony default export */ var components = (VueGridLayout); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js -/* concated harmony reexport GridLayout */__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return GridLayout; }); -/* concated harmony reexport GridItem */__webpack_require__.d(__webpack_exports__, "GridItem", function() { return GridItem; }); /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); -/***/ }), - -/***/ "fb3a": -/***/ (function(module, exports, __webpack_require__) { - -/** - * interact.js 1.6.3 - * - * Copyright (c) 2012-2019 Taye Adeyemi - * Released under the MIT License. - * https://raw.github.com/taye/interact.js/master/LICENSE - */ -(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; -var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; -var _$scope_24 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/* common-shake removed: exports.createScope = */ void createScope; -/* common-shake removed: exports.initScope = */ void initScope; -exports.Scope = exports.ActionName = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); - -var _Eventable = _interopRequireDefault(_$Eventable_14); - -var _Interactable = _interopRequireDefault(_$Interactable_16); - -var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); - -var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); - -var _interactions = _interopRequireDefault(_$interactions_23({})); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _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); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var win = utils.win, - browser = utils.browser, - raf = utils.raf, - Signals = utils.Signals, - events = utils.events; -var ActionName; -exports.ActionName = ActionName; - -(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); - -function createScope() { - return new Scope(); -} - -var Scope = -/*#__PURE__*/ -function () { - function Scope() { - var _this = this; - - _classCallCheck(this, Scope); - - this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); - this.signals = new Signals(); - this.browser = browser; - this.events = events; - this.utils = utils; - this.defaults = utils.clone(_defaultOptions["default"]); - this.Eventable = _Eventable["default"]; - this.actions = { - names: [], - methodDict: {}, - eventTypes: [] - }; - this.InteractEvent = _InteractEvent["default"]; - this.interactables = new _InteractableSet["default"](this); // all documents being listened to - - this.documents = []; - this._plugins = []; - this._pluginMap = {}; - - this.onWindowUnload = function (event) { - return _this.removeDocument(event.target); - }; - - var scope = this; - - this.Interactable = - /*#__PURE__*/ - function (_InteractableBase) { - _inherits(Interactable, _InteractableBase); - - function Interactable() { - _classCallCheck(this, Interactable); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); - } - - _createClass(Interactable, [{ - key: "set", - value: function set(options) { - _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); - - scope.interactables.signals.fire('set', { - options: options, - interactable: this - }); - return this; - } - }, { - key: "unset", - value: function unset() { - _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); - - for (var i = scope.interactions.list.length - 1; i >= 0; i--) { - var interaction = scope.interactions.list[i]; - - if (interaction.interactable === this) { - interaction.stop(); - scope.interactions.signals.fire('destroy', { - interaction: interaction - }); - interaction.destroy(); - - if (scope.interactions.list.length > 2) { - scope.interactions.list.splice(i, 1); - } - } - } - - scope.interactables.signals.fire('unset', { - interactable: this - }); - } - }, { - key: "_defaults", - get: function get() { - return scope.defaults; - } - }]); - - return Interactable; - }(_Interactable["default"]); - } - - _createClass(Scope, [{ - key: "init", - value: function init(window) { - return initScope(this, window); - } - }, { - key: "pluginIsInstalled", - value: function pluginIsInstalled(plugin) { - return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; - } - }, { - key: "usePlugin", - value: function usePlugin(plugin, options) { - if (this.pluginIsInstalled(plugin)) { - return this; - } - - if (plugin.id) { - this._pluginMap[plugin.id] = plugin; - } - - plugin.install(this, options); - - this._plugins.push(plugin); - - return this; - } - }, { - key: "addDocument", - value: function addDocument(doc, options) { - // do nothing if document is already known - if (this.getDocIndex(doc) !== -1) { - return false; - } - - var window = win.getWindow(doc); - options = options ? utils.extend({}, options) : {}; - this.documents.push({ - doc: doc, - options: options - }); - events.documents.push(doc); // don't add an unload event for the main document - // so that the page may be cached in browser history - - if (doc !== this.document) { - events.add(window, 'unload', this.onWindowUnload); - } - - this.signals.fire('add-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "removeDocument", - value: function removeDocument(doc) { - var index = this.getDocIndex(doc); - var window = win.getWindow(doc); - var options = this.documents[index].options; - events.remove(window, 'unload', this.onWindowUnload); - this.documents.splice(index, 1); - events.documents.splice(index, 1); - this.signals.fire('remove-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "getDocIndex", - value: function getDocIndex(doc) { - for (var i = 0; i < this.documents.length; i++) { - if (this.documents[i].doc === doc) { - return i; - } - } - - return -1; - } - }, { - key: "getDocOptions", - value: function getDocOptions(doc) { - var docIndex = this.getDocIndex(doc); - return docIndex === -1 ? null : this.documents[docIndex].options; - } - }, { - key: "now", - value: function now() { - return (this.window.Date || Date).now(); - } - }]); - - return Scope; -}(); - -exports.Scope = Scope; - -function initScope(scope, window) { - win.init(window); - - _domObjects["default"].init(window); - - browser.init(window); - raf.init(window); - events.init(window); - scope.usePlugin(_interactions["default"]); - scope.document = window.document; - scope.window = window; - return scope; -} - -}); -var _$interactions_23 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _browser = _interopRequireDefault(_$browser_48); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var _events = _interopRequireDefault(_$events_52); - -var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); - -var _Signals = _interopRequireDefault(_$Signals_46); - -var _Interaction = _interopRequireDefault(_$Interaction_18({})); - -var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; - -function install(scope) { - var signals = new _Signals["default"](); - var listeners = {}; - - for (var _i = 0; _i < methodNames.length; _i++) { - var _ref; - - _ref = methodNames[_i]; - var method = _ref; - listeners[method] = doOnInteractions(method, scope); - } - - var pEventTypes = _browser["default"].pEventTypes; - var docEvents; - - if (_domObjects["default"].PointerEvent) { - docEvents = [{ - type: pEventTypes.down, - listener: releasePointersOnRemovedEls - }, { - type: pEventTypes.down, - listener: listeners.pointerDown - }, { - type: pEventTypes.move, - listener: listeners.pointerMove - }, { - type: pEventTypes.up, - listener: listeners.pointerUp - }, { - type: pEventTypes.cancel, - listener: listeners.pointerUp - }]; - } else { - docEvents = [{ - type: 'mousedown', - listener: listeners.pointerDown - }, { - type: 'mousemove', - listener: listeners.pointerMove - }, { - type: 'mouseup', - listener: listeners.pointerUp - }, { - type: 'touchstart', - listener: releasePointersOnRemovedEls - }, { - type: 'touchstart', - listener: listeners.pointerDown - }, { - type: 'touchmove', - listener: listeners.pointerMove - }, { - type: 'touchend', - listener: listeners.pointerUp - }, { - type: 'touchcancel', - listener: listeners.pointerUp - }]; - } - - docEvents.push({ - type: 'blur', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - interaction.documentBlur(event); - } - } - }); - scope.signals.on('add-document', onDocSignal); - scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events - - scope.prevTouchTime = 0; - - scope.Interaction = - /*#__PURE__*/ - function (_InteractionBase) { - _inherits(Interaction, _InteractionBase); - - function Interaction() { - _classCallCheck(this, Interaction); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); - } - - _createClass(Interaction, [{ - key: "_now", - value: function _now() { - return scope.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return scope.interactions.pointerMoveTolerance; - }, - set: function set(value) { - scope.interactions.pointerMoveTolerance = value; - } - }]); - - return Interaction; - }(_Interaction["default"]); - - scope.interactions = { - signals: signals, - // all active and idle interactions - list: [], - "new": function _new(options) { - options.signals = signals; - var interaction = new scope.Interaction(options); - scope.interactions.list.push(interaction); - return interaction; - }, - listeners: listeners, - docEvents: docEvents, - pointerMoveTolerance: 1 - }; - - function releasePointersOnRemovedEls() { - // for all inactive touch interactions with pointers down - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - - if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { - continue; - } // if a pointer is down on an element that is no longer in the DOM tree - - - var _loop = function _loop() { - _ref4 = interaction.pointers[_i4]; - var pointer = _ref4; - - if (!scope.documents.some(function (_ref5) { - var doc = _ref5.doc; - return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); - })) { - // remove the pointer from the interaction - interaction.removePointer(pointer.pointer, pointer.event); - } - }; - - for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { - var _ref4; - - _loop(); - } - } - } -} - -function doOnInteractions(method, scope) { - return function (event) { - var interactions = scope.interactions.list; - - var pointerType = _pointerUtils["default"].getPointerType(event); - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), - eventTarget = _pointerUtils$getEven2[0], - curEventTarget = _pointerUtils$getEven2[1]; - - var matches = []; // [ [pointer, interaction], ...] - - if (/^touch/.test(event.type)) { - scope.prevTouchTime = scope.now(); - - for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { - var _ref6; - - _ref6 = event.changedTouches[_i5]; - var changedTouch = _ref6; - var pointer = changedTouch; - - var pointerId = _pointerUtils["default"].getPointerId(pointer); - - var searchDetails = { - pointer: pointer, - pointerId: pointerId, - pointerType: pointerType, - eventType: event.type, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - scope: scope - }; - var interaction = getInteraction(searchDetails); - matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); - } - } else { - var invalidPointer = false; - - if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { - // ignore mouse events while touch interactions are active - for (var i = 0; i < interactions.length && !invalidPointer; i++) { - invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; - } // try to ignore mouse events that are simulated by the browser - // after a touch event - - - invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated - event.timeStamp === 0; - } - - if (!invalidPointer) { - var _searchDetails = { - pointer: event, - pointerId: _pointerUtils["default"].getPointerId(event), - pointerType: pointerType, - eventType: event.type, - curEventTarget: curEventTarget, - eventTarget: eventTarget, - scope: scope - }; - - var _interaction = getInteraction(_searchDetails); - - matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); - } - } // eslint-disable-next-line no-shadow - - - for (var _i6 = 0; _i6 < matches.length; _i6++) { - var _matches$_i = _slicedToArray(matches[_i6], 4), - _pointer = _matches$_i[0], - _eventTarget = _matches$_i[1], - _curEventTarget = _matches$_i[2], - _interaction2 = _matches$_i[3]; - - _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); - } - }; -} - -function getInteraction(searchDetails) { - var pointerType = searchDetails.pointerType, - scope = searchDetails.scope; - - var foundInteraction = _interactionFinder["default"].search(searchDetails); - - var signalArg = { - interaction: foundInteraction, - searchDetails: searchDetails - }; - scope.interactions.signals.fire('find', signalArg); - return signalArg.interaction || scope.interactions["new"]({ - pointerType: pointerType - }); -} - -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; - - if (scope.browser.isIOS && !options.events) { - options.events = { - passive: false - }; - } // delegate event listener - - - for (var eventType in _events["default"].delegatedEvents) { - eventMethod(doc, eventType, _events["default"].delegateListener); - eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); - } - - var eventOptions = options && options.events; - - for (var _i7 = 0; _i7 < docEvents.length; _i7++) { - var _ref8; - - _ref8 = docEvents[_i7]; - var _ref9 = _ref8, - type = _ref9.type, - listener = _ref9.listener; - eventMethod(doc, type, listener, eventOptions); - } -} - -var _default = { - id: 'core/interactions', - install: install, - onDocSignal: onDocSignal, - doOnInteractions: doOnInteractions, - methodNames: methodNames -}; -exports["default"] = _default; - -}); -var _$Interaction_18 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "PointerInfo", { - enumerable: true, - get: function get() { - return _PointerInfo["default"]; - } -}); -exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); - -var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); - -var _scope = _$scope_24({}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var _ProxyValues; - -exports._ProxyValues = _ProxyValues; - -(function (_ProxyValues) { - _ProxyValues["interactable"] = ""; - _ProxyValues["element"] = ""; - _ProxyValues["prepared"] = ""; - _ProxyValues["pointerIsDown"] = ""; - _ProxyValues["pointerWasMoved"] = ""; - _ProxyValues["_proxy"] = ""; -})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); - -var _ProxyMethods; - -exports._ProxyMethods = _ProxyMethods; - -(function (_ProxyMethods) { - _ProxyMethods["start"] = ""; - _ProxyMethods["move"] = ""; - _ProxyMethods["end"] = ""; - _ProxyMethods["stop"] = ""; - _ProxyMethods["interacting"] = ""; -})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); - -var Interaction = -/*#__PURE__*/ -function () { - /** */ - function Interaction(_ref) { - var _this = this; - - var pointerType = _ref.pointerType, - signals = _ref.signals; - - _classCallCheck(this, Interaction); - - // current interactable being interacted with - this.interactable = null; // the target element of the interactable - - this.element = null; // action that's ready to be fired on next move event - - this.prepared = { - name: null, - axis: null, - edges: null - }; // keep track of added pointers - - this.pointers = []; // pointerdown/mousedown/touchstart event - - this.downEvent = null; - this.downPointer = {}; - this._latestPointer = { - pointer: null, - event: null, - eventTarget: null - }; // previous action event - - this.prevEvent = null; - this.pointerIsDown = false; - this.pointerWasMoved = false; - this._interacting = false; - this._ending = false; - this._stopped = true; - this._proxy = null; - this.simulation = null; - /** - * @alias Interaction.prototype.move - */ - - this.doMove = utils.warnOnce(function (signalArg) { - this.move(signalArg); - }, 'The interaction.doMove() method has been renamed to interaction.move()'); - this.coords = { - // Starting InteractEvent pointer coordinates - start: utils.pointer.newCoords(), - // Previous native pointer move event coordinates - prev: utils.pointer.newCoords(), - // current native pointer move event coordinates - cur: utils.pointer.newCoords(), - // Change in coordinates and time of the pointer - delta: utils.pointer.newCoords(), - // pointer velocity - velocity: utils.pointer.newCoords() - }; - this._signals = signals; - this.pointerType = pointerType; - var that = this; - this._proxy = {}; - - var _loop = function _loop(key) { - Object.defineProperty(_this._proxy, key, { - get: function get() { - return that[key]; - } - }); - }; - - for (var key in _ProxyValues) { - _loop(key); - } - - var _loop2 = function _loop2(_key) { - Object.defineProperty(_this._proxy, _key, { - value: function value() { - return that[_key].apply(that, arguments); - } - }); - }; - - for (var _key in _ProxyMethods) { - _loop2(_key); - } - - this._signals.fire('new', { - interaction: this - }); - } - - _createClass(Interaction, [{ - key: "pointerDown", - value: function pointerDown(pointer, event, eventTarget) { - var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); - - this._signals.fire('down', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - pointerIndex: pointerIndex, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable({ - * // disable the default drag start by down->move - * manualStart: true - * }) - * // start dragging after the user holds the pointer down - * .on('hold', function (event) { - * var interaction = event.interaction - * - * if (!interaction.interacting()) { - * interaction.start({ name: 'drag' }, - * event.interactable, - * event.currentTarget) - * } - * }) - * ``` - * - * Start an action with the given Interactable and Element as tartgets. The - * action must be enabled for the target Interactable and an appropriate - * number of pointers must be held down - 1 for drag/resize, 2 for gesture. - * - * Use it with `interactable.able({ manualStart: false })` to always - * [start actions manually](https://github.com/taye/interact.js/issues/114) - * - * @param {object} action The action to be performed - drag, resize, etc. - * @param {Interactable} target The Interactable to target - * @param {Element} element The DOM Element to target - * @return {object} interact - */ - - }, { - key: "start", - value: function start(action, interactable, element) { - if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { - return false; - } - - utils.copyAction(this.prepared, action); - this.interactable = interactable; - this.element = element; - this.rect = interactable.getRect(element); - this.edges = this.prepared.edges; - this._stopped = false; - this._interacting = this._doPhase({ - interaction: this, - event: this.downEvent, - phase: _InteractEvent.EventPhase.Start - }) && !this._stopped; - return this._interacting; - } - }, { - key: "pointerMove", - value: function pointerMove(pointer, event, eventTarget) { - if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { - this.updatePointer(pointer, event, eventTarget, false); - utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - } - - 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; - var dx; - var dy; // register movement greater than pointerMoveTolerance - - if (this.pointerIsDown && !this.pointerWasMoved) { - dx = this.coords.cur.client.x - this.coords.start.client.x; - dy = this.coords.cur.client.y - this.coords.start.client.y; - this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; - } - - var signalArg = { - pointer: pointer, - pointerIndex: this.getPointerIndex(pointer), - event: event, - eventTarget: eventTarget, - dx: dx, - dy: dy, - duplicate: duplicateMove, - interaction: this - }; - - if (!duplicateMove) { - // set pointer coordinate, time changes and velocity - utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); - utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); - } - - this._signals.fire('move', signalArg); - - if (!duplicateMove) { - // if interacting, fire an 'action-move' signal etc - if (this.interacting()) { - this.move(signalArg); - } - - if (this.pointerWasMoved) { - utils.pointer.copyCoords(this.coords.prev, this.coords.cur); - } - } - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('dragmove', function (event) { - * if (someCondition) { - * // change the snap settings - * event.interactable.draggable({ snap: { targets: [] }}) - * // fire another move event with re-calculated snap - * event.interaction.move() - * } - * }) - * ``` - * - * Force a move of the current action at the same coordinates. Useful if - * snap/restrict has been changed and you want a movement with the new - * settings. - */ - - }, { - key: "move", - value: function move(signalArg) { - signalArg = utils.extend({ - pointer: this._latestPointer.pointer, - event: this._latestPointer.event, - eventTarget: this._latestPointer.eventTarget, - interaction: this - }, signalArg || {}); - signalArg.phase = _InteractEvent.EventPhase.Move; - - this._doPhase(signalArg); - } // End interact move events and stop auto-scroll unless simulation is running - - }, { - key: "pointerUp", - value: function pointerUp(pointer, event, eventTarget, curEventTarget) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - pointerIndex = this.updatePointer(pointer, event, eventTarget, false); - } - - this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { - pointer: pointer, - pointerIndex: pointerIndex, - event: event, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - interaction: this - }); - - if (!this.simulation) { - this.end(event); - } - - this.pointerIsDown = false; - this.removePointer(pointer, event); - } - }, { - key: "documentBlur", - value: function documentBlur(event) { - this.end(event); - - this._signals.fire('blur', { - event: event, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('move', function (event) { - * if (event.pageX > 1000) { - * // end the current action - * event.interaction.end() - * // stop all further listeners from being called - * event.stopImmediatePropagation() - * } - * }) - * ``` - * - * @param {PointerEvent} [event] - */ - - }, { - key: "end", - value: function end(event) { - this._ending = true; - event = event || this._latestPointer.event; - var endPhaseResult; - - if (this.interacting()) { - endPhaseResult = this._doPhase({ - event: event, - interaction: this, - phase: _InteractEvent.EventPhase.End - }); - } - - this._ending = false; - - if (endPhaseResult === true) { - this.stop(); - } - } - }, { - key: "currentAction", - value: function currentAction() { - return this._interacting ? this.prepared.name : null; - } - }, { - key: "interacting", - value: function interacting() { - return this._interacting; - } - /** */ - - }, { - key: "stop", - value: function stop() { - this._signals.fire('stop', { - interaction: this - }); - - this.interactable = this.element = null; - this._interacting = false; - this._stopped = true; - this.prepared.name = this.prevEvent = null; - } - }, { - key: "getPointerIndex", - value: function getPointerIndex(pointer) { - var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer - - return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { - return curPointer.id === pointerId; - }); - } - }, { - key: "getPointerInfo", - value: function getPointerInfo(pointer) { - return this.pointers[this.getPointerIndex(pointer)]; - } - }, { - key: "updatePointer", - value: function updatePointer(pointer, event, eventTarget, down) { - var id = utils.pointer.getPointerId(pointer); - var pointerIndex = this.getPointerIndex(pointer); - var pointerInfo = this.pointers[pointerIndex]; - down = down === false ? false : down || /(down|start)$/i.test(event.type); - - if (!pointerInfo) { - pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); - pointerIndex = this.pointers.length; - this.pointers.push(pointerInfo); - } else { - pointerInfo.pointer = pointer; - } - - if (down) { - this.pointerIsDown = true; - - if (!this.interacting()) { - utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - utils.pointer.copyCoords(this.coords.cur, this.coords.start); - utils.pointer.copyCoords(this.coords.prev, this.coords.start); - utils.pointer.pointerExtend(this.downPointer, pointer); - this.downEvent = event; - pointerInfo.downTime = this.coords.cur.timeStamp; - pointerInfo.downTarget = eventTarget; - this.pointerWasMoved = false; - } - } - - this._updateLatestPointer(pointer, event, eventTarget); - - this._signals.fire('update-pointer', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - down: down, - pointerInfo: pointerInfo, - pointerIndex: pointerIndex, - interaction: this - }); - - return pointerIndex; - } - }, { - key: "removePointer", - value: function removePointer(pointer, event) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - return; - } - - var pointerInfo = this.pointers[pointerIndex]; - - this._signals.fire('remove-pointer', { - pointer: pointer, - event: event, - pointerIndex: pointerIndex, - pointerInfo: pointerInfo, - interaction: this - }); - - this.pointers.splice(pointerIndex, 1); - } - }, { - key: "_updateLatestPointer", - value: function _updateLatestPointer(pointer, event, eventTarget) { - this._latestPointer.pointer = pointer; - this._latestPointer.event = event; - this._latestPointer.eventTarget = eventTarget; - } - }, { - key: "destroy", - value: function destroy() { - this._latestPointer.pointer = null; - this._latestPointer.event = null; - this._latestPointer.eventTarget = null; - } - }, { - key: "_createPreparedEvent", - value: function _createPreparedEvent(event, phase, preEnd, type) { - var actionName = this.prepared.name; - return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); - } - }, { - key: "_fireEvent", - value: function _fireEvent(iEvent) { - this.interactable.fire(iEvent); - - if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { - this.prevEvent = iEvent; - } - } - }, { - key: "_doPhase", - value: function _doPhase(signalArg) { - var event = signalArg.event, - phase = signalArg.phase, - preEnd = signalArg.preEnd, - type = signalArg.type; - - var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); - - if (beforeResult === false) { - return false; - } - - var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); - - var rect = this.rect; - - if (rect) { - // update the rect modifications - var edges = this.edges || this.prepared.edges || { - left: true, - right: true, - top: true, - bottom: true - }; - - if (edges.top) { - rect.top += iEvent.delta.y; - } - - if (edges.bottom) { - rect.bottom += iEvent.delta.y; - } - - if (edges.left) { - rect.left += iEvent.delta.x; - } - - if (edges.right) { - rect.right += iEvent.delta.x; - } - - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; - } - - this._signals.fire("action-".concat(phase), signalArg); - - this._fireEvent(iEvent); - - this._signals.fire("after-action-".concat(phase), signalArg); - - return true; - } - }, { - key: "_now", - value: function _now() { - return Date.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return 1; - } - }]); - - return Interaction; -}(); - -exports.Interaction = Interaction; -var _default = Interaction; -exports["default"] = _default; - -}); -var _$arr_47 = {}; -"use strict"; - -Object.defineProperty(_$arr_47, "__esModule", { - value: true -}); -_$arr_47.contains = contains; -_$arr_47.remove = remove; -_$arr_47.merge = merge; -_$arr_47.from = from; -_$arr_47.findIndex = findIndex; -_$arr_47.find = find; - -function contains(array, target) { - return array.indexOf(target) !== -1; -} - -function remove(array, target) { - return array.splice(array.indexOf(target), 1); -} - -function merge(target, source) { - for (var _i = 0; _i < source.length; _i++) { - var _ref; - - _ref = source[_i]; - var item = _ref; - target.push(item); - } - - return target; -} - -function from(source) { - return merge([], source); -} - -function findIndex(array, func) { - for (var i = 0; i < array.length; i++) { - if (func(array[i], i, array)) { - return i; - } - } - - return -1; -} - -function find(array, func) { - return array[findIndex(array, func)]; -} - -var _$domObjects_50 = {}; -"use strict"; - -Object.defineProperty(_$domObjects_50, "__esModule", { - value: true -}); -_$domObjects_50["default"] = void 0; -var domObjects = { - init: init, - document: null, - DocumentFragment: null, - SVGElement: null, - SVGSVGElement: null, - // eslint-disable-next-line no-undef - SVGElementInstance: null, - Element: null, - HTMLElement: null, - Event: null, - Touch: null, - PointerEvent: null -}; - -function blank() {} - -var _default = domObjects; -_$domObjects_50["default"] = _default; - -function init(window) { - var win = window; - domObjects.document = win.document; - domObjects.DocumentFragment = win.DocumentFragment || blank; - domObjects.SVGElement = win.SVGElement || blank; - domObjects.SVGSVGElement = win.SVGSVGElement || blank; - domObjects.SVGElementInstance = win.SVGElementInstance || blank; - domObjects.Element = win.Element || blank; - domObjects.HTMLElement = win.HTMLElement || domObjects.Element; - domObjects.Event = win.Event; - domObjects.Touch = win.Touch || blank; - domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; -} - -var _$isWindow_58 = {}; -"use strict"; - -Object.defineProperty(_$isWindow_58, "__esModule", { - value: true -}); -_$isWindow_58["default"] = void 0; - -var ___default_58 = function _default(thing) { - return !!(thing && thing.Window) && thing instanceof thing.Window; -}; - -_$isWindow_58["default"] = ___default_58; - -var _$window_66 = {}; -"use strict"; - -Object.defineProperty(_$window_66, "__esModule", { - value: true -}); -_$window_66.init = __init_66; -_$window_66.getWindow = getWindow; -_$window_66["default"] = void 0; - -var _isWindow = _interopRequireDefault(_$isWindow_58); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var win = { - realWindow: undefined, - window: undefined, - getWindow: getWindow, - init: __init_66 -}; - -function __init_66(window) { - // get wrapped window if using Shadow DOM polyfill - win.realWindow = window; // create a TextNode - - var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill - - if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { - // use wrapped window - window = window.wrap(window); - } - - win.window = window; -} - -if (typeof window === 'undefined') { - win.window = undefined; - win.realWindow = undefined; -} else { - __init_66(window); -} - -function getWindow(node) { - if ((0, _isWindow["default"])(node)) { - return node; - } - - var rootNode = node.ownerDocument || node; - return rootNode.defaultView || win.window; -} - -win.init = __init_66; -var ___default_66 = win; -_$window_66["default"] = ___default_66; - -var _$is_57 = {}; -"use strict"; - -Object.defineProperty(_$is_57, "__esModule", { - value: true -}); -_$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; - -var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); - -var _window2 = ___interopRequireDefault_57(_$window_66); - -function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -var __window_57 = function window(thing) { - return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); -}; - -_$is_57.window = __window_57; - -var docFrag = function docFrag(thing) { - return object(thing) && thing.nodeType === 11; -}; - -_$is_57.docFrag = docFrag; - -var object = function object(thing) { - return !!thing && _typeof(thing) === 'object'; -}; - -_$is_57.object = object; - -var func = function func(thing) { - return typeof thing === 'function'; -}; - -_$is_57.func = func; - -var number = function number(thing) { - return typeof thing === 'number'; -}; - -_$is_57.number = number; - -var bool = function bool(thing) { - return typeof thing === 'boolean'; -}; - -_$is_57.bool = bool; - -var string = function string(thing) { - return typeof thing === 'string'; -}; - -_$is_57.string = string; - -var element = function element(thing) { - if (!thing || _typeof(thing) !== 'object') { - return false; - } - - var _window = _window2["default"].getWindow(thing) || _window2["default"].window; - - return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 - : thing.nodeType === 1 && typeof thing.nodeName === 'string'; -}; - -_$is_57.element = element; - -var plainObject = function plainObject(thing) { - return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); -}; - -_$is_57.plainObject = plainObject; - -var array = function array(thing) { - return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); -}; - -_$is_57.array = array; - -var _$browser_48 = {}; -"use strict"; - -Object.defineProperty(_$browser_48, "__esModule", { - value: true -}); -_$browser_48["default"] = void 0; - -var _domObjects = ___interopRequireDefault_48(_$domObjects_50); - -var is = _interopRequireWildcard(_$is_57); - -var _window = ___interopRequireDefault_48(_$window_66); - -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 }; } - -var browser = { - init: __init_48, - supportsTouch: null, - supportsPointerEvent: null, - isIOS7: null, - isIOS: null, - isIe9: null, - isOperaMobile: null, - prefixedMatchesSelector: null, - pEventTypes: null, - wheelEvent: null -}; - -function __init_48(window) { - var Element = _domObjects["default"].Element; - var navigator = _window["default"].window.navigator; // Does the browser support touch input? - - browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents - - browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; - browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 - - browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); - browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently - - browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector - - browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; - browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { - up: 'MSPointerUp', - down: 'MSPointerDown', - over: 'mouseover', - out: 'mouseout', - move: 'MSPointerMove', - cancel: 'MSPointerCancel' - } : { - up: 'pointerup', - down: 'pointerdown', - over: 'pointerover', - out: 'pointerout', - move: 'pointermove', - cancel: 'pointercancel' - } : null; // because Webkit and Opera still use 'mousewheel' event type - - browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; -} - -var ___default_48 = browser; -_$browser_48["default"] = ___default_48; - -var _$domUtils_51 = {}; -"use strict"; - -Object.defineProperty(_$domUtils_51, "__esModule", { - value: true -}); -_$domUtils_51.nodeContains = nodeContains; -_$domUtils_51.closest = closest; -_$domUtils_51.parentNode = parentNode; -_$domUtils_51.matchesSelector = matchesSelector; -_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; -_$domUtils_51.matchesUpTo = matchesUpTo; -_$domUtils_51.getActualElement = getActualElement; -_$domUtils_51.getScrollXY = getScrollXY; -_$domUtils_51.getElementClientRect = getElementClientRect; -_$domUtils_51.getElementRect = getElementRect; -_$domUtils_51.getPath = getPath; -_$domUtils_51.trySelector = trySelector; - -var _browser = ___interopRequireDefault_51(_$browser_48); - -var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); - -var __is_51 = ___interopRequireWildcard_51(_$is_57); - -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; } 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 }; } - -function nodeContains(parent, child) { - while (child) { - if (child === parent) { - return true; - } - - child = child.parentNode; - } - - return false; -} - -function closest(element, selector) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return element; - } - - element = parentNode(element); - } - - return null; -} - -function parentNode(node) { - var parent = node.parentNode; - - if (__is_51.docFrag(parent)) { - // skip past #shado-root fragments - // tslint:disable-next-line - while ((parent = parent.host) && __is_51.docFrag(parent)) { - continue; - } - - return parent; - } - - return parent; -} - -function matchesSelector(element, selector) { - // remove /deep/ from selectors if shadowDOM polyfill is used - if (___window_51["default"].window !== ___window_51["default"].realWindow) { - selector = selector.replace(/\/deep\//g, ' '); - } - - return element[_browser["default"].prefixedMatchesSelector](selector); -} - -var getParent = function getParent(el) { - return el.parentNode ? el.parentNode : el.host; -}; // Test for the element that's "above" all other qualifiers - - -function indexOfDeepestElement(elements) { - var deepestZoneParents = []; - var deepestZone = elements[0]; - var index = deepestZone ? 0 : -1; - var i; - var n; - - for (i = 1; i < elements.length; i++) { - var dropzone = elements[i]; // an element might belong to multiple selector dropzones - - if (!dropzone || dropzone === deepestZone) { - continue; - } - - if (!deepestZone) { - deepestZone = dropzone; - index = i; - continue; - } // check if the deepest or current are document.documentElement or document.rootElement - // - if the current dropzone is, do nothing and continue - - - if (dropzone.parentNode === dropzone.ownerDocument) { - continue; - } // - if deepest is, update with the current dropzone and continue to next - else if (deepestZone.parentNode === dropzone.ownerDocument) { - 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) { - var _parent = deepestZone; - var parentParent = void 0; - - while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { - deepestZoneParents.unshift(_parent); - _parent = parentParent; - } - } - - 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) { - continue; - } - - parent = dropzone.ownerSVGElement; - } else { - parent = dropzone; - } - - var dropzoneParents = []; - - while (parent.parentNode !== parent.ownerDocument) { - dropzoneParents.unshift(parent); - parent = getParent(parent); - } - - n = 0; // get (position of last common ancestor) + 1 - - while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { - n++; - } - - var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; - var child = parents[0].lastChild; - - while (child) { - if (child === parents[1]) { - deepestZone = dropzone; - index = i; - deepestZoneParents = dropzoneParents; - break; - } else if (child === parents[2]) { - break; - } - - child = child.previousSibling; - } - } - - return index; -} - -function matchesUpTo(element, selector, limit) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return true; - } - - element = parentNode(element); - - if (element === limit) { - return matchesSelector(element, selector); - } - } - - return false; -} - -function getActualElement(element) { - return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; -} - -function getScrollXY(relevantWindow) { - relevantWindow = relevantWindow || ___window_51["default"].window; - return { - x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, - y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop - }; -} - -function getElementClientRect(element) { - var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; - return clientRect && { - left: clientRect.left, - right: clientRect.right, - top: clientRect.top, - bottom: clientRect.bottom, - width: clientRect.width || clientRect.right - clientRect.left, - height: clientRect.height || clientRect.bottom - clientRect.top - }; -} - -function getElementRect(element) { - var clientRect = getElementClientRect(element); - - if (!_browser["default"].isIOS7 && clientRect) { - var scroll = getScrollXY(___window_51["default"].getWindow(element)); - clientRect.left += scroll.x; - clientRect.right += scroll.x; - clientRect.top += scroll.y; - clientRect.bottom += scroll.y; - } - - return clientRect; -} - -function getPath(node) { - var path = []; - - while (node) { - path.push(node); - node = parentNode(node); - } - - return path; -} - -function trySelector(value) { - if (!__is_51.string(value)) { - return false; - } // an exception will be raised if it is invalid - - - ___domObjects_51["default"].document.querySelector(value); - - return true; -} - -var _$clone_49 = {}; -"use strict"; - -Object.defineProperty(_$clone_49, "__esModule", { - value: true -}); -_$clone_49["default"] = clone; - -var arr = ___interopRequireWildcard_49(_$arr_47); - -var __is_49 = ___interopRequireWildcard_49(_$is_57); - -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 = {}; - - for (var prop in source) { - var value = source[prop]; - - if (__is_49.plainObject(value)) { - dest[prop] = clone(value); - } else if (__is_49.array(value)) { - dest[prop] = arr.from(value); - } else { - dest[prop] = value; - } - } - - return dest; -} - -var _$pointerExtend_60 = {}; -"use strict"; - -Object.defineProperty(_$pointerExtend_60, "__esModule", { - value: true -}); -_$pointerExtend_60["default"] = void 0; - -function pointerExtend(dest, source) { - for (var prop in source) { - var prefixedPropREs = pointerExtend.prefixedPropREs; - var deprecated = false; // skip deprecated prefixed properties - - for (var vendor in prefixedPropREs) { - if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { - deprecated = true; - break; - } - } - - if (!deprecated && typeof source[prop] !== 'function') { - dest[prop] = source[prop]; - } - } - - return dest; -} - -pointerExtend.prefixedPropREs = { - webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, - moz: /(Pressure)$/ -}; -var ___default_60 = pointerExtend; -_$pointerExtend_60["default"] = ___default_60; - -var _$hypot_55 = {}; -"use strict"; - -Object.defineProperty(_$hypot_55, "__esModule", { - value: true -}); -_$hypot_55["default"] = void 0; - -var ___default_55 = function _default(x, y) { - return Math.sqrt(x * x + y * y); -}; - -_$hypot_55["default"] = ___default_55; - -var _$pointerUtils_61 = {}; -"use strict"; - -Object.defineProperty(_$pointerUtils_61, "__esModule", { - value: true -}); -_$pointerUtils_61["default"] = void 0; - -var ___browser_61 = ___interopRequireDefault_61(_$browser_48); - -var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); - -var domUtils = ___interopRequireWildcard_61(_$domUtils_51); - -var _hypot = ___interopRequireDefault_61(_$hypot_55); - -var __is_61 = ___interopRequireWildcard_61(_$is_57); - -var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); - -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 }; } - -var pointerUtils = { - copyCoords: function copyCoords(dest, src) { - dest.page = dest.page || {}; - dest.page.x = src.page.x; - dest.page.y = src.page.y; - dest.client = dest.client || {}; - dest.client.x = src.client.x; - dest.client.y = src.client.y; - dest.timeStamp = src.timeStamp; - }, - setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { - targetObj.page.x = cur.page.x - prev.page.x; - targetObj.page.y = cur.page.y - prev.page.y; - targetObj.client.x = cur.client.x - prev.client.x; - targetObj.client.y = cur.client.y - prev.client.y; - targetObj.timeStamp = cur.timeStamp - prev.timeStamp; - }, - setCoordVelocity: function setCoordVelocity(targetObj, delta) { - var dt = Math.max(delta.timeStamp / 1000, 0.001); - targetObj.page.x = delta.page.x / dt; - targetObj.page.y = delta.page.y / dt; - targetObj.client.x = delta.client.x / dt; - targetObj.client.y = delta.client.y / dt; - targetObj.timeStamp = dt; - }, - isNativePointer: function isNativePointer(pointer) { - return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; - }, - // Get specified X/Y coords for mouse or event.touches[0] - getXY: function getXY(type, pointer, xy) { - xy = xy || {}; - type = type || 'page'; - xy.x = pointer[type + 'X']; - xy.y = pointer[type + 'Y']; - return xy; - }, - getPageXY: function getPageXY(pointer, page) { - page = page || { - x: 0, - y: 0 - }; // Opera Mobile handles the viewport and scrolling oddly - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - pointerUtils.getXY('screen', pointer, page); - page.x += window.scrollX; - page.y += window.scrollY; - } else { - pointerUtils.getXY('page', pointer, page); - } - - return page; - }, - getClientXY: function getClientXY(pointer, client) { - client = client || {}; - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - // Opera Mobile handles the viewport and scrolling oddly - pointerUtils.getXY('screen', pointer, client); - } else { - pointerUtils.getXY('client', pointer, client); - } - - return client; - }, - getPointerId: function getPointerId(pointer) { - return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; - }, - setCoords: function setCoords(targetObj, pointers, timeStamp) { - var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; - var tmpXY = {}; - pointerUtils.getPageXY(pointer, tmpXY); - targetObj.page.x = tmpXY.x; - targetObj.page.y = tmpXY.y; - pointerUtils.getClientXY(pointer, tmpXY); - targetObj.client.x = tmpXY.x; - targetObj.client.y = tmpXY.y; - targetObj.timeStamp = timeStamp; - }, - pointerExtend: _pointerExtend["default"], - getTouchPair: function getTouchPair(event) { - var touches = []; // array of touches is supplied - - if (__is_61.array(event)) { - touches[0] = event[0]; - touches[1] = event[1]; - } // an event - else { - if (event.type === 'touchend') { - if (event.touches.length === 1) { - touches[0] = event.touches[0]; - touches[1] = event.changedTouches[0]; - } else if (event.touches.length === 0) { - touches[0] = event.changedTouches[0]; - touches[1] = event.changedTouches[1]; - } - } else { - touches[0] = event.touches[0]; - touches[1] = event.touches[1]; - } - } - - return touches; - }, - pointerAverage: function pointerAverage(pointers) { - var average = { - pageX: 0, - pageY: 0, - clientX: 0, - clientY: 0, - screenX: 0, - screenY: 0 - }; - - for (var _i = 0; _i < pointers.length; _i++) { - var _ref; - - _ref = pointers[_i]; - var pointer = _ref; - - for (var _prop in average) { - average[_prop] += pointer[_prop]; - } - } - - for (var prop in average) { - average[prop] /= pointers.length; - } - - return average; - }, - touchBBox: function touchBBox(event) { - if (!event.length && !(event.touches && event.touches.length > 1)) { - return null; - } - - var touches = pointerUtils.getTouchPair(event); - var minX = Math.min(touches[0].pageX, touches[1].pageX); - var minY = Math.min(touches[0].pageY, touches[1].pageY); - var maxX = Math.max(touches[0].pageX, touches[1].pageX); - var maxY = Math.max(touches[0].pageY, touches[1].pageY); - return { - x: minX, - y: minY, - left: minX, - top: minY, - right: maxX, - bottom: maxY, - width: maxX - minX, - height: maxY - minY - }; - }, - touchDistance: function touchDistance(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[0][sourceX] - touches[1][sourceX]; - var dy = touches[0][sourceY] - touches[1][sourceY]; - return (0, _hypot["default"])(dx, dy); - }, - touchAngle: function touchAngle(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[1][sourceX] - touches[0][sourceX]; - var dy = touches[1][sourceY] - touches[0][sourceY]; - var angle = 180 * Math.atan2(dy, dx) / Math.PI; - return angle; - }, - getPointerType: function getPointerType(pointer) { - 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 - // be either a MouseEvent, TouchEvent, or Touch object - : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; - }, - // [ event.target, event.currentTarget ] - getEventTargets: function getEventTargets(event) { - var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; - return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; - }, - newCoords: function newCoords() { - return { - page: { - x: 0, - y: 0 - }, - client: { - x: 0, - y: 0 - }, - timeStamp: 0 - }; - }, - coordsToEvent: function coordsToEvent(coords) { - var event = { - coords: coords, - - 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 event; - } -}; -var ___default_61 = pointerUtils; -_$pointerUtils_61["default"] = ___default_61; - -var _$events_52 = {}; -"use strict"; - -Object.defineProperty(_$events_52, "__esModule", { - value: true -}); -_$events_52["default"] = _$events_52.FakeEvent = void 0; - -/* removed: var _$arr_47 = require("./arr"); */; - -var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); - -var __is_52 = ___interopRequireWildcard_52(_$is_57); - -var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); - -var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); - -function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -var elements = []; -var targets = []; -var delegatedEvents = {}; -var documents = []; - -function add(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target) { - target = { - events: {}, - typeCount: 0 - }; - elementIndex = elements.push(element) - 1; - targets.push(target); - } - - if (!target.events[type]) { - target.events[type] = []; - target.typeCount++; - } - - if (!(0, _$arr_47.contains)(target.events[type], listener)) { - element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].push(listener); - } -} - -function __remove_52(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target || !target.events) { - return; - } - - if (type === 'all') { - for (type in target.events) { - if (target.events.hasOwnProperty(type)) { - __remove_52(element, type, 'all'); - } - } - - return; - } - - if (target.events[type]) { - var len = target.events[type].length; - - if (listener === 'all') { - for (var i = 0; i < len; i++) { - __remove_52(element, type, target.events[type][i], options); - } - - return; - } else { - for (var _i = 0; _i < len; _i++) { - if (target.events[type][_i] === listener) { - element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].splice(_i, 1); - break; - } - } - } - - if (target.events[type] && target.events[type].length === 0) { - target.events[type] = null; - target.typeCount--; - } - } - - if (!target.typeCount) { - targets.splice(elementIndex, 1); - elements.splice(elementIndex, 1); - } -} - -function addDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - - if (!delegatedEvents[type]) { - delegatedEvents[type] = { - contexts: [], - listeners: [], - selectors: [] - }; // add delegate listener functions - - for (var _i2 = 0; _i2 < documents.length; _i2++) { - var _ref; - - _ref = documents[_i2]; - var doc = _ref; - add(doc, type, delegateListener); - add(doc, type, delegateUseCapture, true); - } - } - - var delegated = delegatedEvents[type]; - var index; - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - break; - } - } - - if (index === -1) { - index = delegated.selectors.length; - delegated.selectors.push(selector); - delegated.contexts.push(context); - delegated.listeners.push([]); - } // keep listener and capture and passive flags - - - delegated.listeners[index].push([listener, !!options.capture, options.passive]); -} - -function removeDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var delegated = delegatedEvents[type]; - var matchFound = false; - var index; - - if (!delegated) { - return; - } // count from last index of delegated to 0 - - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - // look for matching selector and context Node - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] - - for (var i = listeners.length - 1; i >= 0; i--) { - var _listeners$i = _slicedToArray(listeners[i], 3), - fn = _listeners$i[0], - capture = _listeners$i[1], - passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match - - - if (fn === listener && capture === !!options.capture && passive === options.passive) { - // remove the listener from the array of listeners - listeners.splice(i, 1); // if all listeners for this interactable have been removed - // remove the interactable from the delegated arrays - - if (!listeners.length) { - delegated.selectors.splice(index, 1); - delegated.contexts.splice(index, 1); - delegated.listeners.splice(index, 1); // remove delegate function from context - - __remove_52(context, type, delegateListener); - __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegatedEvents[type] = null; - } - } // only remove one listener - - - matchFound = true; - break; - } - } - - if (matchFound) { - break; - } - } - } -} // bound to the interactable context when a DOM event -// listener is added to a selector interactable - - -function delegateListener(event, optionalArg) { - var options = getOptions(optionalArg); - var fakeEvent = new FakeEvent(event); - var delegated = delegatedEvents[event.type]; - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), - eventTarget = _pointerUtils$getEven2[0]; - - var element = eventTarget; // climb up document tree looking for selector matches - - while (__is_52.element(element)) { - for (var i = 0; i < delegated.selectors.length; i++) { - var selector = delegated.selectors[i]; - var context = delegated.contexts[i]; - - if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { - var listeners = delegated.listeners[i]; - fakeEvent.currentTarget = element; - - for (var _i3 = 0; _i3 < listeners.length; _i3++) { - var _ref2; - - _ref2 = listeners[_i3]; - - 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); - } - } - } - } - - element = __domUtils_52.parentNode(element); - } -} - -function delegateUseCapture(event) { - return delegateListener.call(this, event, true); -} - -function getOptions(param) { - return __is_52.object(param) ? param : { - capture: param - }; -} - -var FakeEvent = -/*#__PURE__*/ -function () { - function FakeEvent(originalEvent) { - _classCallCheck(this, FakeEvent); - - this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed - - (0, ___pointerExtend_52["default"])(this, originalEvent); - } - - _createClass(FakeEvent, [{ - key: "preventOriginalDefault", - value: function preventOriginalDefault() { - this.originalEvent.preventDefault(); - } - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.originalEvent.stopPropagation(); - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.originalEvent.stopImmediatePropagation(); - } - }]); - - return FakeEvent; -}(); - -_$events_52.FakeEvent = FakeEvent; -var events = { - add: add, - remove: __remove_52, - addDelegate: addDelegate, - removeDelegate: removeDelegate, - delegateListener: delegateListener, - delegateUseCapture: delegateUseCapture, - delegatedEvents: delegatedEvents, - documents: documents, - supportsOptions: false, - supportsPassive: false, - _elements: elements, - _targets: targets, - init: function init(window) { - window.document.createElement('div').addEventListener('test', null, { - get capture() { - return events.supportsOptions = true; - }, - - get passive() { - return events.supportsPassive = true; - } - - }); - } -}; -var ___default_52 = events; -_$events_52["default"] = ___default_52; - -var _$extend_53 = {}; -"use strict"; - -Object.defineProperty(_$extend_53, "__esModule", { - value: true -}); -_$extend_53["default"] = extend; - -function extend(dest, source) { - for (var prop in source) { - dest[prop] = source[prop]; - } - - return dest; -} - -var _$rect_63 = {}; -"use strict"; - -Object.defineProperty(_$rect_63, "__esModule", { - value: true -}); -_$rect_63.getStringOptionResult = getStringOptionResult; -_$rect_63.resolveRectLike = resolveRectLike; -_$rect_63.rectToXY = rectToXY; -_$rect_63.xywhToTlbr = xywhToTlbr; -_$rect_63.tlbrToXywh = tlbrToXywh; -_$rect_63["default"] = void 0; - -/* removed: var _$domUtils_51 = require("./domUtils"); */; - -var _extend = ___interopRequireDefault_63(_$extend_53); - -var __is_63 = ___interopRequireWildcard_63(_$is_57); - -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 }; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -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, target, element) { - if (value === 'parent') { - return (0, _$domUtils_51.parentNode)(element); - } - - if (value === 'self') { - return target.getRect(element); - } - - return (0, _$domUtils_51.closest)(element, value); -} - -function resolveRectLike(value, target, element, functionArgs) { - if (__is_63.string(value)) { - value = getStringOptionResult(value, target, element); - } else if (__is_63.func(value)) { - value = value.apply(void 0, _toConsumableArray(functionArgs)); - } - - if (__is_63.element(value)) { - value = (0, _$domUtils_51.getElementRect)(value); - } - - return value; -} - -function rectToXY(rect) { - return rect && { - x: 'x' in rect ? rect.x : rect.left, - y: 'y' in rect ? rect.y : rect.top - }; -} - -function xywhToTlbr(rect) { - if (rect && !('left' in rect && 'top' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.left = rect.x || 0; - rect.top = rect.y || 0; - rect.right = rect.right || rect.left + rect.width; - rect.bottom = rect.bottom || rect.top + rect.height; - } - - return rect; -} - -function tlbrToXywh(rect) { - if (rect && !('x' in rect && 'y' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.x = rect.left || 0; - rect.y = rect.top || 0; - rect.width = rect.width || rect.right - rect.x; - rect.height = rect.height || rect.bottom - rect.y; - } - - return rect; -} - -var ___default_63 = { - getStringOptionResult: getStringOptionResult, - resolveRectLike: resolveRectLike, - rectToXY: rectToXY, - xywhToTlbr: xywhToTlbr, - tlbrToXywh: tlbrToXywh -}; -_$rect_63["default"] = ___default_63; - -var _$getOriginXY_54 = {}; -"use strict"; - -Object.defineProperty(_$getOriginXY_54, "__esModule", { - value: true -}); -_$getOriginXY_54["default"] = ___default_54; - -/* removed: var _$rect_63 = require("./rect"); */; - -function ___default_54(target, element, action) { - var actionOptions = target.options[action]; - var actionOrigin = actionOptions && actionOptions.origin; - var origin = actionOrigin || target.options.origin; - var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); - return (0, _$rect_63.rectToXY)(originRect) || { - x: 0, - y: 0 - }; -} - -var _$normalizeListeners_59 = {}; -"use strict"; - -Object.defineProperty(_$normalizeListeners_59, "__esModule", { - value: true -}); -_$normalizeListeners_59["default"] = normalize; - -var ___extend_59 = ___interopRequireDefault_59(_$extend_53); - -var __is_59 = ___interopRequireWildcard_59(_$is_57); - -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 }; } - -function normalize(type, listeners, result) { - result = result || {}; - - if (__is_59.string(type) && type.search(' ') !== -1) { - type = split(type); - } - - if (__is_59.array(type)) { - return type.reduce(function (acc, t) { - return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); - }, result); - } // ({ type: fn }) -> ('', { type: fn }) - - - if (__is_59.object(type)) { - listeners = type; - type = ''; - } - - if (__is_59.func(listeners)) { - result[type] = result[type] || []; - result[type].push(listeners); - } else if (__is_59.array(listeners)) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var l = _ref; - normalize(type, l, result); - } - } else if (__is_59.object(listeners)) { - for (var prefix in listeners) { - var combinedTypes = split(prefix).map(function (p) { - return "".concat(type).concat(p); - }); - normalize(combinedTypes, listeners[prefix], result); - } - } - - return result; -} - -function split(type) { - return type.trim().split(/ +/); -} - -var _$raf_62 = {}; -"use strict"; - -Object.defineProperty(_$raf_62, "__esModule", { - value: true -}); -_$raf_62["default"] = void 0; -var lastTime = 0; - -var _request; - -var _cancel; - -function __init_62(window) { - _request = window.requestAnimationFrame; - _cancel = window.cancelAnimationFrame; - - if (!_request) { - var vendors = ['ms', 'moz', 'webkit', 'o']; - - for (var _i = 0; _i < vendors.length; _i++) { - var vendor = vendors[_i]; - _request = window["".concat(vendor, "RequestAnimationFrame")]; - _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; - } - } - - if (!_request) { - _request = function request(callback) { - var currTime = Date.now(); - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal - - var token = setTimeout(function () { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return token; - }; - - _cancel = function cancel(token) { - return clearTimeout(token); - }; - } -} - -var ___default_62 = { - request: function request(callback) { - return _request(callback); - }, - cancel: function cancel(token) { - return _cancel(token); - }, - init: __init_62 -}; -_$raf_62["default"] = ___default_62; - -var _$Signals_46 = {}; -"use strict"; - -Object.defineProperty(_$Signals_46, "__esModule", { - value: true -}); -_$Signals_46["default"] = void 0; - -function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } - -var Signals = -/*#__PURE__*/ -function () { - function Signals() { - ___classCallCheck_46(this, Signals); - - this.listeners = {}; - } - - ___createClass_46(Signals, [{ - key: "on", - value: function on(name, listener) { - if (!this.listeners[name]) { - this.listeners[name] = [listener]; - return; - } - - this.listeners[name].push(listener); - } - }, { - key: "off", - value: function off(name, listener) { - if (!this.listeners[name]) { - return; - } - - var index = this.listeners[name].indexOf(listener); - - if (index !== -1) { - this.listeners[name].splice(index, 1); - } - } - }, { - key: "fire", - value: function fire(name, arg) { - var targetListeners = this.listeners[name]; - - if (!targetListeners) { - return; - } - - for (var _i = 0; _i < targetListeners.length; _i++) { - var _ref; - - _ref = targetListeners[_i]; - var listener = _ref; - - if (listener(arg, name) === false) { - return false; - } - } - } - }]); - - return Signals; -}(); - -var ___default_46 = Signals; -_$Signals_46["default"] = ___default_46; - -var _$utils_56 = {}; -"use strict"; - -Object.defineProperty(_$utils_56, "__esModule", { - value: true -}); -_$utils_56.warnOnce = warnOnce; -_$utils_56._getQBezierValue = _getQBezierValue; -_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; -_$utils_56.easeOutQuad = easeOutQuad; -_$utils_56.copyAction = copyAction; -Object.defineProperty(_$utils_56, "win", { - enumerable: true, - get: function get() { - return ___window_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "browser", { - enumerable: true, - get: function get() { - return ___browser_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "clone", { - enumerable: true, - get: function get() { - return _clone["default"]; - } -}); -Object.defineProperty(_$utils_56, "events", { - enumerable: true, - get: function get() { - return _events["default"]; - } -}); -Object.defineProperty(_$utils_56, "extend", { - enumerable: true, - get: function get() { - return ___extend_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "getOriginXY", { - enumerable: true, - get: function get() { - return _getOriginXY["default"]; - } -}); -Object.defineProperty(_$utils_56, "hypot", { - enumerable: true, - get: function get() { - return ___hypot_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "normalizeListeners", { - enumerable: true, - get: function get() { - return _normalizeListeners["default"]; - } -}); -Object.defineProperty(_$utils_56, "pointer", { - enumerable: true, - get: function get() { - return ___pointerUtils_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "raf", { - enumerable: true, - get: function get() { - return _raf["default"]; - } -}); -Object.defineProperty(_$utils_56, "rect", { - enumerable: true, - get: function get() { - return ___rect_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "Signals", { - enumerable: true, - get: function get() { - return _Signals["default"]; - } -}); -_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; - -var __arr_56 = ___interopRequireWildcard_56(_$arr_47); - -_$utils_56.arr = __arr_56; - -var dom = ___interopRequireWildcard_56(_$domUtils_51); - -_$utils_56.dom = dom; - -var __is_56 = ___interopRequireWildcard_56(_$is_57); - -_$utils_56.is = __is_56; - -var ___window_56 = ___interopRequireDefault_56(_$window_66); - -var ___browser_56 = ___interopRequireDefault_56(_$browser_48); - -var _clone = ___interopRequireDefault_56(_$clone_49); - -var _events = ___interopRequireDefault_56(_$events_52); - -var ___extend_56 = ___interopRequireDefault_56(_$extend_53); - -var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); - -var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); - -var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); - -var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); - -var _raf = ___interopRequireDefault_56(_$raf_62); - -var ___rect_56 = ___interopRequireDefault_56(_$rect_63); - -var _Signals = ___interopRequireDefault_56(_$Signals_46); - -function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 - - return function () { - if (!warned) { - ___window_56["default"].window.console.warn(message); - - warned = true; - } - - return method.apply(this, arguments); - }; -} // http://stackoverflow.com/a/5634528/2280888 - - -function _getQBezierValue(t, p1, p2, p3) { - var iT = 1 - t; - return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; -} - -function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { - return { - x: _getQBezierValue(position, startX, cpX, endX), - y: _getQBezierValue(position, startY, cpY, endY) - }; -} // http://gizma.com/easing/ - - -function easeOutQuad(t, b, c, d) { - t /= d; - return -c * t * (t - 2) + b; -} - -function copyAction(dest, src) { - dest.name = src.name; - dest.axis = src.axis; - dest.edges = src.edges; - return dest; -} - -var _$defaultOptions_20 = {}; -"use strict"; - -Object.defineProperty(_$defaultOptions_20, "__esModule", { - value: true -}); -_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; -// tslint:disable no-empty-interface -var defaults = { - base: { - preventDefault: 'auto', - deltaSource: 'page' - }, - perAction: { - enabled: false, - origin: { - x: 0, - y: 0 - } - }, - actions: {} -}; -_$defaultOptions_20.defaults = defaults; -var ___default_20 = defaults; -_$defaultOptions_20["default"] = ___default_20; - -var _$Eventable_14 = {}; -"use strict"; - -Object.defineProperty(_$Eventable_14, "__esModule", { - value: true -}); -_$Eventable_14["default"] = void 0; - -var __arr_14 = ___interopRequireWildcard_14(_$arr_47); - -var ___extend_14 = ___interopRequireDefault_14(_$extend_53); - -var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); - -function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } - -function fireUntilImmediateStopped(event, listeners) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var listener = _ref; - - if (event.immediatePropagationStopped) { - break; - } - - listener(event); - } -} - -var Eventable = -/*#__PURE__*/ -function () { - function Eventable(options) { - ___classCallCheck_14(this, Eventable); - - this.types = {}; - this.propagationStopped = false; - this.immediatePropagationStopped = false; - this.options = (0, ___extend_14["default"])({}, options || {}); - } - - ___createClass_14(Eventable, [{ - key: "fire", - value: function fire(event) { - var listeners; - var global = this.global; // Interactable#on() listeners - // tslint:disable no-conditional-assignment - - if (listeners = this.types[event.type]) { - fireUntilImmediateStopped(event, listeners); - } // interact.on() listeners - - - if (!event.propagationStopped && global && (listeners = global[event.type])) { - fireUntilImmediateStopped(event, listeners); - } - } - }, { - key: "on", - value: function on(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); - } - } - }, { - key: "off", - value: function off(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - var eventList = this.types[type]; - - if (!eventList || !eventList.length) { - continue; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var subListener = _ref2; - var index = eventList.indexOf(subListener); - - if (index !== -1) { - eventList.splice(index, 1); - } - } - } - } - }, { - key: "getRect", - value: function getRect(_element) { - return null; - } - }]); - - return Eventable; -}(); - -var ___default_14 = Eventable; -_$Eventable_14["default"] = ___default_14; - -var _$Interactable_16 = {}; -"use strict"; - -Object.defineProperty(_$Interactable_16, "__esModule", { - value: true -}); -_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; - -var __arr_16 = ___interopRequireWildcard_16(_$arr_47); - -var ___browser_16 = ___interopRequireDefault_16(_$browser_48); - -var ___clone_16 = ___interopRequireDefault_16(_$clone_49); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_16 = ___interopRequireDefault_16(_$events_52); - -var ___extend_16 = ___interopRequireDefault_16(_$extend_53); - -var __is_16 = ___interopRequireWildcard_16(_$is_57); - -var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -var _Eventable = ___interopRequireDefault_16(_$Eventable_14); - -function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } - -/** */ -var Interactable = -/*#__PURE__*/ -function () { - /** */ - function Interactable(target, options, defaultContext) { - ___classCallCheck_16(this, Interactable); - - this.events = new _Eventable["default"](); - this._actions = options.actions; - this.target = target; - this._context = options.context || defaultContext; - this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); - this._doc = this._win.document; - this.set(options); - } - - ___createClass_16(Interactable, [{ - key: "setOnEvents", - value: function setOnEvents(actionName, phases) { - if (__is_16.func(phases.onstart)) { - this.on("".concat(actionName, "start"), phases.onstart); - } - - if (__is_16.func(phases.onmove)) { - this.on("".concat(actionName, "move"), phases.onmove); - } - - if (__is_16.func(phases.onend)) { - this.on("".concat(actionName, "end"), phases.onend); - } - - if (__is_16.func(phases.oninertiastart)) { - this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); - } - - return this; - } - }, { - key: "updatePerActionListeners", - value: function updatePerActionListeners(actionName, prev, cur) { - if (__is_16.array(prev) || __is_16.object(prev)) { - this.off(actionName, prev); - } - - if (__is_16.array(cur) || __is_16.object(cur)) { - this.on(actionName, cur); - } - } - }, { - key: "setPerAction", - value: function setPerAction(actionName, options) { - var defaults = this._defaults; // for all the default per-action options - - for (var optionName in options) { - var actionOptions = this.options[actionName]; - var optionValue = options[optionName]; - var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones - - if (optionName === 'listeners') { - this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); - } // if the option value is an array - - - if (isArray) { - actionOptions[optionName] = __arr_16.from(optionValue); - } // if the option value is an object - else if (!isArray && __is_16.plainObject(optionValue)) { - // copy the object - actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults - - if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { - actionOptions[optionName].enabled = optionValue.enabled !== false; - } - } // if the option value is a boolean and the default is an object - else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { - actionOptions[optionName].enabled = optionValue; - } // if it's anything else, do a plain assignment - else { - actionOptions[optionName] = optionValue; - } - } - } - /** - * The default function to get an Interactables bounding rect. Can be - * overridden using {@link Interactable.rectChecker}. - * - * @param {Element} [element] The element to measure. - * @return {object} The object's bounding rectangle. - */ - - }, { - key: "getRect", - value: function getRect(element) { - element = element || (__is_16.element(this.target) ? this.target : null); - - if (__is_16.string(this.target)) { - element = element || this._context.querySelector(this.target); - } - - return (0, _$domUtils_51.getElementRect)(element); - } - /** - * Returns or sets the function used to calculate the interactable's - * element's rectangle - * - * @param {function} [checker] A function which returns this Interactable's - * bounding rectangle. See {@link Interactable.getRect} - * @return {function | object} The checker function or this Interactable - */ - - }, { - key: "rectChecker", - value: function rectChecker(checker) { - if (__is_16.func(checker)) { - this.getRect = checker; - return this; - } - - if (checker === null) { - delete this.getRect; - return this; - } - - return this.getRect; - } - }, { - key: "_backCompatOption", - value: function _backCompatOption(optionName, newValue) { - if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { - this.options[optionName] = newValue; - - for (var _i = 0; _i < this._actions.names.length; _i++) { - var _ref; - - _ref = this._actions.names[_i]; - var action = _ref; - this.options[action][optionName] = newValue; - } - - return this; - } - - return this.options[optionName]; - } - /** - * Gets or sets the origin of the Interactable's element. The x and y - * of the origin will be subtracted from action event coordinates. - * - * @param {Element | object | string} [origin] An HTML or SVG Element whose - * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' - * or any CSS selector - * - * @return {object} The current origin or this Interactable - */ - - }, { - key: "origin", - value: function origin(newValue) { - return this._backCompatOption('origin', newValue); - } - /** - * Returns or sets the mouse coordinate types used to calculate the - * movement of the pointer. - * - * @param {string} [newValue] Use 'client' if you will be scrolling while - * interacting; Use 'page' if you want autoScroll to work - * @return {string | object} The current deltaSource or this Interactable - */ - - }, { - key: "deltaSource", - value: function deltaSource(newValue) { - if (newValue === 'page' || newValue === 'client') { - this.options.deltaSource = newValue; - return this; - } - - return this.options.deltaSource; - } - /** - * Gets the selector context Node of the Interactable. The default is - * `window.document`. - * - * @return {Node} The context Node of this Interactable - */ - - }, { - key: "context", - value: function context() { - return this._context; - } - }, { - key: "inContext", - value: function inContext(element) { - return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); - } - }, { - key: "testIgnoreAllow", - value: function testIgnoreAllow(options, targetNode, eventTarget) { - return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); - } - }, { - key: "testAllow", - value: function testAllow(allowFrom, targetNode, element) { - if (!allowFrom) { - return true; - } - - if (!__is_16.element(element)) { - return false; - } - - if (__is_16.string(allowFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); - } else if (__is_16.element(allowFrom)) { - return (0, _$domUtils_51.nodeContains)(allowFrom, element); - } - - return false; - } - }, { - key: "testIgnore", - value: function testIgnore(ignoreFrom, targetNode, element) { - if (!ignoreFrom || !__is_16.element(element)) { - return false; - } - - if (__is_16.string(ignoreFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); - } else if (__is_16.element(ignoreFrom)) { - return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); - } - - return false; - } - /** - * Calls listeners for the given InteractEvent type bound globally - * and directly to this Interactable - * - * @param {InteractEvent} iEvent The InteractEvent object to be fired on this - * Interactable - * @return {Interactable} this Interactable - */ - - }, { - key: "fire", - value: function fire(iEvent) { - this.events.fire(iEvent); - return this; - } - }, { - key: "_onOff", - value: function _onOff(method, typeArg, listenerArg, options) { - if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { - options = listenerArg; - listenerArg = null; - } - - var addRemove = method === 'on' ? 'add' : 'remove'; - var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); - - for (var type in listeners) { - if (type === 'wheel') { - type = ___browser_16["default"].wheelEvent; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var listener = _ref2; - - // if it is an action event type - if (__arr_16.contains(this._actions.eventTypes, type)) { - this.events[method](type, listener); - } // 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 Interactable's element - else { - ___events_16["default"][addRemove](this.target, type, listener, options); - } - } - } - - return this; - } - /** - * Binds a listener for an InteractEvent, pointerEvent or DOM event. - * - * @param {string | array | object} types The types of events to listen - * for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * addEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "on", - value: function on(types, listener, options) { - return this._onOff('on', types, listener, options); - } - /** - * Removes an InteractEvent, pointerEvent or DOM event listener. - * - * @param {string | array | object} types The types of events that were - * listened for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * removeEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "off", - value: function off(types, listener, options) { - return this._onOff('off', types, listener, options); - } - /** - * Reset the options of this Interactable - * - * @param {object} options The new settings to apply - * @return {object} This Interactable - */ - - }, { - key: "set", - value: function set(options) { - var defaults = this._defaults; - - if (!__is_16.object(options)) { - options = {}; - } - - this.options = (0, ___clone_16["default"])(defaults.base); - - for (var actionName in this._actions.methodDict) { - var methodName = this._actions.methodDict[actionName]; - this.options[actionName] = {}; - this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); - this[methodName](options[actionName]); - } - - for (var setting in options) { - if (__is_16.func(this[setting])) { - this[setting](options[setting]); - } - } - - return this; - } - /** - * Remove this interactable from the list of interactables and remove it's - * action capabilities and event listeners - * - * @return {interact} - */ - - }, { - key: "unset", - value: function unset() { - ___events_16["default"].remove(this.target, 'all'); - - if (__is_16.string(this.target)) { - // remove delegated events - for (var type in ___events_16["default"].delegatedEvents) { - var delegated = ___events_16["default"].delegatedEvents[type]; - - if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { - delegated.selectors.splice(0, 1); - delegated.contexts.splice(0, 1); - delegated.listeners.splice(0, 1); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegated[type] = null; - } - } - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); - } - } else { - ___events_16["default"].remove(this.target, 'all'); - } - } - }, { - key: "_defaults", - get: function get() { - return { - base: {}, - perAction: {}, - actions: {} - }; - } - }]); - - return Interactable; -}(); - -_$Interactable_16.Interactable = Interactable; -var ___default_16 = Interactable; -_$Interactable_16["default"] = ___default_16; - -var _$InteractableSet_17 = {}; -"use strict"; - -Object.defineProperty(_$InteractableSet_17, "__esModule", { - value: true -}); -_$InteractableSet_17["default"] = void 0; - -var __arr_17 = ___interopRequireWildcard_17(_$arr_47); - -var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); - -var ___extend_17 = ___interopRequireDefault_17(_$extend_53); - -var __is_17 = ___interopRequireWildcard_17(_$is_57); - -var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); - -function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } - -var InteractableSet = -/*#__PURE__*/ -function () { - function InteractableSet(scope) { - var _this = this; - - ___classCallCheck_17(this, InteractableSet); - - this.scope = scope; - this.signals = new ___Signals_17["default"](); // all set interactables - - this.list = []; - this.selectorMap = {}; - this.signals.on('unset', function (_ref) { - var interactable = _ref.interactable; - var target = interactable.target, - context = interactable._context; - var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; - var targetIndex = targetMappings.findIndex(function (m) { - return m.context === context; - }); - - if (targetMappings[targetIndex]) { - // Destroying mappingInfo's context and interactable - targetMappings[targetIndex].context = null; - targetMappings[targetIndex].interactable = null; - } - - targetMappings.splice(targetIndex, 1); - }); - } - - ___createClass_17(InteractableSet, [{ - key: "new", - value: function _new(target, options) { - options = (0, ___extend_17["default"])(options || {}, { - actions: this.scope.actions - }); - var interactable = new this.scope.Interactable(target, options, this.scope.document); - var mappingInfo = { - context: interactable._context, - interactable: interactable - }; - this.scope.addDocument(interactable._doc); - this.list.push(interactable); - - if (__is_17.string(target)) { - if (!this.selectorMap[target]) { - this.selectorMap[target] = []; - } - - this.selectorMap[target].push(mappingInfo); - } else { - if (!interactable.target[this.scope.id]) { - Object.defineProperty(target, this.scope.id, { - value: [], - configurable: true - }); - } - - target[this.scope.id].push(mappingInfo); - } - - this.signals.fire('new', { - target: target, - options: options, - interactable: interactable, - win: this.scope._win - }); - return interactable; - } - }, { - key: "get", - value: function get(target, options) { - var context = options && options.context || this.scope.document; - var isSelector = __is_17.string(target); - var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; - - if (!targetMappings) { - return null; - } - - var found = __arr_17.find(targetMappings, function (m) { - return m.context === context && (isSelector || m.interactable.inContext(target)); - }); - return found && found.interactable; - } - }, { - key: "forEachMatch", - value: function forEachMatch(node, callback) { - for (var _i = 0; _i < this.list.length; _i++) { - var _ref2; - - _ref2 = this.list[_i]; - var interactable = _ref2; - var ret = void 0; - - if ((__is_17.string(interactable.target) // target is a selector and the element matches - ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element - node === interactable.target) && // the element is in context - interactable.inContext(node)) { - ret = callback(interactable); - } - - if (ret !== undefined) { - return ret; - } - } - } - }]); - - return InteractableSet; -}(); - -_$InteractableSet_17["default"] = InteractableSet; - -var _$BaseEvent_13 = {}; -"use strict"; - -Object.defineProperty(_$BaseEvent_13, "__esModule", { - value: true -}); -_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; - -function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } - -var EventPhase; -_$BaseEvent_13.EventPhase = EventPhase; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); - -var BaseEvent = -/*#__PURE__*/ -function () { - function BaseEvent(interaction) { - ___classCallCheck_13(this, BaseEvent); - - this.immediatePropagationStopped = false; - this.propagationStopped = false; - this._interaction = interaction; - } - - ___createClass_13(BaseEvent, [{ - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }, { - key: "interaction", - get: function get() { - return this._interaction._proxy; - } - }]); - - return BaseEvent; -}(); - -_$BaseEvent_13.BaseEvent = BaseEvent; -var ___default_13 = BaseEvent; -_$BaseEvent_13["default"] = ___default_13; - -var _$InteractEvent_15 = {}; -"use strict"; - -Object.defineProperty(_$InteractEvent_15, "__esModule", { - value: true -}); -_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; - -var ___extend_15 = ___interopRequireDefault_15(_$extend_53); - -var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); - -var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); - -var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); - -var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); - -function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var __EventPhase_15; -_$InteractEvent_15.EventPhase = __EventPhase_15; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); - -var InteractEvent = -/*#__PURE__*/ -function (_BaseEvent) { - _inherits(InteractEvent, _BaseEvent); - - /** */ - function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { - var _this; - - ___classCallCheck_15(this, InteractEvent); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); - element = element || interaction.element; - var target = interaction.interactable; - var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; - var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); - var starting = phase === 'start'; - var ending = phase === 'end'; - var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; - var coords = starting ? interaction.coords.start : ending ? { - page: prevEvent.page, - client: prevEvent.client, - timeStamp: interaction.coords.cur.timeStamp - } : interaction.coords.cur; - _this.page = (0, ___extend_15["default"])({}, coords.page); - _this.client = (0, ___extend_15["default"])({}, coords.client); - _this.rect = (0, ___extend_15["default"])({}, interaction.rect); - _this.timeStamp = coords.timeStamp; - - if (!ending) { - _this.page.x -= origin.x; - _this.page.y -= origin.y; - _this.client.x -= origin.x; - _this.client.y -= origin.y; - } - - _this.ctrlKey = event.ctrlKey; - _this.altKey = event.altKey; - _this.shiftKey = event.shiftKey; - _this.metaKey = event.metaKey; - _this.button = event.button; - _this.buttons = event.buttons; - _this.target = element; - _this.currentTarget = element; - _this.relatedTarget = related || null; - _this.preEnd = preEnd; - _this.type = type || actionName + (phase || ''); - _this.interactable = target; - _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; - _this.x0 = interaction.coords.start.page.x - origin.x; - _this.y0 = interaction.coords.start.page.y - origin.y; - _this.clientX0 = interaction.coords.start.client.x - origin.x; - _this.clientY0 = interaction.coords.start.client.y - origin.y; - - if (starting || ending) { - _this.delta = { - x: 0, - y: 0 - }; - } else { - _this.delta = { - x: _this[deltaSource].x - prevEvent[deltaSource].x, - y: _this[deltaSource].y - prevEvent[deltaSource].y - }; - } - - _this.dt = interaction.coords.delta.timeStamp; - _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second - - _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); - _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); - _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; - return _this; - } - - ___createClass_15(InteractEvent, [{ - key: "getSwipe", - value: function getSwipe() { - var interaction = this._interaction; - - if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { - return null; - } - - var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; - var overlap = 22.5; - - if (angle < 0) { - angle += 360; - } - - var left = 135 - overlap <= angle && angle < 225 + overlap; - var up = 225 - overlap <= angle && angle < 315 + overlap; - var right = !left && (315 - overlap <= angle || angle < 45 + overlap); - var down = !up && 45 - overlap <= angle && angle < 135 + overlap; - return { - up: up, - down: down, - left: left, - right: right, - angle: angle, - speed: interaction.prevEvent.speed, - velocity: { - x: interaction.prevEvent.velocityX, - y: interaction.prevEvent.velocityY - } - }; - } - }, { - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "pageX", - get: function get() { - return this.page.x; - }, - set: function set(value) { - this.page.x = value; - } - }, { - key: "pageY", - get: function get() { - return this.page.y; - }, - set: function set(value) { - this.page.y = value; - } - }, { - key: "clientX", - get: function get() { - return this.client.x; - }, - set: function set(value) { - this.client.x = value; - } - }, { - key: "clientY", - get: function get() { - return this.client.y; - }, - set: function set(value) { - this.client.y = value; - } - }, { - key: "dx", - get: function get() { - return this.delta.x; - }, - set: function set(value) { - this.delta.x = value; - } - }, { - key: "dy", - get: function get() { - return this.delta.y; - }, - set: function set(value) { - this.delta.y = value; - } - }, { - key: "velocityX", - get: function get() { - return this.velocity.x; - }, - set: function set(value) { - this.velocity.x = value; - } - }, { - key: "velocityY", - get: function get() { - return this.velocity.y; - }, - set: function set(value) { - this.velocity.y = value; - } - }]); - - return InteractEvent; -}(_BaseEvent2["default"]); - -_$InteractEvent_15.InteractEvent = InteractEvent; -var ___default_15 = InteractEvent; -_$InteractEvent_15["default"] = ___default_15; - -var _$PointerInfo_19 = {}; -"use strict"; - -Object.defineProperty(_$PointerInfo_19, "__esModule", { - value: true -}); -_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; - -function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/* eslint-disable @typescript-eslint/no-parameter-properties */ -var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { - ___classCallCheck_19(this, PointerInfo); - - this.id = id; - this.pointer = pointer; - this.event = event; - this.downTime = downTime; - this.downTarget = downTarget; -}; - -_$PointerInfo_19.PointerInfo = PointerInfo; -var ___default_19 = PointerInfo; -_$PointerInfo_19["default"] = ___default_19; - -var _$interactionFinder_22 = {}; -"use strict"; - -Object.defineProperty(_$interactionFinder_22, "__esModule", { - value: true -}); -_$interactionFinder_22["default"] = void 0; - -var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); - -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'], - search: function search(details) { - for (var _i = 0; _i < finder.methodOrder.length; _i++) { - var _ref; - - _ref = finder.methodOrder[_i]; - var method = _ref; - var interaction = finder[method](details); - - if (interaction) { - return interaction; - } - } - }, - // try to resume simulation with a new pointer - simulationResume: function simulationResume(_ref2) { - var pointerType = _ref2.pointerType, - eventType = _ref2.eventType, - eventTarget = _ref2.eventTarget, - scope = _ref2.scope; - - if (!/down|start/i.test(eventType)) { - return null; - } - - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref3; - - _ref3 = scope.interactions.list[_i2]; - var interaction = _ref3; - var element = eventTarget; - - if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { - while (element) { - // if the element is the interaction element - if (element === interaction.element) { - return interaction; - } - - element = __dom_22.parentNode(element); - } - } - } - - return null; - }, - // if it's a mouse or pen interaction - mouseOrPen: function mouseOrPen(_ref4) { - var pointerId = _ref4.pointerId, - pointerType = _ref4.pointerType, - eventType = _ref4.eventType, - scope = _ref4.scope; - - if (pointerType !== 'mouse' && pointerType !== 'pen') { - return null; - } - - var firstNonActive; - - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref5; - - _ref5 = scope.interactions.list[_i3]; - var interaction = _ref5; - - if (interaction.pointerType === pointerType) { - // if it's a down event, skip interactions with running simulations - if (interaction.simulation && !hasPointerId(interaction, pointerId)) { - continue; - } // if the interaction is active, return it immediately - - - if (interaction.interacting()) { - return interaction; - } // otherwise save it and look for another active interaction - else if (!firstNonActive) { - firstNonActive = interaction; - } - } - } // if no active mouse interaction was found use the first inactive mouse - // interaction - - - if (firstNonActive) { - return firstNonActive; - } // find any mouse or pen interaction. - // ignore the interaction if the eventType is a *down, and a simulation - // is active - - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref6; - - _ref6 = scope.interactions.list[_i4]; - var _interaction = _ref6; - - if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { - return _interaction; - } - } - - return null; - }, - // get interaction that has this pointer - hasPointer: function hasPointer(_ref7) { - var pointerId = _ref7.pointerId, - scope = _ref7.scope; - - for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { - var _ref8; - - _ref8 = scope.interactions.list[_i5]; - var interaction = _ref8; - - if (hasPointerId(interaction, pointerId)) { - return interaction; - } - } - - return null; - }, - // get first idle interaction with a matching pointerType - idle: function idle(_ref9) { - var pointerType = _ref9.pointerType, - scope = _ref9.scope; - - for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { - var _ref10; - - _ref10 = scope.interactions.list[_i6]; - var interaction = _ref10; - - // if there's already a pointer held down - if (interaction.pointers.length === 1) { - var target = interaction.interactable; // don't add this pointer if there is a target interactable and it - // isn't gesturable - - if (target && !(target.options.gesture && target.options.gesture.enabled)) { - continue; - } - } // maximum of 2 pointers per interaction - else if (interaction.pointers.length >= 2) { - continue; - } - - if (!interaction.interacting() && pointerType === interaction.pointerType) { - return interaction; - } - } - - return null; - } -}; - -function hasPointerId(interaction, pointerId) { - return interaction.pointers.some(function (_ref11) { - var id = _ref11.id; - return id === pointerId; - }); -} - -var ___default_22 = finder; -_$interactionFinder_22["default"] = ___default_22; - -var _$drag_1 = {}; -"use strict"; - -Object.defineProperty(_$drag_1, "__esModule", { - value: true -}); -_$drag_1["default"] = void 0; - -var ___scope_1 = _$scope_24({}); - -var __arr_1 = ___interopRequireWildcard_1(_$arr_47); - -var __is_1 = ___interopRequireWildcard_1(_$is_57); - -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'; - -function __install_1(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('before-action-move', beforeMove); - interactions.signals.on('action-resume', beforeMove); // dragmove - - interactions.signals.on('action-move', move); - Interactable.prototype.draggable = drag.draggable; - actions[___scope_1.ActionName.Drag] = drag; - actions.names.push(___scope_1.ActionName.Drag); - __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); - actions.methodDict.drag = 'draggable'; - defaults.actions.drag = drag.defaults; -} - -function beforeMove(_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x') { - interaction.coords.cur.page.y = interaction.coords.start.page.y; - interaction.coords.cur.client.y = interaction.coords.start.client.y; - interaction.coords.velocity.client.y = 0; - interaction.coords.velocity.page.y = 0; - } else if (axis === 'y') { - interaction.coords.cur.page.x = interaction.coords.start.page.x; - interaction.coords.cur.client.x = interaction.coords.start.client.x; - interaction.coords.velocity.client.x = 0; - interaction.coords.velocity.page.x = 0; - } -} - -function move(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x' || axis === 'y') { - var opposite = axis === 'x' ? 'y' : 'x'; - iEvent.page[opposite] = interaction.coords.start.page[opposite]; - iEvent.client[opposite] = interaction.coords.start.client[opposite]; - iEvent.delta[opposite] = 0; - } -} -/** - * ```js - * interact(element).draggable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // the axis in which the first movement must be - * // for the drag sequence to start - * // 'xy' by default - any direction - * startAxis: 'x' || 'y' || 'xy', - * - * // 'xy' by default - don't restrict to one axis (move in any direction) - * // 'x' or 'y' to restrict movement to either axis - * // 'start' to restrict movement to the axis the drag started in - * lockAxis: 'x' || 'y' || 'xy' || 'start', - * - * // max number of drags that can happen concurrently - * // with elements of this Interactable. Infinity by default - * max: Infinity, - * - * // max number of drags that can target the same element+Interactable - * // 1 by default - * maxPerElement: 2 - * }) - * - * var isDraggable = interact('element').draggable(); // true - * ``` - * - * Get or set whether drag actions can be performed on the target - * - * @alias Interactable.prototype.draggable - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on drag events (object makes the Interactable - * draggable) - * @return {boolean | Interactable} boolean indicating if this can be the - * target of drag events, or this Interctable - */ - - -var draggable = function draggable(options) { - if (__is_1.object(options)) { - this.options.drag.enabled = options.enabled !== false; - this.setPerAction('drag', options); - this.setOnEvents('drag', options); - - if (/^(xy|x|y|start)$/.test(options.lockAxis)) { - this.options.drag.lockAxis = options.lockAxis; - } - - if (/^(xy|x|y)$/.test(options.startAxis)) { - this.options.drag.startAxis = options.startAxis; - } - - return this; - } - - if (__is_1.bool(options)) { - this.options.drag.enabled = options; - return this; - } - - return this.options.drag; -}; - -var drag = { - id: 'actions/drag', - install: __install_1, - draggable: draggable, - beforeMove: beforeMove, - move: move, - defaults: { - startAxis: 'xy', - lockAxis: 'xy' - }, - checker: function checker(_pointer, _event, interactable) { - var dragOptions = interactable.options.drag; - return dragOptions.enabled ? { - name: 'drag', - axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis - } : null; - }, - getCursor: function getCursor() { - return 'move'; - } -}; -var ___default_1 = drag; -_$drag_1["default"] = ___default_1; - -var _$DropEvent_2 = {}; -"use strict"; - -Object.defineProperty(_$DropEvent_2, "__esModule", { - value: true -}); -_$DropEvent_2["default"] = void 0; - -var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); - -var __arr_2 = ___interopRequireWildcard_2(_$arr_47); - -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 }; } - -function ___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); } - -function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } - -function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } - -function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } - -function ___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); } - -function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } - -var DropEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_2(DropEvent, _BaseEvent); - - /** - * Class of events fired on dropzones during drags with acceptable targets. - */ - function DropEvent(dropState, dragEvent, type) { - var _this; - - ___classCallCheck_2(this, DropEvent); - - _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); - _this.propagationStopped = false; - _this.immediatePropagationStopped = false; - - var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, - element = _ref.element, - dropzone = _ref.dropzone; - - _this.type = type; - _this.target = element; - _this.currentTarget = element; - _this.dropzone = dropzone; - _this.dragEvent = dragEvent; - _this.relatedTarget = dragEvent.target; - _this.draggable = dragEvent.interactable; - _this.timeStamp = dragEvent.timeStamp; - return _this; - } - /** - * If this is a `dropactivate` event, the dropzone element will be - * deactivated. - * - * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the - * dropzone element and more. - */ - - - ___createClass_2(DropEvent, [{ - key: "reject", - value: function reject() { - var _this2 = this; - - var dropState = this._interaction.dropState; - - if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { - return; - } - - dropState.prev.dropzone = this.dropzone; - dropState.prev.element = this.target; - dropState.rejected = true; - dropState.events.enter = null; - this.stopImmediatePropagation(); - - if (this.type === 'dropactivate') { - var activeDrops = dropState.activeDrops; - var index = __arr_2.findIndex(activeDrops, function (_ref2) { - var dropzone = _ref2.dropzone, - element = _ref2.element; - return dropzone === _this2.dropzone && element === _this2.target; - }); - dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); - var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); - deactivateEvent.dropzone = this.dropzone; - deactivateEvent.target = this.target; - this.dropzone.fire(deactivateEvent); - } else { - this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); - } - } - }, { - key: "preventDefault", - value: function preventDefault() {} - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }]); - - return DropEvent; -}(___BaseEvent2_2["default"]); - -var ___default_2 = DropEvent; -_$DropEvent_2["default"] = ___default_2; - -var _$drop_3 = {}; -"use strict"; - -Object.defineProperty(_$drop_3, "__esModule", { - value: true -}); -_$drop_3["default"] = void 0; - -var __utils_3 = ___interopRequireWildcard_3(_$utils_56); - -var _drag = ___interopRequireDefault_3(_$drag_1); - -var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); - -function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interact = scope.interact, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_drag["default"]); - interactions.signals.on('before-action-start', function (_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - interaction.dropState = { - cur: { - dropzone: null, - element: null - }, - prev: { - dropzone: null, - element: null - }, - rejected: null, - events: null, - activeDrops: null - }; - }); - interactions.signals.on('after-action-start', function (_ref2) { - var interaction = _ref2.interaction, - event = _ref2.event, - dragEvent = _ref2.iEvent; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; // reset active dropzones - - dropState.activeDrops = null; - dropState.events = null; - dropState.activeDrops = getActiveDrops(scope, interaction.element); - dropState.events = getDropEvents(interaction, event, dragEvent); - - if (dropState.events.activate) { - fireActivationEvents(dropState.activeDrops, dropState.events.activate); - } - }); // FIXME proper signal types - - interactions.signals.on('action-move', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('action-end', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('after-action-move', function (_ref3) { - var interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - interaction.dropState.events = {}; - }); - interactions.signals.on('after-action-end', function (_ref4) { - var interaction = _ref4.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - }); - interactions.signals.on('stop', function (_ref5) { - var interaction = _ref5.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; - - if (dropState) { - dropState.activeDrops = null; - dropState.events = null; - dropState.cur.dropzone = null; - dropState.cur.element = null; - dropState.prev.dropzone = null; - dropState.prev.element = null; - dropState.rejected = false; - } - }); - /** - * - * ```js - * interact('.drop').dropzone({ - * accept: '.can-drop' || document.getElementById('single-drop'), - * overlap: 'pointer' || 'center' || zeroToOne - * } - * ``` - * - * Returns or sets whether draggables can be dropped onto this target to - * trigger drop events - * - * Dropzones can receive the following events: - * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends - * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone - * - `dragmove` when a draggable that has entered the dropzone is moved - * - `drop` when a draggable is dropped into this dropzone - * - * Use the `accept` option to allow only elements that match the given CSS - * selector or element. The value can be: - * - * - **an Element** - only that element can be dropped into this dropzone. - * - **a string**, - the element being dragged must match it as a CSS selector. - * - **`null`** - accept options is cleared - it accepts any element. - * - * Use the `overlap` option to set how drops are checked for. The allowed - * values are: - * - * - `'pointer'`, the pointer must be over the dropzone (default) - * - `'center'`, the draggable element's center must be over the dropzone - * - a number from 0-1 which is the `(intersection area) / (draggable area)`. - * e.g. `0.5` for drop to happen when half of the area of the draggable is - * over the dropzone - * - * Use the `checker` option to specify a function to check if a dragged element - * is over this Interactable. - * - * @param {boolean | object | null} [options] The new options to be set. - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.dropzone = function (options) { - return dropzoneMethod(this, options); - }; - /** - * ```js - * interact(target) - * .dropChecker(function(dragEvent, // related dragmove or dragend event - * event, // TouchEvent/PointerEvent/MouseEvent - * dropped, // bool result of the default checker - * dropzone, // dropzone Interactable - * dropElement, // dropzone elemnt - * draggable, // draggable Interactable - * draggableElement) {// draggable element - * - * return dropped && event.target.hasAttribute('allow-drop') - * } - * ``` - */ - - - Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { - return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); - }; - /** - * Returns or sets whether the dimensions of dropzone elements are calculated - * on every dragmove or only on dragstart for the default dropChecker - * - * @param {boolean} [newValue] True to check on each move. False to check only - * before start - * @return {boolean | interact} The current setting or interact - */ - - - interact.dynamicDrop = function (newValue) { - if (__utils_3.is.bool(newValue)) { - // if (dragging && scope.dynamicDrop !== newValue && !newValue) { - // calcRects(dropzones) - // } - scope.dynamicDrop = newValue; - return interact; - } - - return scope.dynamicDrop; - }; - - __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); - actions.methodDict.drop = 'dropzone'; - scope.dynamicDrop = false; - defaults.actions.drop = drop.defaults; -} - -function collectDrops(_ref6, draggableElement) { - var interactables = _ref6.interactables; - var drops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i = 0; _i < interactables.list.length; _i++) { - var _ref7; - - _ref7 = interactables.list[_i]; - var dropzone = _ref7; - - if (!dropzone.options.drop.enabled) { - continue; - } - - var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting - - 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({ - dropzone: dropzone, - draggableElement: draggableElement - })) { - continue; - } // query for new elements if necessary - - - var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; - - for (var _i2 = 0; _i2 < dropElements.length; _i2++) { - var _ref8; - - _ref8 = dropElements[_i2]; - var dropzoneElement = _ref8; - - if (dropzoneElement !== draggableElement) { - drops.push({ - dropzone: dropzone, - element: dropzoneElement - }); - } - } - } - - return drops; -} - -function fireActivationEvents(activeDrops, event) { - // loop through all active dropzones and trigger event - for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { - var _ref9; - - _ref9 = activeDrops[_i3]; - var _ref10 = _ref9, - dropzone = _ref10.dropzone, - element = _ref10.element; - event.dropzone = dropzone; // set current element as event target - - event.target = element; - dropzone.fire(event); - event.propagationStopped = event.immediatePropagationStopped = false; - } -} // return a new array of possible drops. getActiveDrops should always be -// called when a drag has just started or a drag event happens while -// dynamicDrop is true - - -function getActiveDrops(scope, dragElement) { - // get dropzones and their elements that could receive the draggable - var activeDrops = collectDrops(scope, dragElement); - - for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { - var _ref11; - - _ref11 = activeDrops[_i4]; - var activeDrop = _ref11; - activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); - } - - return activeDrops; -} - -function getDrop(_ref12, dragEvent, pointerEvent) { - var dropState = _ref12.dropState, - draggable = _ref12.interactable, - dragElement = _ref12.element; - var validDrops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { - var _ref13; - - _ref13 = dropState.activeDrops[_i5]; - var _ref14 = _ref13, - dropzone = _ref14.dropzone, - dropzoneElement = _ref14.element, - rect = _ref14.rect; - validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); - } // get the most appropriate dropzone based on DOM depth and order - - - var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); - return dropState.activeDrops[dropIndex] || null; -} - -function getDropEvents(interaction, _pointerEvent, dragEvent) { - var dropState = interaction.dropState; - var dropEvents = { - enter: null, - leave: null, - activate: null, - deactivate: null, - move: null, - drop: null - }; - - if (dragEvent.type === 'dragstart') { - dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); - dropEvents.activate.target = null; - dropEvents.activate.dropzone = null; - } - - if (dragEvent.type === 'dragend') { - dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); - dropEvents.deactivate.target = null; - dropEvents.deactivate.dropzone = null; - } - - if (dropState.rejected) { - return dropEvents; - } - - if (dropState.cur.element !== dropState.prev.element) { - // if there was a previous dropzone, create a dragleave event - if (dropState.prev.dropzone) { - dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); - dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; - dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; - } // if dropzone is not null, create a dragenter event - - - if (dropState.cur.dropzone) { - dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); - dragEvent.dragEnter = dropState.cur.element; - dragEvent.dropzone = dropState.cur.dropzone; - } - } - - if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { - dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); - dragEvent.dropzone = dropState.cur.dropzone; - dragEvent.relatedTarget = dropState.cur.element; - } - - if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { - dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); - dropEvents.move.dragmove = dragEvent; - dragEvent.dropzone = dropState.cur.dropzone; - } - - return dropEvents; -} - -function fireDropEvents(interaction, events) { - var dropState = interaction.dropState; - var activeDrops = dropState.activeDrops, - cur = dropState.cur, - prev = dropState.prev; - - if (events.leave) { - prev.dropzone.fire(events.leave); - } - - if (events.move) { - cur.dropzone.fire(events.move); - } - - if (events.enter) { - cur.dropzone.fire(events.enter); - } - - if (events.drop) { - cur.dropzone.fire(events.drop); - } - - if (events.deactivate) { - fireActivationEvents(activeDrops, events.deactivate); - } - - dropState.prev.dropzone = cur.dropzone; - dropState.prev.element = cur.element; -} - -function onEventCreated(_ref15, scope) { - var interaction = _ref15.interaction, - iEvent = _ref15.iEvent, - event = _ref15.event; - - if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { - return; - } - - var dropState = interaction.dropState; - - if (scope.dynamicDrop) { - dropState.activeDrops = getActiveDrops(scope, interaction.element); - } - - var dragEvent = iEvent; - var dropResult = getDrop(interaction, dragEvent, event); // update rejected status - - dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; - dropState.cur.dropzone = dropResult && dropResult.dropzone; - dropState.cur.element = dropResult && dropResult.element; - dropState.events = getDropEvents(interaction, event, dragEvent); -} - -function dropzoneMethod(interactable, options) { - if (__utils_3.is.object(options)) { - interactable.options.drop.enabled = options.enabled !== false; - - if (options.listeners) { - var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' - - var corrected = Object.keys(normalized).reduce(function (acc, type) { - var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; - acc[correctedType] = normalized[type]; - return acc; - }, {}); - interactable.off(interactable.options.drop.listeners); - interactable.on(corrected); - interactable.options.drop.listeners = corrected; - } - - if (__utils_3.is.func(options.ondrop)) { - interactable.on('drop', options.ondrop); - } - - if (__utils_3.is.func(options.ondropactivate)) { - interactable.on('dropactivate', options.ondropactivate); - } - - if (__utils_3.is.func(options.ondropdeactivate)) { - interactable.on('dropdeactivate', options.ondropdeactivate); - } - - if (__utils_3.is.func(options.ondragenter)) { - interactable.on('dragenter', options.ondragenter); - } - - if (__utils_3.is.func(options.ondragleave)) { - interactable.on('dragleave', options.ondragleave); - } - - if (__utils_3.is.func(options.ondropmove)) { - interactable.on('dropmove', options.ondropmove); - } - - if (/^(pointer|center)$/.test(options.overlap)) { - interactable.options.drop.overlap = options.overlap; - } else if (__utils_3.is.number(options.overlap)) { - interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); - } - - if ('accept' in options) { - interactable.options.drop.accept = options.accept; - } - - if ('checker' in options) { - interactable.options.drop.checker = options.checker; - } - - return interactable; - } - - if (__utils_3.is.bool(options)) { - interactable.options.drop.enabled = options; - return interactable; - } - - return interactable.options.drop; -} - -function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { - var dropped = false; // if the dropzone has no rect (eg. display: none) - // call the custom dropChecker or just return false - - if (!(rect = rect || interactable.getRect(dropElement))) { - return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; - } - - var dropOverlap = interactable.options.drop.overlap; - - if (dropOverlap === 'pointer') { - var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); - var page = __utils_3.pointer.getPageXY(dragEvent); - page.x += origin.x; - page.y += origin.y; - var horizontal = page.x > rect.left && page.x < rect.right; - var vertical = page.y > rect.top && page.y < rect.bottom; - dropped = horizontal && vertical; - } - - var dragRect = draggable.getRect(draggableElement); - - if (dragRect && dropOverlap === 'center') { - var cx = dragRect.left + dragRect.width / 2; - var cy = dragRect.top + dragRect.height / 2; - dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; - } - - if (dragRect && __utils_3.is.number(dropOverlap)) { - 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)); - var overlapRatio = overlapArea / (dragRect.width * dragRect.height); - dropped = overlapRatio >= dropOverlap; - } - - if (interactable.options.drop.checker) { - dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); - } - - return dropped; -} - -var drop = { - id: 'actions/drop', - install: __install_3, - getActiveDrops: getActiveDrops, - getDrop: getDrop, - getDropEvents: getDropEvents, - fireDropEvents: fireDropEvents, - defaults: { - enabled: false, - accept: null, - overlap: 'pointer' - } -}; -var ___default_3 = drop; -_$drop_3["default"] = ___default_3; - -var _$gesture_4 = {}; -"use strict"; - -Object.defineProperty(_$gesture_4, "__esModule", { - value: true -}); -_$gesture_4["default"] = void 0; - -var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); - -var ___scope_4 = _$scope_24({}); - -var __utils_4 = ___interopRequireWildcard_4(_$utils_56); - -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 }; } - -___scope_4.ActionName.Gesture = 'gesture'; - -function __install_4(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - /** - * ```js - * interact(element).gesturable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // limit multiple gestures. - * // See the explanation in {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isGestureable = interact(element).gesturable() - * ``` - * - * Gets or sets whether multitouch gestures can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on gesture events (makes the Interactable gesturable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of gesture events, or this Interactable - */ - - Interactable.prototype.gesturable = function (options) { - if (__utils_4.is.object(options)) { - this.options.gesture.enabled = options.enabled !== false; - this.setPerAction('gesture', options); - this.setOnEvents('gesture', options); - return this; - } - - if (__utils_4.is.bool(options)) { - this.options.gesture.enabled = options; - return this; - } - - return this.options.gesture; - }; - - interactions.signals.on('action-start', updateGestureProps); - interactions.signals.on('action-move', updateGestureProps); - interactions.signals.on('action-end', updateGestureProps); - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.gesture = { - angle: 0, - distance: 0, - scale: 1, - startAngle: 0, - startDistance: 0 - }; - }); - actions[___scope_4.ActionName.Gesture] = gesture; - actions.names.push(___scope_4.ActionName.Gesture); - __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); - actions.methodDict.gesture = 'gesturable'; - defaults.actions.gesture = gesture.defaults; -} - -var gesture = { - id: 'actions/gesture', - install: __install_4, - defaults: {}, - checker: function checker(_pointer, _event, _interactable, _element, interaction) { - if (interaction.pointers.length >= 2) { - return { - name: 'gesture' - }; - } - - return null; - }, - getCursor: function getCursor() { - return ''; - } -}; - -function updateGestureProps(_ref2) { - var interaction = _ref2.interaction, - iEvent = _ref2.iEvent, - event = _ref2.event, - phase = _ref2.phase; - - if (interaction.prepared.name !== 'gesture') { - return; - } - - var pointers = interaction.pointers.map(function (p) { - return p.pointer; - }); - var starting = phase === 'start'; - var ending = phase === 'end'; - var deltaSource = interaction.interactable.options.deltaSource; - iEvent.touches = [pointers[0], pointers[1]]; - - if (starting) { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = 1; - iEvent.ds = 0; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.da = 0; - interaction.gesture.startDistance = iEvent.distance; - interaction.gesture.startAngle = iEvent.angle; - } else if (ending || event instanceof ___InteractEvent_4["default"]) { - var prevEvent = interaction.prevEvent; - iEvent.distance = prevEvent.distance; - iEvent.box = prevEvent.box; - iEvent.scale = prevEvent.scale; - iEvent.ds = 0; - iEvent.angle = prevEvent.angle; - iEvent.da = 0; - } else { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = iEvent.distance / interaction.gesture.startDistance; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.ds = iEvent.scale - interaction.gesture.scale; - iEvent.da = iEvent.angle - interaction.gesture.angle; - } - - interaction.gesture.distance = iEvent.distance; - interaction.gesture.angle = iEvent.angle; - - if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { - interaction.gesture.scale = iEvent.scale; - } -} - -var ___default_4 = gesture; -_$gesture_4["default"] = ___default_4; - -var _$resize_6 = {}; -"use strict"; - -Object.defineProperty(_$resize_6, "__esModule", { - value: true -}); -_$resize_6["default"] = void 0; - -var ___scope_6 = _$scope_24({}); - -var __arr_6 = ___interopRequireWildcard_6(_$arr_47); - -var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); - -var ___extend_6 = ___interopRequireDefault_6(_$extend_53); - -var __is_6 = ___interopRequireWildcard_6(_$is_57); - -function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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'; - -function __install_6(scope) { - var actions = scope.actions, - browser = scope.browser, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; // Less Precision with touch input - - interactions.signals.on('new', function (interaction) { - interaction.resizeAxes = 'xy'; - }); - 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); - resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; - /** - * ```js - * interact(element).resizable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * edges: { - * top : true, // Use pointer coords to check for resize. - * left : false, // Disable resizing from left edge. - * bottom: '.resize-s',// Resize if pointer target matches selector - * right : handleEl // Resize if pointer target is the given Element - * }, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height are adjusted at a 1:1 ratio. - * square: false, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height maintain the aspect ratio they had when resizing started. - * preserveAspectRatio: false, - * - * // a value of 'none' will limit the resize rect to a minimum of 0x0 - * // 'negate' will allow the rect to have negative width/height - * // 'reposition' will keep the width/height positive by swapping - * // the top and bottom edges and/or swapping the left and right edges - * invert: 'none' || 'negate' || 'reposition' - * - * // limit multiple resizes. - * // See the explanation in the {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isResizeable = interact(element).resizable() - * ``` - * - * Gets or sets whether resize actions can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on resize events (object makes the Interactable - * resizable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of resize elements, or this Interactable - */ - - Interactable.prototype.resizable = function (options) { - return resizable(this, options, scope); - }; - - actions[___scope_6.ActionName.Resize] = resize; - actions.names.push(___scope_6.ActionName.Resize); - __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); - actions.methodDict.resize = 'resizable'; - defaults.actions.resize = resize.defaults; -} - -var resize = { - id: 'actions/resize', - install: __install_6, - defaults: { - square: false, - preserveAspectRatio: false, - axis: 'xy', - // use default margin - margin: NaN, - // object with props left, right, top, bottom which are - // true/false values to resize when the pointer is over that edge, - // CSS selectors to match the handles for each direction - // or the Elements for each handle - edges: null, - // a value of 'none' will limit the resize rect to a minimum of 0x0 - // 'negate' will alow the rect to have negative width/height - // 'reposition' will keep the width/height positive by swapping - // the top and bottom edges and/or swapping the left and right edges - invert: 'none' - }, - checker: function checker(_pointer, _event, interactable, element, interaction, rect) { - if (!rect) { - return null; - } - - var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); - var options = interactable.options; - - if (options.resize.enabled) { - var resizeOptions = options.resize; - var resizeEdges = { - left: false, - right: false, - top: false, - bottom: false - }; // if using resize.edges - - if (__is_6.object(resizeOptions.edges)) { - for (var edge in resizeEdges) { - resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); - } - - resizeEdges.left = resizeEdges.left && !resizeEdges.right; - resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; - - if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { - return { - name: 'resize', - edges: resizeEdges - }; - } - } else { - var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; - var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; - - if (right || bottom) { - return { - name: 'resize', - axes: (right ? 'x' : '') + (bottom ? 'y' : '') - }; - } - } - } - - return null; - }, - cursors: null, - getCursor: function getCursor(_ref) { - var edges = _ref.edges, - axis = _ref.axis, - name = _ref.name; - var cursors = resize.cursors; - var result = null; - - if (axis) { - result = cursors[name + axis]; - } else if (edges) { - var cursorKey = ''; - var _arr = ['top', 'bottom', 'left', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (edges[edge]) { - cursorKey += edge; - } - } - - result = cursors[cursorKey]; - } - - return result; - }, - defaultMargin: null -}; - -function resizable(interactable, options, scope) { - if (__is_6.object(options)) { - interactable.options.resize.enabled = options.enabled !== false; - interactable.setPerAction('resize', options); - interactable.setOnEvents('resize', options); - - if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { - interactable.options.resize.axis = options.axis; - } else if (options.axis === null) { - interactable.options.resize.axis = scope.defaults.actions.resize.axis; - } - - if (__is_6.bool(options.preserveAspectRatio)) { - interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; - } else if (__is_6.bool(options.square)) { - interactable.options.resize.square = options.square; - } - - return interactable; - } - - if (__is_6.bool(options)) { - interactable.options.resize.enabled = options; - return interactable; - } - - return interactable.options.resize; -} - -function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { - // false, '', undefined, null - if (!value) { - return false; - } // true value, use pointer coords and element rect - - - if (value === true) { - // if dimensions are negative, "switch" edges - var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; - var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension - - margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); - - if (width < 0) { - if (name === 'left') { - name = 'right'; - } else if (name === 'right') { - name = 'left'; - } - } - - if (height < 0) { - if (name === 'top') { - name = 'bottom'; - } else if (name === 'bottom') { - name = 'top'; - } - } - - if (name === 'left') { - return page.x < (width >= 0 ? rect.left : rect.right) + margin; - } - - if (name === 'top') { - return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; - } - - if (name === 'right') { - return page.x > (width >= 0 ? rect.right : rect.left) - margin; - } - - if (name === 'bottom') { - return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; - } - } // the remaining checks require an element - - - if (!__is_6.element(element)) { - return false; - } - - return __is_6.element(value) // the value is an element to use as a resize handle - ? value === element // otherwise check if element matches value as selector - : __dom_6.matchesUpTo(element, value, interactableElement); -} - -function initCursors(browser) { - return browser.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 start(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - 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 - * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make - * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend - * on the active edges and the edge being interacted with. - */ - - if (resizeOptions.square || resizeOptions.preserveAspectRatio) { - var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); - linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; - linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; - linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; - linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; - interaction.prepared._linkedEdges = linkedEdges; - } else { - interaction.prepared._linkedEdges = null; - } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize - - - if (resizeOptions.preserveAspectRatio) { - interaction.resizeStartAspectRatio = startRect.width / startRect.height; - } - - interaction.resizeRects = { - start: 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: { - left: 0, - right: 0, - width: 0, - top: 0, - bottom: 0, - height: 0 - } - }; - iEvent.edges = interaction.prepared.edges; - iEvent.rect = interaction.resizeRects.inverted; - iEvent.deltaRect = interaction.resizeRects.delta; -} - -function __move_6(_ref3) { - var iEvent = _ref3.iEvent, - interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - var resizeOptions = interaction.interactable.options.resize; - var invert = resizeOptions.invert; - var invertible = invert === 'reposition' || invert === 'negate'; - var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow - - var start = interaction.resizeRects.start; - var current = interaction.resizeRects.current; - var inverted = interaction.resizeRects.inverted; - var deltaRect = interaction.resizeRects.delta; - var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); - var originalEdges = edges; - var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); - - if (resizeOptions.preserveAspectRatio || resizeOptions.square) { - // `resize.preserveAspectRatio` takes precedence over `resize.square` - var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; - edges = interaction.prepared._linkedEdges; - - if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { - eventDelta.y = -eventDelta.x / startAspectRatio; - } else if (originalEdges.left || originalEdges.right) { - eventDelta.y = eventDelta.x / startAspectRatio; - } else if (originalEdges.top || originalEdges.bottom) { - eventDelta.x = eventDelta.y * startAspectRatio; - } - } // update the 'current' rect without modifications - - - if (edges.top) { - current.top += eventDelta.y; - } - - if (edges.bottom) { - current.bottom += eventDelta.y; - } - - if (edges.left) { - current.left += eventDelta.x; - } - - if (edges.right) { - current.right += eventDelta.x; - } - - if (invertible) { - // if invertible, copy the current rect - (0, ___extend_6["default"])(inverted, current); - - if (invert === 'reposition') { - // swap edge values if necessary to keep width/height positive - var swap; - - if (inverted.top > inverted.bottom) { - swap = inverted.top; - inverted.top = inverted.bottom; - inverted.bottom = swap; - } - - if (inverted.left > inverted.right) { - swap = inverted.left; - inverted.left = inverted.right; - inverted.right = swap; - } - } - } else { - // if not invertible, restrict to minimum of 0x0 rect - inverted.top = Math.min(current.top, start.bottom); - inverted.bottom = Math.max(current.bottom, start.top); - inverted.left = Math.min(current.left, start.right); - inverted.right = Math.max(current.right, start.left); - } - - inverted.width = inverted.right - inverted.left; - inverted.height = inverted.bottom - inverted.top; - - for (var edge in inverted) { - deltaRect[edge] = inverted[edge] - previous[edge]; - } - - iEvent.edges = interaction.prepared.edges; - iEvent.rect = inverted; - iEvent.deltaRect = deltaRect; -} - -function end(_ref4) { - var iEvent = _ref4.iEvent, - interaction = _ref4.interaction; - - 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; - } - - var options = interaction.interactable.options; - - if (options.resize.square) { - if (interaction.resizeAxes === 'y') { - iEvent.delta.x = iEvent.delta.y; - } else { - iEvent.delta.y = iEvent.delta.x; - } - - iEvent.axes = 'xy'; - } else { - iEvent.axes = interaction.resizeAxes; - - if (interaction.resizeAxes === 'x') { - iEvent.delta.y = 0; - } else if (interaction.resizeAxes === 'y') { - iEvent.delta.x = 0; - } - } -} - -var ___default_6 = resize; -_$resize_6["default"] = ___default_6; - -var _$actions_5 = {}; -"use strict"; - -Object.defineProperty(_$actions_5, "__esModule", { - value: true -}); -_$actions_5.install = __install_5; -Object.defineProperty(_$actions_5, "drag", { - enumerable: true, - get: function get() { - return ___drag_5["default"]; - } -}); -Object.defineProperty(_$actions_5, "drop", { - enumerable: true, - get: function get() { - return _drop["default"]; - } -}); -Object.defineProperty(_$actions_5, "gesture", { - enumerable: true, - get: function get() { - return _gesture["default"]; - } -}); -Object.defineProperty(_$actions_5, "resize", { - enumerable: true, - get: function get() { - return _resize["default"]; - } -}); -_$actions_5.id = void 0; - -var ___drag_5 = ___interopRequireDefault_5(_$drag_1); - -var _drop = ___interopRequireDefault_5(_$drop_3); - -var _gesture = ___interopRequireDefault_5(_$gesture_4); - -var _resize = ___interopRequireDefault_5(_$resize_6); - -function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_5(scope) { - scope.usePlugin(_gesture["default"]); - scope.usePlugin(_resize["default"]); - scope.usePlugin(___drag_5["default"]); - scope.usePlugin(_drop["default"]); -} - -var id = 'actions'; -_$actions_5.id = id; - -var _$autoScroll_7 = {}; -"use strict"; - -Object.defineProperty(_$autoScroll_7, "__esModule", { - value: true -}); -_$autoScroll_7.getContainer = getContainer; -_$autoScroll_7.getScroll = getScroll; -_$autoScroll_7.getScrollSize = getScrollSize; -_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; -_$autoScroll_7["default"] = void 0; - -var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); - -var __is_7 = ___interopRequireWildcard_7(_$is_57); - -var ___raf_7 = ___interopRequireDefault_7(_$raf_62); - -/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - defaults = scope.defaults, - actions = scope.actions; - scope.autoScroll = autoScroll; - - autoScroll.now = function () { - return scope.now(); - }; - - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.autoScroll = null; - }); - interactions.signals.on('destroy', function (_ref2) { - var interaction = _ref2.interaction; - interaction.autoScroll = null; - autoScroll.stop(); - - if (autoScroll.interaction) { - autoScroll.interaction = null; - } - }); - interactions.signals.on('stop', autoScroll.stop); - interactions.signals.on('action-move', function (arg) { - return autoScroll.onInteractionMove(arg); - }); - actions.eventTypes.push('autoscroll'); - defaults.perAction.autoScroll = autoScroll.defaults; -} - -var autoScroll = { - defaults: { - enabled: false, - margin: 60, - // the item that is scrolled (Window or HTMLElement) - container: null, - // the scroll speed in pixels per second - speed: 300 - }, - now: Date.now, - interaction: null, - i: null, - x: 0, - y: 0, - isScrolling: false, - prevTime: 0, - margin: 0, - speed: 0, - start: function start(interaction) { - autoScroll.isScrolling = true; - - ___raf_7["default"].cancel(autoScroll.i); - - interaction.autoScroll = autoScroll; - autoScroll.interaction = interaction; - autoScroll.prevTime = autoScroll.now(); - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - }, - stop: function stop() { - autoScroll.isScrolling = false; - - if (autoScroll.interaction) { - autoScroll.interaction.autoScroll = null; - } - - ___raf_7["default"].cancel(autoScroll.i); - }, - // scroll the window by the values in scroll.x/y - scroll: function scroll() { - var interaction = autoScroll.interaction; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - var now = autoScroll.now(); // change in time in seconds - - var dt = (now - autoScroll.prevTime) / 1000; // displacement - - var s = options.speed * dt; - - if (s >= 1) { - var scrollBy = { - x: autoScroll.x * s, - y: autoScroll.y * s - }; - - if (scrollBy.x || scrollBy.y) { - var prevScroll = getScroll(container); - - if (__is_7.window(container)) { - container.scrollBy(scrollBy.x, scrollBy.y); - } else if (container) { - container.scrollLeft += scrollBy.x; - container.scrollTop += scrollBy.y; - } - - var curScroll = getScroll(container); - var delta = { - x: curScroll.x - prevScroll.x, - y: curScroll.y - prevScroll.y - }; - - if (delta.x || delta.y) { - interactable.fire({ - type: 'autoscroll', - target: element, - interactable: interactable, - delta: delta, - interaction: interaction, - container: container - }); - } - } - - autoScroll.prevTime = now; - } - - if (autoScroll.isScrolling) { - ___raf_7["default"].cancel(autoScroll.i); - - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - } - }, - check: function check(interactable, actionName) { - var options = interactable.options; - return options[actionName].autoScroll && options[actionName].autoScroll.enabled; - }, - onInteractionMove: function onInteractionMove(_ref3) { - var interaction = _ref3.interaction, - pointer = _ref3.pointer; - - if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { - return; - } - - if (interaction.simulation) { - autoScroll.x = autoScroll.y = 0; - return; - } - - var top; - var right; - var bottom; - var left; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - - if (__is_7.window(container)) { - left = pointer.clientX < autoScroll.margin; - top = pointer.clientY < autoScroll.margin; - right = pointer.clientX > container.innerWidth - autoScroll.margin; - bottom = pointer.clientY > container.innerHeight - autoScroll.margin; - } else { - var rect = __domUtils_7.getElementClientRect(container); - left = pointer.clientX < rect.left + autoScroll.margin; - top = pointer.clientY < rect.top + autoScroll.margin; - right = pointer.clientX > rect.right - autoScroll.margin; - bottom = pointer.clientY > rect.bottom - autoScroll.margin; - } - - autoScroll.x = right ? 1 : left ? -1 : 0; - autoScroll.y = bottom ? 1 : top ? -1 : 0; - - if (!autoScroll.isScrolling) { - // set the autoScroll properties to those of the target - autoScroll.margin = options.margin; - autoScroll.speed = options.speed; - autoScroll.start(interaction); - } - } -}; - -function getContainer(value, interactable, element) { - return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); -} - -function getScroll(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollLeft, - y: container.scrollTop - }; -} - -function getScrollSize(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollWidth, - y: container.scrollHeight - }; -} - -function getScrollSizeDelta(_ref4, func) { - var interaction = _ref4.interaction, - element = _ref4.element; - var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; - - if (!scrollOptions || !scrollOptions.enabled) { - func(); - return { - x: 0, - y: 0 - }; - } - - var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); - var prevSize = getScroll(scrollContainer); - func(); - var curSize = getScroll(scrollContainer); - return { - x: curSize.x - prevSize.x, - y: curSize.y - prevSize.y - }; -} - -var ___default_7 = { - id: 'auto-scroll', - install: __install_7 -}; -_$autoScroll_7["default"] = ___default_7; - -var _$InteractableMethods_8 = {}; -"use strict"; - -Object.defineProperty(_$InteractableMethods_8, "__esModule", { - value: true -}); -_$InteractableMethods_8["default"] = void 0; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -var __is_8 = ___interopRequireWildcard_8(_$is_57); - -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, - actions = scope.actions; - Interactable.prototype.getAction = getAction; - /** - * ```js - * interact(element, { ignoreFrom: document.getElementById('no-action') }) - * // or - * interact(element).ignoreFrom('input, textarea, a') - * ``` - * @deprecated - * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any - * of it's parents match the given CSS selector or Element, no - * drag/resize/gesture is started. - * - * Don't use this method. Instead set the `ignoreFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .draggable({ - * ignoreFrom: 'input, textarea, a[href]'', - * }) - * .pointerEvents({ - * ignoreFrom: '[no-pointer]', - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to not ignore any elements - * @return {string | Element | object} The current ignoreFrom value or this - * Interactable - */ - - Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('ignoreFrom', newValue); - }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); - /** - * @deprecated - * - * A drag/resize/gesture is started only If the target of the `mousedown`, - * `pointerdown` or `touchstart` event or any of it's parents match the given - * CSS selector or Element. - * - * Don't use this method. Instead set the `allowFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .resizable({ - * allowFrom: '.resize-handle', - * .pointerEvents({ - * allowFrom: '.handle',, - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to allow from any element - * @return {string | Element | object} The current allowFrom value or this - * Interactable - */ - - Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('allowFrom', newValue); - }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); - /** - * ```js - * interact('.resize-drag') - * .resizable(true) - * .draggable(true) - * .actionChecker(function (pointer, event, action, interactable, element, interaction) { - * - * if (interact.matchesSelector(event.target, '.drag-handle')) { - * // force drag with handle target - * action.name = drag - * } - * else { - * // resize from the top and right edges - * action.name = 'resize' - * action.edges = { top: true, right: true } - * } - * - * return action - * }) - * ``` - * - * Returns or sets the function used to check action to be performed on - * pointerDown - * - * @param {function | null} [checker] A function which takes a pointer event, - * defaultAction string, interactable, element and interaction as parameters - * and returns an object with name property 'drag' 'resize' or 'gesture' and - * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right - * props. - * @return {Function | Interactable} The checker function or this Interactable - */ - - Interactable.prototype.actionChecker = actionChecker; - /** - * Returns or sets whether the the cursor should be changed depending on the - * action that would be performed if the mouse were pressed and dragged. - * - * @param {boolean} [newValue] - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.styleCursor = styleCursor; - - Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { - return defaultActionChecker(this, pointer, event, interaction, element, actions); - }; -} - -function getAction(pointer, event, interaction, element) { - var action = this.defaultActionChecker(pointer, event, interaction, element); - - if (this.options.actionChecker) { - return this.options.actionChecker(pointer, event, action, this, element, interaction); - } - - return action; -} - -function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { - var rect = interactable.getRect(element); - var buttons = event.buttons || { - 0: 1, - 1: 4, - 3: 8, - 4: 16 - }[event.button]; - var action = null; - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - - // check mouseButton setting if the pointer is down - if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { - continue; - } - - action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); - - if (action) { - return action; - } - } -} - -function styleCursor(newValue) { - if (__is_8.bool(newValue)) { - this.options.styleCursor = newValue; - return this; - } - - if (newValue === null) { - delete this.options.styleCursor; - return this; - } - - return this.options.styleCursor; -} - -function actionChecker(checker) { - if (__is_8.func(checker)) { - this.options.actionChecker = checker; - return this; - } - - if (checker === null) { - delete this.options.actionChecker; - return this; - } - - return this.options.actionChecker; -} - -var ___default_8 = { - id: 'auto-start/interactableMethods', - install: __install_8 -}; -_$InteractableMethods_8["default"] = ___default_8; - -var _$base_9 = {}; -"use strict"; - -Object.defineProperty(_$base_9, "__esModule", { - value: true -}); -_$base_9["default"] = void 0; - -var __utils_9 = ___interopRequireWildcard_9(_$utils_56); - -var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); - -function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown - - interactions.signals.on('down', function (_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget; - - if (interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); // set cursor style on mousemove - - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - pointer = _ref2.pointer, - event = _ref2.event, - eventTarget = _ref2.eventTarget; - - if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); - interactions.signals.on('move', function (arg) { - var interaction = arg.interaction; - - if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { - return; - } - - scope.autoStart.signals.fire('before-start', arg); - var interactable = interaction.interactable; - - if (interaction.prepared.name && interactable) { - // check manualStart and interaction limit - if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { - interaction.stop(); - } else { - interaction.start(interaction.prepared, interactable, interaction.element); - setInteractionCursor(interaction, scope); - } - } - }); - interactions.signals.on('stop', function (_ref3) { - var interaction = _ref3.interaction; - var interactable = interaction.interactable; - - if (interactable && interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - }); - defaults.base.actionChecker = null; - defaults.base.styleCursor = true; - __utils_9.extend(defaults.perAction, { - manualStart: false, - max: Infinity, - maxPerElement: 1, - allowFrom: null, - ignoreFrom: null, - // only allow left button by default - // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value - mouseButtons: 1 - }); - /** - * Returns or sets the maximum number of concurrent interactions allowed. By - * default only 1 interaction is allowed at a time (for backwards - * compatibility). To allow multiple interactions on the same Interactables and - * elements, you need to enable it in the draggable, resizable and gesturable - * `'max'` and `'maxPerElement'` options. - * - * @alias module:interact.maxInteractions - * - * @param {number} [newValue] Any number. newValue <= 0 means no interactions. - */ - - interact.maxInteractions = function (newValue) { - return maxInteractions(newValue, scope); - }; - - scope.autoStart = { - // Allow this many interactions to happen simultaneously - maxInteractions: Infinity, - withinInteractionLimit: withinInteractionLimit, - cursorElement: null, - signals: new __utils_9.Signals() - }; -} // Check if the current interactable supports the action. -// If so, return the validated action. Otherwise, return null - - -function validateAction(action, interactable, element, eventTarget, scope) { - if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { - return action; - } - - return null; -} - -function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { - for (var i = 0, len = matches.length; i < len; i++) { - var match = matches[i]; - var matchElement = matchElements[i]; - var matchAction = match.getAction(pointer, event, interaction, matchElement); - - if (!matchAction) { - continue; - } - - var action = validateAction(matchAction, match, matchElement, eventTarget, scope); - - if (action) { - return { - action: action, - interactable: match, - element: matchElement - }; - } - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function getActionInfo(interaction, pointer, event, eventTarget, scope) { - var matches = []; - var matchElements = []; - var element = eventTarget; - - function pushMatches(interactable) { - matches.push(interactable); - matchElements.push(element); - } - - while (__utils_9.is.element(element)) { - matches = []; - matchElements = []; - scope.interactables.forEachMatch(element, pushMatches); - var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); - - if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { - return actionInfo; - } - - element = __utils_9.dom.parentNode(element); - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function prepare(interaction, _ref4, scope) { - var action = _ref4.action, - interactable = _ref4.interactable, - element = _ref4.element; - action = action || { - name: null - }; // clear previous target element cursor - - if (interaction.interactable && interaction.interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - - interaction.interactable = interactable; - interaction.element = element; - __utils_9.copyAction(interaction.prepared, action); - interaction.rect = interactable && action.name ? interactable.getRect(element) : null; - setInteractionCursor(interaction, scope); - scope.autoStart.signals.fire('prepared', { - interaction: interaction - }); -} - -function withinInteractionLimit(interactable, element, action, scope) { - var options = interactable.options; - var maxActions = options[action.name].max; - var maxPerElement = options[action.name].maxPerElement; - var autoStartMax = scope.autoStart.maxInteractions; - var activeInteractions = 0; - var interactableCount = 0; - var elementCount = 0; // no actions if any of these values == 0 - - if (!(maxActions && maxPerElement && autoStartMax)) { - return false; - } - - for (var _i = 0; _i < scope.interactions.list.length; _i++) { - var _ref5; - - _ref5 = scope.interactions.list[_i]; - var interaction = _ref5; - var otherAction = interaction.prepared.name; - - if (!interaction.interacting()) { - continue; - } - - activeInteractions++; - - if (activeInteractions >= autoStartMax) { - return false; - } - - if (interaction.interactable !== interactable) { - continue; - } - - interactableCount += otherAction === action.name ? 1 : 0; - - if (interactableCount >= maxActions) { - return false; - } - - if (interaction.element === element) { - elementCount++; - - if (otherAction === action.name && elementCount >= maxPerElement) { - return false; - } - } - } - - return autoStartMax > 0; -} - -function maxInteractions(newValue, scope) { - if (__utils_9.is.number(newValue)) { - scope.autoStart.maxInteractions = newValue; - return this; - } - - return scope.autoStart.maxInteractions; -} - -function setCursor(element, cursor, scope) { - if (scope.autoStart.cursorElement) { - scope.autoStart.cursorElement.style.cursor = ''; - } - - element.ownerDocument.documentElement.style.cursor = cursor; - element.style.cursor = cursor; - 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, - maxInteractions: maxInteractions, - withinInteractionLimit: withinInteractionLimit, - validateAction: validateAction -}; -_$base_9["default"] = ___default_9; - -var _$dragAxis_10 = {}; -"use strict"; - -Object.defineProperty(_$dragAxis_10, "__esModule", { - value: true -}); -_$dragAxis_10["default"] = void 0; - -var ___scope_10 = _$scope_24({}); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var __is_10 = ___interopRequireWildcard_10(_$is_57); - -var _base = ___interopRequireDefault_10(_$base_9); - -function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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) { - var interaction = _ref.interaction, - eventTarget = _ref.eventTarget, - dx = _ref.dx, - dy = _ref.dy; - - if (interaction.prepared.name !== 'drag') { - return; - } // check if a drag is in the correct axis - - - var absX = Math.abs(dx); - var absY = Math.abs(dy); - var targetOptions = interaction.interactable.options.drag; - var startAxis = targetOptions.startAxis; - var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; - interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' - : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable - - if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { - // cancel the prepared action - interaction.prepared.name = null; // then try to get a drag from another ineractable - - var element = eventTarget; - - var getDraggable = function getDraggable(interactable) { - if (interactable === interaction.interactable) { - return; - } - - var options = interaction.interactable.options.drag; - - if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { - var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); - - if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { - return interactable; - } - } - }; // check all interactables - - - while (__is_10.element(element)) { - var interactable = scope.interactables.forEachMatch(element, getDraggable); - - if (interactable) { - interaction.prepared.name = ___scope_10.ActionName.Drag; - interaction.interactable = interactable; - interaction.element = element; - break; - } - - element = (0, _$domUtils_51.parentNode)(element); - } - } - }); - - function checkStartAxis(startAxis, interactable) { - if (!interactable) { - return false; - } - - var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; - return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; - } -} - -var ___default_10 = { - id: 'auto-start/dragAxis', - install: __install_10 -}; -_$dragAxis_10["default"] = ___default_10; - -var _$hold_11 = {}; -"use strict"; - -Object.defineProperty(_$hold_11, "__esModule", { - value: true -}); -_$hold_11["default"] = void 0; - -var ___base_11 = ___interopRequireDefault_11(_$base_9); - -function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_11(scope) { - var autoStart = scope.autoStart, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(___base_11["default"]); - defaults.perAction.hold = 0; - defaults.perAction.delay = 0; - interactions.signals.on('new', function (interaction) { - interaction.autoStartHoldTimer = null; - }); - autoStart.signals.on('prepared', function (_ref) { - var interaction = _ref.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.autoStartHoldTimer = setTimeout(function () { - interaction.start(interaction.prepared, interaction.interactable, interaction.element); - }, hold); - } - }); - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - duplicate = _ref2.duplicate; - - if (interaction.pointerWasMoved && !duplicate) { - clearTimeout(interaction.autoStartHoldTimer); - } - }); // prevent regular down->move autoStart - - autoStart.signals.on('before-start', function (_ref3) { - var interaction = _ref3.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.prepared.name = null; - } - }); -} - -function getHoldDuration(interaction) { - var actionName = interaction.prepared && interaction.prepared.name; - - if (!actionName) { - return null; - } - - var options = interaction.interactable.options; - return options[actionName].hold || options[actionName].delay; -} - -var ___default_11 = { - id: 'auto-start/hold', - install: __install_11, - getHoldDuration: getHoldDuration -}; -_$hold_11["default"] = ___default_11; - -var _$autoStart_12 = {}; -"use strict"; - -Object.defineProperty(_$autoStart_12, "__esModule", { - value: true -}); -_$autoStart_12.install = __install_12; -Object.defineProperty(_$autoStart_12, "autoStart", { - enumerable: true, - get: function get() { - return ___base_12["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "dragAxis", { - enumerable: true, - get: function get() { - return _dragAxis["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "hold", { - enumerable: true, - get: function get() { - return _hold["default"]; - } -}); -_$autoStart_12.id = void 0; - -var ___base_12 = ___interopRequireDefault_12(_$base_9); - -var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); - -var _hold = ___interopRequireDefault_12(_$hold_11); - -function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_12(scope) { - scope.usePlugin(___base_12["default"]); - scope.usePlugin(_hold["default"]); - scope.usePlugin(_dragAxis["default"]); -} - -var __id_12 = 'auto-start'; -_$autoStart_12.id = __id_12; - -var _$interactablePreventDefault_21 = {}; -"use strict"; - -Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { - value: true -}); -_$interactablePreventDefault_21.install = __install_21; -_$interactablePreventDefault_21["default"] = void 0; - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_21 = ___interopRequireDefault_21(_$events_52); - -var __is_21 = ___interopRequireWildcard_21(_$is_57); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -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 }; } - -function preventDefault(newValue) { - if (/^(always|never|auto)$/.test(newValue)) { - this.options.preventDefault = newValue; - return this; - } - - if (__is_21.bool(newValue)) { - this.options.preventDefault = newValue ? 'always' : 'never'; - return this; - } - - return this.options.preventDefault; -} - -function checkAndPreventDefault(interactable, scope, event) { - var setting = interactable.options.preventDefault; - - if (setting === 'never') { - return; - } - - if (setting === 'always') { - event.preventDefault(); - return; - } // setting === 'auto' - // if the browser supports passive event listeners and isn't running on iOS, - // don't preventDefault of touch{start,move} events. CSS touch-action and - // user-select should be used instead of calling event.preventDefault(). - - - if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { - var doc = (0, _$window_66.getWindow)(event.target).document; - var docOptions = scope.getDocOptions(doc); - - if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { - return; - } - } // don't preventDefault of pointerdown events - - - if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { - return; - } // don't preventDefault on editable elements - - - if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { - return; - } - - event.preventDefault(); -} - -function onInteractionEvent(_ref) { - var interaction = _ref.interaction, - event = _ref.event; - - if (interaction.interactable) { - interaction.interactable.checkAndPreventDefault(event); - } -} - -function __install_21(scope) { - /** @lends Interactable */ - var Interactable = scope.Interactable; - /** - * Returns or sets whether to prevent the browser's default behaviour in - * response to pointer events. Can be set to: - * - `'always'` to always prevent - * - `'never'` to never prevent - * - `'auto'` to let interact.js try to determine what would be best - * - * @param {string} [newValue] `'always'`, `'never'` or `'auto'` - * @return {string | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.preventDefault = preventDefault; - - Interactable.prototype.checkAndPreventDefault = function (event) { - return checkAndPreventDefault(this, scope, event); - }; - - var _arr = ['down', 'move', 'up', 'cancel']; - - for (var _i = 0; _i < _arr.length; _i++) { - var eventSignal = _arr[_i]; - scope.interactions.signals.on(eventSignal, onInteractionEvent); - } // prevent native HTML5 drag on interact.js target elements - - - scope.interactions.docEvents.push({ - type: 'dragstart', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - - if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { - interaction.interactable.checkAndPreventDefault(event); - return; - } - } - } - }); -} - -var ___default_21 = { - id: 'core/interactablePreventDefault', - install: __install_21 -}; -_$interactablePreventDefault_21["default"] = ___default_21; - -var _$devTools_25 = {}; -"use strict"; - -Object.defineProperty(_$devTools_25, "__esModule", { - value: true -}); -_$devTools_25["default"] = void 0; - -var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___extend_25 = ___interopRequireDefault_25(_$extend_53); - -var __is_25 = ___interopRequireWildcard_25(_$is_57); - -var ___window_25 = ___interopRequireDefault_25(_$window_66); - -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 }; } - -function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } - -function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -var CheckName; - -(function (CheckName) { - CheckName["touchAction"] = ""; - CheckName["boxSizing"] = ""; - CheckName["noListeners"] = ""; -})(CheckName || (CheckName = {})); - -var prefix = '[interact.js] '; -var links = { - touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', - boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' -}; -var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax - -function __install_25(scope) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - logger = _ref.logger; - - var interactions = scope.interactions, - Interactable = scope.Interactable, - defaults = scope.defaults; - logger = logger || console; - interactions.signals.on('action-start', function (_ref2) { - var interaction = _ref2.interaction; - - for (var _i = 0; _i < checks.length; _i++) { - var _ref3; - - _ref3 = checks[_i]; - var check = _ref3; - var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; - - if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { - var _logger; - - (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); - } - } - }); - defaults.base.devTools = { - ignore: {} - }; - - Interactable.prototype.devTools = function (options) { - if (options) { - (0, ___extend_25["default"])(this.options.devTools, options); - return this; - } - - return this.options.devTools; - }; -} - -var checks = [{ - name: 'touchAction', - perform: function perform(_ref4) { - var element = _ref4.element; - return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); - }, - getInfo: function getInfo(_ref5) { - var element = _ref5.element; - return [element, links.touchAction]; - }, - text: 'Consider adding CSS "touch-action: none" to this element\n' -}, { - name: 'boxSizing', - perform: function perform(interaction) { - var element = interaction.element; - return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); - }, - text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', - getInfo: function getInfo(_ref6) { - var element = _ref6.element; - return [element, links.boxSizing]; - } -}, { - name: 'noListeners', - perform: function perform(interaction) { - var actionName = interaction.prepared.name; - var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; - return !moveListeners.length; - }, - getInfo: function getInfo(interaction) { - return [interaction.prepared.name, interaction.interactable]; - }, - text: 'There are no listeners set for this action' -}]; - -function hasStyle(element, prop, styleRe) { - return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); -} - -function parentHasStyle(element, prop, styleRe) { - var parent = element; - - while (__is_25.element(parent)) { - if (hasStyle(parent, prop, styleRe)) { - return true; - } - - parent = (0, _$domUtils_51.parentNode)(parent); - } - - return false; -} - -var __id_25 = 'dev-tools'; -var defaultExport = isProduction ? { - id: __id_25, - install: function install() {} -} : { - id: __id_25, - install: __install_25, - checks: checks, - CheckName: CheckName, - links: links, - prefix: prefix -}; -var ___default_25 = defaultExport; -_$devTools_25["default"] = ___default_25; - -var _$base_30 = {}; -"use strict"; - -Object.defineProperty(_$base_30, "__esModule", { - value: true -}); -_$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; - -var ___extend_30 = ___interopRequireDefault_30(_$extend_53); - -function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } - -function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __install_30(scope) { - var interactions = scope.interactions; - scope.defaults.perAction.modifiers = []; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.modifiers = { - startOffset: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - offsets: {}, - states: null, - result: null, - endPrevented: false, - startDelta: null - }; - }); - interactions.signals.on('before-action-start', function (arg) { - __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, arg.interaction.modifiers.result.coords); - __beforeMove_30(arg); - }); - interactions.signals.on('after-action-move', restoreCoords); - interactions.signals.on('before-action-move', __beforeMove_30); - interactions.signals.on('before-action-start', setCoords); - interactions.signals.on('after-action-start', restoreCoords); - interactions.signals.on('before-action-end', beforeEnd); - interactions.signals.on('stop', stop); -} - -function __start_30(_ref2, pageCoords, prevCoords) { - var interaction = _ref2.interaction, - phase = _ref2.phase; - var interactable = interaction.interactable, - element = interaction.element; - var modifierList = getModifierList(interaction); - var states = prepareStates(modifierList); - var rect = (0, ___extend_30["default"])({}, interaction.rect); - - if (!('width' in rect)) { - rect.width = rect.right - rect.left; - } - - if (!('height' in rect)) { - rect.height = rect.bottom - rect.top; - } - - var startOffset = getRectOffset(rect, pageCoords); - interaction.modifiers.startOffset = startOffset; - interaction.modifiers.startDelta = { - x: 0, - y: 0 - }; - var arg = { - interaction: interaction, - interactable: interactable, - element: element, - pageCoords: pageCoords, - phase: phase, - rect: rect, - startOffset: startOffset, - states: states, - preEnd: 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); - var result = interaction.modifiers.result = setAll(arg); - return result; -} - -function startAll(arg) { - var states = arg.states; - - for (var _i = 0; _i < states.length; _i++) { - var _ref3; - - _ref3 = states[_i]; - var state = _ref3; - - if (state.methods.start) { - arg.state = state; - state.methods.start(arg); - } - } -} - -function setAll(arg) { - var prevCoords = arg.prevCoords, - phase = arg.phase, - preEnd = arg.preEnd, - requireEndOnly = arg.requireEndOnly, - rect = arg.rect, - states = arg.states; - arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); - arg.rect = (0, ___extend_30["default"])({}, rect); - var result = { - delta: { - x: 0, - y: 0 - }, - rectDelta: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - coords: arg.coords, - changed: true - }; - - for (var _i2 = 0; _i2 < states.length; _i2++) { - var _ref4; - - _ref4 = states[_i2]; - var state = _ref4; - var options = state.options; - - if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { - continue; - } - - arg.state = state; - state.methods.set(arg); - } - - result.delta.x = arg.coords.x - arg.pageCoords.x; - result.delta.y = arg.coords.y - arg.pageCoords.y; - var rectChanged = false; - - if (rect) { - result.rectDelta.left = arg.rect.left - rect.left; - result.rectDelta.right = arg.rect.right - rect.right; - result.rectDelta.top = arg.rect.top - rect.top; - result.rectDelta.bottom = arg.rect.bottom - rect.bottom; - rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; - } - - result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; - return result; -} - -function __beforeMove_30(arg) { - var interaction = arg.interaction, - phase = arg.phase, - preEnd = arg.preEnd, - 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: arg.modifiedCoords || interaction.coords.cur.page, - prevCoords: prevCoords, - rect: interaction.rect, - 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 - - if (!modifierResult.changed && interaction.interacting()) { - 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); -} - -function beforeEnd(arg) { - var interaction = arg.interaction, - event = arg.event, - noPreEnd = arg.noPreEnd; - var states = interaction.modifiers.states; - - if (noPreEnd || !states || !states.length) { - return; - } - - var didPreEnd = false; - - for (var _i3 = 0; _i3 < states.length; _i3++) { - var _ref5; - - _ref5 = states[_i3]; - var state = _ref5; - arg.state = state; - var options = state.options, - methods = state.methods; - var endResult = methods.beforeEnd && methods.beforeEnd(arg); - - if (endResult === false) { - interaction.modifiers.endPrevented = true; - return false; - } // if the endOnly option is true for any modifier - - - if (!didPreEnd && shouldDo(options, true, true)) { - // fire a move event at the modified coordinates - interaction.move({ - event: event, - preEnd: true - }); - didPreEnd = true; - } - } -} - -function stop(arg) { - var interaction = arg.interaction; - var states = interaction.modifiers.states; - - if (!states || !states.length) { - return; - } - - var modifierArg = (0, ___extend_30["default"])({ - states: states, - interactable: interaction.interactable, - element: interaction.element, - rect: null - }, arg); - - for (var _i4 = 0; _i4 < states.length; _i4++) { - var _ref6; - - _ref6 = states[_i4]; - var state = _ref6; - modifierArg.state = state; - - if (state.methods.stop) { - state.methods.stop(modifierArg); - } - } - - arg.interaction.modifiers.states = null; - arg.interaction.modifiers.endPrevented = false; -} - -function getModifierList(interaction) { - var actionOptions = interaction.interactable.options[interaction.prepared.name]; - var actionModifiers = actionOptions.modifiers; - - if (actionModifiers && actionModifiers.length) { - return actionModifiers.filter(function (modifier) { - return !modifier.options || modifier.options.enabled !== false; - }); - } - - return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { - var options = actionOptions[type]; - return options && options.enabled && { - options: options, - methods: options._methods - }; - }).filter(function (m) { - return !!m; - }); -} - -function prepareStates(modifierList) { - var states = []; - - for (var index = 0; index < modifierList.length; index++) { - var _modifierList$index = modifierList[index], - options = _modifierList$index.options, - methods = _modifierList$index.methods, - name = _modifierList$index.name; - - if (options && options.enabled === false) { - continue; - } - - states.push({ - options: options, - methods: methods, - index: index, - name: name - }); - } - - return states; -} - -function setCoords(arg) { - var interaction = arg.interaction, - phase = arg.phase; - var curCoords = interaction.coords.cur; - var startCoords = interaction.coords.start; - var _interaction$modifier = interaction.modifiers, - result = _interaction$modifier.result, - startDelta = _interaction$modifier.startDelta; - var curDelta = result.delta; - - if (phase === 'start') { - (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); - } - - var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; - - for (var _i5 = 0; _i5 < _arr.length; _i5++) { - var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), - coordsSet = _arr$_i[0], - delta = _arr$_i[1]; - - coordsSet.page.x += delta.x; - coordsSet.page.y += delta.y; - coordsSet.client.x += delta.x; - coordsSet.client.y += delta.y; - } - - var rectDelta = interaction.modifiers.result.rectDelta; - var rect = arg.rect || interaction.rect; - rect.left += rectDelta.left; - rect.right += rectDelta.right; - rect.top += rectDelta.top; - rect.bottom += rectDelta.bottom; - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; -} - -function restoreCoords(_ref7) { - var _ref7$interaction = _ref7.interaction, - coords = _ref7$interaction.coords, - rect = _ref7$interaction.rect, - modifiers = _ref7$interaction.modifiers; - - if (!modifiers.result) { - return; - } - - var startDelta = modifiers.startDelta; - var _modifiers$result = modifiers.result, - curDelta = _modifiers$result.delta, - rectDelta = _modifiers$result.rectDelta; - var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; - - for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { - var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), - coordsSet = _coordsAndDeltas$_i[0], - delta = _coordsAndDeltas$_i[1]; - - coordsSet.page.x -= delta.x; - coordsSet.page.y -= delta.y; - coordsSet.client.x -= delta.x; - coordsSet.client.y -= delta.y; - } - - rect.left -= rectDelta.left; - rect.right -= rectDelta.right; - rect.top -= rectDelta.top; - rect.bottom -= rectDelta.bottom; -} - -function shouldDo(options, preEnd, requireEndOnly, phase) { - return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; -} - -function getRectOffset(rect, coords) { - return rect ? { - left: coords.x - rect.left, - top: coords.y - rect.top, - right: rect.right - coords.x, - bottom: rect.bottom - coords.y - } : { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; -} - -function makeModifier(module, name) { - var defaults = module.defaults; - var methods = { - start: module.start, - set: module.set, - beforeEnd: module.beforeEnd, - stop: module.stop - }; - - var modifier = function modifier(_options) { - var options = _options || {}; - options.enabled = options.enabled !== false; // add missing defaults to options - - for (var prop in defaults) { - if (!(prop in options)) { - options[prop] = defaults[prop]; - } - } - - var m = { - options: options, - methods: methods, - name: name - }; - return m; - }; - - if (name && typeof name === 'string') { - // for backwrads compatibility - modifier._defaults = defaults; - modifier._methods = methods; - } - - return modifier; -} - -var ___default_30 = { - id: 'modifiers/base', - install: __install_30, - startAll: startAll, - setAll: setAll, - prepareStates: prepareStates, - start: __start_30, - beforeMove: __beforeMove_30, - beforeEnd: beforeEnd, - stop: stop, - shouldDo: shouldDo, - getModifierList: getModifierList, - getRectOffset: getRectOffset, - makeModifier: makeModifier -}; -_$base_30["default"] = ___default_30; - -var _$inertia_26 = {}; -"use strict"; - -Object.defineProperty(_$inertia_26, "__esModule", { - value: true -}); -_$inertia_26["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -var ___base_26 = ___interopRequireWildcard_26(_$base_30); - -var __utils_26 = ___interopRequireWildcard_26(_$utils_56); - -var ___raf_26 = ___interopRequireDefault_26(_$raf_62); - -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'; - -function __install_26(scope) { - var interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.inertia = { - active: false, - smoothEnd: false, - allowResume: false, - upCoords: {}, - timeout: null - }; - }); - 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', __stop_26); - defaults.perAction.inertia = { - enabled: false, - resistance: 10, - minSpeed: 100, - endSpeed: 10, - allowResume: true, - smoothEndDuration: 300 - }; - scope.usePlugin(___base_26["default"]); -} - -function resume(_ref2, scope) { - var interaction = _ref2.interaction, - event = _ref2.event, - pointer = _ref2.pointer, - eventTarget = _ref2.eventTarget; - var state = interaction.inertia; // Check if the down event hits the current inertia target - - if (state.active) { - var element = eventTarget; // climb up the DOM tree from the event target - - while (__utils_26.is.element(element)) { - // if interaction element is the current inertia target element - if (element === interaction.element) { - // stop inertia - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; // update pointers to the down event's coordinates - - interaction.updatePointer(pointer, event, eventTarget, true); - __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { - return p.pointer; - }), interaction._now()); // fire appropriate signals - - var signalArg = { - interaction: interaction, - phase: _$InteractEvent_15.EventPhase.Resume - }; - scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event - - var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); - - interaction._fireEvent(resumeEvent); - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); - break; - } - - element = __utils_26.dom.parentNode(element); - } - } -} - -function release(_ref3, scope) { - var interaction = _ref3.interaction, - event = _ref3.event, - noPreEnd = _ref3.noPreEnd; - var state = interaction.inertia; - - if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { - return null; - } - - var options = __getOptions_26(interaction); - - var now = interaction._now(); - - var velocityClient = interaction.coords.velocity.client; - var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); - var smoothEnd = false; - var modifierResult; // check if inertia should be started - - var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; - var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; - var modifierArg = { - interaction: interaction, - pageCoords: interaction.coords.cur.page, - states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { - return __utils_26.extend({}, modifierStatus); - }), - preEnd: true, - prevCoords: null, - requireEndOnly: null, - phase: _$InteractEvent_15.EventPhase.InertiaStart - }; // smoothEnd - - if (inertiaPossible && !inertia) { - modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; - modifierArg.requireEndOnly = false; - modifierResult = ___base_26["default"].setAll(modifierArg); - - if (modifierResult.changed) { - smoothEnd = true; - } - } - - if (!(inertia || smoothEnd)) { - return null; - } - - __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; - interaction.simulation = state; - interaction.interactable.fire(state.startEvent); - - if (inertia) { - state.vx0 = interaction.coords.velocity.client.x; - state.vy0 = interaction.coords.velocity.client.y; - state.v0 = pointerSpeed; - calcInertia(interaction, state); - __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); - modifierArg.pageCoords.x += state.xe; - modifierArg.pageCoords.y += state.ye; - modifierArg.prevCoords = null; - modifierArg.requireEndOnly = true; - modifierResult = ___base_26["default"].setAll(modifierArg); - state.modifiedXe += modifierResult.delta.x; - state.modifiedYe += modifierResult.delta.y; - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.smoothEnd = true; - state.xe = modifierResult.delta.x; - state.ye = modifierResult.delta.y; - state.sx = state.sy = 0; - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } - - return false; -} - -function __stop_26(_ref4) { - var interaction = _ref4.interaction; - var state = interaction.inertia; - - if (state.active) { - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; - } -} - -function calcInertia(interaction, state) { - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; - state.x0 = interaction.prevEvent.page.x; - state.y0 = interaction.prevEvent.page.y; - state.t0 = state.startEvent.timeStamp / 1000; - state.sx = state.sy = 0; - state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; - state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; - state.te = inertiaDur; - state.lambda_v0 = lambda / state.v0; - state.one_ve_v0 = 1 - options.endSpeed / state.v0; -} - -function inertiaTick(interaction) { - updateInertiaCoords(interaction); - __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); - __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); - var state = interaction.inertia; - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var t = interaction._now() / 1000 - state.t0; - - if (t < state.te) { - var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; - - if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { - state.sx = state.xe * progress; - state.sy = state.ye * progress; - } else { - var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); - state.sx = quadPoint.x; - state.sy = quadPoint.y; - } - - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.sx = state.modifiedXe; - state.sy = state.modifiedYe; - interaction.move(); - interaction.end(state.startEvent); - state.active = false; - interaction.simulation = null; - } - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); -} - -function smothEndTick(interaction) { - updateInertiaCoords(interaction); - var state = interaction.inertia; - var t = interaction._now() - state.t0; - - var _getOptions = __getOptions_26(interaction), - duration = _getOptions.smoothEndDuration; - - if (t < duration) { - state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); - state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } else { - state.sx = state.xe; - state.sy = state.ye; - interaction.move(); - interaction.end(state.startEvent); - state.smoothEnd = state.active = false; - interaction.simulation = null; - } -} - -function updateInertiaCoords(interaction) { - var state = interaction.inertia; // return if inertia isn't running - - if (!state.active) { - return; - } - - var pageUp = state.upCoords.page; - var clientUp = state.upCoords.client; - __utils_26.pointer.setCoords(interaction.coords.cur, [{ - pageX: pageUp.x + state.sx, - pageY: pageUp.y + state.sy, - clientX: clientUp.x + state.sx, - clientY: clientUp.y + state.sy - }], interaction._now()); -} - -function __getOptions_26(_ref5) { - var interactable = _ref5.interactable, - prepared = _ref5.prepared; - return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; -} - -var ___default_26 = { - id: 'inertia', - install: __install_26, - calcInertia: calcInertia, - inertiaTick: inertiaTick, - smothEndTick: smothEndTick, - updateInertiaCoords: updateInertiaCoords -}; -_$inertia_26["default"] = ___default_26; - -var _$pointer_33 = {}; -"use strict"; - -Object.defineProperty(_$pointer_33, "__esModule", { - value: true -}); -_$pointer_33["default"] = void 0; - -var ___extend_33 = ___interopRequireDefault_33(_$extend_53); - -var __is_33 = ___interopRequireWildcard_33(_$is_57); - -var ___rect_33 = ___interopRequireDefault_33(_$rect_63); - -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 }; } - -function __start_33(_ref) { - var rect = _ref.rect, - startOffset = _ref.startOffset, - state = _ref.state, - interaction = _ref.interaction, - pageCoords = _ref.pageCoords; - var options = state.options; - var elementRect = options.elementRect; - var offset = (0, ___extend_33["default"])({ - left: 0, - top: 0, - right: 0, - bottom: 0 - }, options.offset || {}); - - if (rect && elementRect) { - var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); - - if (restriction) { - var widthDiff = restriction.right - restriction.left - rect.width; - var heightDiff = restriction.bottom - restriction.top - rect.height; - - if (widthDiff < 0) { - offset.left += widthDiff; - offset.right += widthDiff; - } - - if (heightDiff < 0) { - offset.top += heightDiff; - offset.bottom += heightDiff; - } - } - - offset.left += startOffset.left - rect.width * elementRect.left; - offset.top += startOffset.top - rect.height * elementRect.top; - offset.right += startOffset.right - rect.width * (1 - elementRect.right); - offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); - } - - state.offset = offset; -} - -function set(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var options = state.options, - offset = state.offset; - var restriction = getRestrictionRect(options.restriction, interaction, coords); - - if (!restriction) { - return; - } - - var rect = ___rect_33["default"].xywhToTlbr(restriction); - - coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); - coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); -} - -function getRestrictionRect(value, interaction, coords) { - if (__is_33.func(value)) { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); - } else { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); - } -} - -var __defaults_33 = { - restriction: null, - elementRect: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrict = { - start: __start_33, - set: set, - getRestrictionRect: getRestrictionRect, - defaults: __defaults_33 -}; -var ___default_33 = restrict; -_$pointer_33["default"] = ___default_33; - -var _$edges_32 = {}; -"use strict"; - -Object.defineProperty(_$edges_32, "__esModule", { - value: true -}); -_$edges_32["default"] = void 0; - -var ___extend_32 = ___interopRequireDefault_32(_$extend_53); - -var ___rect_32 = ___interopRequireDefault_32(_$rect_63); - -var _pointer = ___interopRequireDefault_32(_$pointer_33); - -function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -// This module adds the options.resize.restrictEdges setting which sets min and -// max for the top, left, bottom and right edges of the target being resized. -// -// interact(target).resize({ -// edges: { top: true, left: true }, -// restrictEdges: { -// inner: { top: 200, left: 200, right: 400, bottom: 400 }, -// outer: { top: 0, left: 0, right: 600, bottom: 600 }, -// }, -// }) -var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; -var noInner = { - top: +Infinity, - left: +Infinity, - bottom: -Infinity, - right: -Infinity -}; -var noOuter = { - top: -Infinity, - left: -Infinity, - bottom: +Infinity, - right: +Infinity -}; - -function __start_32(_ref) { - var interaction = _ref.interaction, - state = _ref.state; - var options = state.options; - var startOffset = interaction.modifiers.startOffset; - var offset; - - if (options) { - var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); - offset = ___rect_32["default"].rectToXY(offsetRect); - } - - offset = offset || { - x: 0, - y: 0 - }; - state.offset = { - top: offset.y + startOffset.top, - left: offset.x + startOffset.left, - bottom: offset.y - startOffset.bottom, - right: offset.x - startOffset.right - }; -} - -function __set_32(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var offset = state.offset, - options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var page = (0, ___extend_32["default"])({}, coords); - var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; - var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; - fixRect(inner, noInner); - fixRect(outer, noOuter); - - if (edges.top) { - coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); - } else if (edges.bottom) { - coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); - } - - if (edges.left) { - coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); - } else if (edges.right) { - coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); - } -} - -function fixRect(rect, defaults) { - var _arr = ['top', 'left', 'bottom', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (!(edge in rect)) { - rect[edge] = defaults[edge]; - } - } - - return rect; -} - -var __defaults_32 = { - inner: null, - outer: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrictEdges = { - noInner: noInner, - noOuter: noOuter, - getRestrictionRect: __getRestrictionRect_32, - start: __start_32, - set: __set_32, - defaults: __defaults_32 -}; -var ___default_32 = restrictEdges; -_$edges_32["default"] = ___default_32; - -var _$rect_34 = {}; -"use strict"; - -Object.defineProperty(_$rect_34, "__esModule", { - value: true -}); -_$rect_34["default"] = void 0; - -var ___extend_34 = ___interopRequireDefault_34(_$extend_53); - -var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); - -function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __defaults_34 = (0, ___extend_34["default"])({ - get elementRect() { - return { - top: 0, - left: 0, - bottom: 1, - right: 1 - }; - }, - - set elementRect(_) {} - -}, ___pointer_34["default"].defaults); -var restrictRect = { - start: ___pointer_34["default"].start, - set: ___pointer_34["default"].set, - defaults: __defaults_34 -}; -var ___default_34 = restrictRect; -_$rect_34["default"] = ___default_34; - -var _$size_35 = {}; -"use strict"; - -Object.defineProperty(_$size_35, "__esModule", { - value: true -}); -_$size_35["default"] = void 0; - -var ___extend_35 = ___interopRequireDefault_35(_$extend_53); - -var ___rect_35 = ___interopRequireDefault_35(_$rect_63); - -var _edges = ___interopRequireDefault_35(_$edges_32); - -function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var noMin = { - width: -Infinity, - height: -Infinity -}; -var noMax = { - width: +Infinity, - height: +Infinity -}; - -function __start_35(arg) { - return _edges["default"].start(arg); -} - -function __set_35(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); - - var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; - var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; - state.options = { - endOnly: options.endOnly, - inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), - outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) - }; - - if (edges.top) { - state.options.inner.top = rect.bottom - minSize.height; - state.options.outer.top = rect.bottom - maxSize.height; - } else if (edges.bottom) { - state.options.inner.bottom = rect.top + minSize.height; - state.options.outer.bottom = rect.top + maxSize.height; - } - - if (edges.left) { - state.options.inner.left = rect.right - minSize.width; - state.options.outer.left = rect.right - maxSize.width; - } else if (edges.right) { - state.options.inner.right = rect.left + minSize.width; - state.options.outer.right = rect.left + maxSize.width; - } - - _edges["default"].set(arg); - - state.options = options; -} - -var __defaults_35 = { - min: null, - max: null, - endOnly: false, - enabled: false -}; -var restrictSize = { - start: __start_35, - set: __set_35, - defaults: __defaults_35 -}; -var ___default_35 = restrictSize; -_$size_35["default"] = ___default_35; - -var _$pointer_37 = {}; -"use strict"; - -Object.defineProperty(_$pointer_37, "__esModule", { - value: true -}); -_$pointer_37["default"] = void 0; - -var __utils_37 = ___interopRequireWildcard_37(_$utils_56); - -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, - interactable = arg.interactable, - element = arg.element, - rect = arg.rect, - state = arg.state, - startOffset = arg.startOffset; - var options = state.options; - var offsets = []; - var origin = options.offsetWithOrigin ? getOrigin(arg) : { - x: 0, - y: 0 - }; - var snapOffset; - - if (options.offset === 'startCoords') { - snapOffset = { - x: interaction.coords.start.page.x, - y: interaction.coords.start.page.y - }; - } else { - var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); - snapOffset = __utils_37.rect.rectToXY(offsetRect) || { - x: 0, - y: 0 - }; - snapOffset.x += origin.x; - snapOffset.y += origin.y; - } - - var relativePoints = options.relativePoints || []; - - if (rect && options.relativePoints && options.relativePoints.length) { - for (var index = 0; index < relativePoints.length; index++) { - var relativePoint = relativePoints[index]; - offsets.push({ - index: index, - relativePoint: relativePoint, - x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, - y: startOffset.top - rect.height * relativePoint.y + snapOffset.y - }); - } - } else { - offsets.push(__utils_37.extend({ - index: 0, - relativePoint: null - }, snapOffset)); - } - - state.offsets = offsets; -} - -function __set_37(arg) { - var interaction = arg.interaction, - coords = arg.coords, - state = arg.state; - var options = state.options, - offsets = state.offsets; - var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); - var page = __utils_37.extend({}, coords); - var targets = []; - var target; - - if (!options.offsetWithOrigin) { - page.x -= origin.x; - page.y -= origin.y; - } - - state.realX = page.x; - state.realY = page.y; - - for (var _i = 0; _i < offsets.length; _i++) { - var _ref; - - _ref = offsets[_i]; - var offset = _ref; - var relativeX = page.x - offset.x; - var relativeY = page.y - offset.y; - - for (var index = 0, _len = options.targets.length; index < _len; index++) { - var snapTarget = options.targets[index]; - - if (__utils_37.is.func(snapTarget)) { - target = snapTarget(relativeX, relativeY, interaction, offset, index); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - targets.push({ - x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, - y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, - range: __utils_37.is.number(target.range) ? target.range : options.range - }); - } - } - - var closest = { - target: null, - inRange: false, - distance: 0, - range: 0, - dx: 0, - dy: 0 - }; - - for (var i = 0, len = targets.length; i < len; i++) { - target = targets[i]; - var range = target.range; - var dx = target.x - page.x; - var dy = target.y - page.y; - var distance = __utils_37.hypot(dx, dy); - var inRange = distance <= range; // Infinite targets count as being out of range - // compared to non infinite ones that are in range - - if (range === Infinity && closest.inRange && closest.range !== Infinity) { - inRange = false; - } - - if (!closest.target || (inRange // is the closest target in range? - ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target - ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't - : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest - distance < closest.distance : // The other is not in range and the pointer is closer to this target - !closest.inRange && distance < closest.distance)) { - closest.target = target; - closest.distance = distance; - closest.range = range; - closest.inRange = inRange; - closest.dx = dx; - closest.dy = dy; - state.range = range; - } - } - - if (closest.inRange) { - coords.x = closest.target.x; - coords.y = closest.target.y; - } - - state.closest = closest; -} - -function getOrigin(arg) { - 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; -} - -var __defaults_37 = { - range: Infinity, - targets: null, - offset: null, - offsetWithOrigin: true, - origin: null, - relativePoints: null, - endOnly: false, - enabled: false -}; -var snap = { - start: __start_37, - set: __set_37, - defaults: __defaults_37 -}; -var ___default_37 = snap; -_$pointer_37["default"] = ___default_37; - -var _$size_38 = {}; -"use strict"; - -Object.defineProperty(_$size_38, "__esModule", { - value: true -}); -_$size_38["default"] = void 0; - -var ___extend_38 = ___interopRequireDefault_38(_$extend_53); - -var __is_38 = ___interopRequireWildcard_38(_$is_57); - -var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); - -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 }; } - -function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } - -function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __start_38(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state = { - options: { - targets: null, - relativePoints: [{ - x: edges.left ? 0 : 1, - y: edges.top ? 0 : 1 - }], - offset: options.offset || 'self', - origin: { - x: 0, - y: 0 - }, - range: options.range - } - }; - state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; - - ___pointer_38["default"].start(arg); - - state.offsets = arg.state.offsets; - arg.state = state; -} - -function __set_38(arg) { - var interaction = arg.interaction, - state = arg.state, - coords = arg.coords; - var options = state.options, - offsets = state.offsets; - var relative = { - x: coords.x - offsets[0].x, - y: coords.y - offsets[0].y - }; - state.options = (0, ___extend_38["default"])({}, options); - state.options.targets = []; - - for (var _i = 0; _i < (options.targets || []).length; _i++) { - var _ref; - - _ref = (options.targets || [])[_i]; - var snapTarget = _ref; - var target = void 0; - - if (__is_38.func(snapTarget)) { - target = snapTarget(relative.x, relative.y, interaction); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { - var _ref2; - - _ref2 = state.targetFields[_i2]; - - var _ref3 = _ref2, - _ref4 = ___slicedToArray_38(_ref3, 2), - xField = _ref4[0], - yField = _ref4[1]; - - if (xField in target || yField in target) { - target.x = target[xField]; - target.y = target[yField]; - break; - } - } - - state.options.targets.push(target); - } - - ___pointer_38["default"].set(arg); - - state.options = options; -} - -var __defaults_38 = { - range: Infinity, - targets: null, - offset: null, - endOnly: false, - enabled: false -}; -var snapSize = { - start: __start_38, - set: __set_38, - defaults: __defaults_38 -}; -var ___default_38 = snapSize; -_$size_38["default"] = ___default_38; - -var _$edges_36 = {}; -"use strict"; - -Object.defineProperty(_$edges_36, "__esModule", { - value: true -}); -_$edges_36["default"] = void 0; - -var ___clone_36 = ___interopRequireDefault_36(_$clone_49); - -var ___extend_36 = ___interopRequireDefault_36(_$extend_53); - -var _size = ___interopRequireDefault_36(_$size_38); - -function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/** - * @module modifiers/snapEdges - * - * @description - * This module allows snapping of the edges of targets during resize - * interactions. - * - * @example - * interact(target).resizable({ - * snapEdges: { - * targets: [interact.snappers.grid({ x: 100, y: 50 })], - * }, - * }) - * - * interact(target).resizable({ - * snapEdges: { - * targets: [ - * interact.snappers.grid({ - * top: 50, - * left: 50, - * bottom: 100, - * right: 100, - * }), - * ], - * }, - * }) - */ -function __start_36(arg) { - var edges = arg.interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; - return _size["default"].start(arg); -} - -function __set_36(arg) { - return _size["default"].set(arg); -} - -var snapEdges = { - start: __start_36, - set: __set_36, - defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { - offset: { - x: 0, - y: 0 - } - }) -}; -var ___default_36 = snapEdges; -_$edges_36["default"] = ___default_36; - -var _$modifiers_31 = {}; -"use strict"; - -Object.defineProperty(_$modifiers_31, "__esModule", { - value: true -}); -_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; - -var ___base_31 = ___interopRequireDefault_31(_$base_30); - -var ___edges_31 = ___interopRequireDefault_31(_$edges_32); - -var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); - -var ___rect_31 = ___interopRequireDefault_31(_$rect_34); - -var ___size_31 = ___interopRequireDefault_31(_$size_35); - -var _edges2 = ___interopRequireDefault_31(_$edges_36); - -var _pointer2 = ___interopRequireDefault_31(_$pointer_37); - -var _size2 = ___interopRequireDefault_31(_$size_38); - -function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __makeModifier_31 = ___base_31["default"].makeModifier; -var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); -_$modifiers_31.snap = __snap_31; -var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); -_$modifiers_31.snapSize = __snapSize_31; -var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); -_$modifiers_31.snapEdges = __snapEdges_31; -var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); -_$modifiers_31.restrict = __restrict_31; -var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); -_$modifiers_31.restrictRect = __restrictRect_31; -var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); -_$modifiers_31.restrictEdges = __restrictEdges_31; -var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); -_$modifiers_31.restrictSize = __restrictSize_31; - -var _$PointerEvent_39 = {}; -"use strict"; - -Object.defineProperty(_$PointerEvent_39, "__esModule", { - value: true -}); -_$PointerEvent_39["default"] = void 0; - -var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); - -var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); - -function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } - -function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } - -function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___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); } - -function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } - -/** */ -var PointerEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_39(PointerEvent, _BaseEvent); - - /** */ - function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { - var _this; - - ___classCallCheck_39(this, PointerEvent); - - _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); - - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); - - if (event !== pointer) { - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); - } - - _this.timeStamp = timeStamp; - _this.originalEvent = event; - _this.type = type; - _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); - _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); - _this.target = eventTarget; - _this.currentTarget = null; - - if (type === 'tap') { - var pointerIndex = interaction.getPointerIndex(pointer); - _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; - var interval = _this.timeStamp - interaction.tapTime; - _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); - } else if (type === 'doubletap') { - _this.dt = pointer.timeStamp - interaction.tapTime; - } - - return _this; - } - - ___createClass_39(PointerEvent, [{ - key: "_subtractOrigin", - value: function _subtractOrigin(_ref) { - var originX = _ref.x, - originY = _ref.y; - this.pageX -= originX; - this.pageY -= originY; - this.clientX -= originX; - this.clientY -= originY; - return this; - } - }, { - key: "_addOrigin", - value: function _addOrigin(_ref2) { - var originX = _ref2.x, - originY = _ref2.y; - this.pageX += originX; - this.pageY += originY; - this.clientX += originX; - this.clientY += originY; - return this; - } - /** - * Prevent the default behaviour of the original Event - */ - - }, { - key: "preventDefault", - value: function preventDefault() { - this.originalEvent.preventDefault(); - } - }]); - - return PointerEvent; -}(___BaseEvent2_39["default"]); - -_$PointerEvent_39["default"] = PointerEvent; - -var _$base_40 = {}; -"use strict"; - -Object.defineProperty(_$base_40, "__esModule", { - value: true -}); -_$base_40["default"] = void 0; - -var __utils_40 = ___interopRequireWildcard_40(_$utils_56); - -var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); - -function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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']; -var simpleEvents = ['down', 'up', 'cancel']; -var __defaults_40 = { - holdDuration: 600, - ignoreFrom: null, - allowFrom: null, - origin: { - x: 0, - y: 0 - } -}; -var pointerEvents = { - id: 'pointer-events/base', - install: __install_40, - signals: signals, - PointerEvent: _PointerEvent["default"], - fire: fire, - collectEventTargets: collectEventTargets, - createSignalListener: createSignalListener, - defaults: __defaults_40, - types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] -}; - -function fire(arg, scope) { - var interaction = arg.interaction, - pointer = arg.pointer, - event = arg.event, - eventTarget = arg.eventTarget, - _arg$type = arg.type, - type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, - _arg$targets = arg.targets, - targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; - var _arg$pointerEvent = arg.pointerEvent, - pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - targets: targets, - type: type, - pointerEvent: pointerEvent - }; - - for (var i = 0; i < targets.length; i++) { - var target = targets[i]; - - for (var prop in target.props || {}) { - pointerEvent[prop] = target.props[prop]; - } - - var origin = __utils_40.getOriginXY(target.eventable, target.node); - - pointerEvent._subtractOrigin(origin); - - pointerEvent.eventable = target.eventable; - pointerEvent.currentTarget = target.node; - target.eventable.fire(pointerEvent); - - pointerEvent._addOrigin(origin); - - if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { - break; - } - } - - signals.fire('fired', signalArg); - - if (type === 'tap') { - // if pointerEvent should make a double tap, create and fire a doubletap - // PointerEvent and use that as the prevTap - var prevTap = pointerEvent["double"] ? fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'doubletap' - }, scope) : pointerEvent; - interaction.prevTap = prevTap; - interaction.tapTime = prevTap.timeStamp; - } - - return pointerEvent; -} - -function collectEventTargets(_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget, - type = _ref.type; - var pointerIndex = interaction.getPointerIndex(pointer); - var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted - - if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target - !(pointerInfo && pointerInfo.downTarget === eventTarget))) { - return []; - } - - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: type, - path: path, - targets: [], - node: null - }; - - for (var _i = 0; _i < path.length; _i++) { - var _ref2; - - _ref2 = path[_i]; - var node = _ref2; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (type === 'hold') { - signalArg.targets = signalArg.targets.filter(function (target) { - return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; - }); - } - - return signalArg.targets; -} - -function __install_40(scope) { - var interactions = scope.interactions; - scope.pointerEvents = pointerEvents; - scope.defaults.actions.pointerEvents = pointerEvents.defaults; - interactions.signals.on('new', function (_ref3) { - var interaction = _ref3.interaction; - interaction.prevTap = null; // the most recent tap event on this interaction - - interaction.tapTime = 0; // time of the most recent tap event - }); - interactions.signals.on('update-pointer', function (_ref4) { - var down = _ref4.down, - pointerInfo = _ref4.pointerInfo; - - if (!down && pointerInfo.hold) { - return; - } - - pointerInfo.hold = { - duration: Infinity, - timeout: null - }; - }); - interactions.signals.on('move', function (_ref5) { - var interaction = _ref5.interaction, - pointer = _ref5.pointer, - event = _ref5.event, - eventTarget = _ref5.eventTarget, - duplicateMove = _ref5.duplicateMove; - var pointerIndex = interaction.getPointerIndex(pointer); - - if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { - if (interaction.pointerIsDown) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - - fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'move' - }, scope); - } - }); - interactions.signals.on('down', function (_ref6) { - var interaction = _ref6.interaction, - pointer = _ref6.pointer, - event = _ref6.event, - eventTarget = _ref6.eventTarget, - pointerIndex = _ref6.pointerIndex; - var timer = interaction.pointers[pointerIndex].hold; - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'hold', - targets: [], - path: path, - node: null - }; - - for (var _i2 = 0; _i2 < path.length; _i2++) { - var _ref7; - - _ref7 = path[_i2]; - var node = _ref7; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (!signalArg.targets.length) { - return; - } - - var minDuration = Infinity; - - for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { - var _ref8; - - _ref8 = signalArg.targets[_i3]; - var target = _ref8; - var holdDuration = target.eventable.options.holdDuration; - - if (holdDuration < minDuration) { - minDuration = holdDuration; - } - } - - timer.duration = minDuration; - timer.timeout = setTimeout(function () { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'hold' - }, scope); - }, minDuration); - }); - var _arr = ['up', 'cancel']; - - for (var _i4 = 0; _i4 < _arr.length; _i4++) { - var signalName = _arr[_i4]; - interactions.signals.on(signalName, function (_ref10) { - var interaction = _ref10.interaction, - pointerIndex = _ref10.pointerIndex; - - if (interaction.pointers[pointerIndex].hold) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - }); - } - - for (var i = 0; i < simpleSignals.length; i++) { - interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); - } - - interactions.signals.on('up', function (_ref9) { - var interaction = _ref9.interaction, - pointer = _ref9.pointer, - event = _ref9.event, - eventTarget = _ref9.eventTarget; - - if (!interaction.pointerWasMoved) { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'tap' - }, scope); - } - }); -} - -function createSignalListener(type, scope) { - return function (_ref11) { - var interaction = _ref11.interaction, - pointer = _ref11.pointer, - event = _ref11.event, - eventTarget = _ref11.eventTarget; - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: type - }, scope); - }; -} - -var ___default_40 = pointerEvents; -_$base_40["default"] = ___default_40; - -var _$holdRepeat_41 = {}; -"use strict"; - -Object.defineProperty(_$holdRepeat_41, "__esModule", { - value: true -}); -_$holdRepeat_41["default"] = void 0; - -var ___base_41 = ___interopRequireDefault_41(_$base_40); - -function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_41(scope) { - var pointerEvents = scope.pointerEvents, - interactions = scope.interactions; - scope.usePlugin(___base_41["default"]); - pointerEvents.signals.on('new', onNew); - pointerEvents.signals.on('fired', function (arg) { - return onFired(arg, scope); - }); - var _arr = ['move', 'up', 'cancel', 'endall']; - - for (var _i = 0; _i < _arr.length; _i++) { - var signal = _arr[_i]; - interactions.signals.on(signal, endHoldRepeat); - } // don't repeat by default - - - pointerEvents.defaults.holdRepeatInterval = 0; - pointerEvents.types.push('holdrepeat'); -} - -function onNew(_ref) { - var pointerEvent = _ref.pointerEvent; - - if (pointerEvent.type !== 'hold') { - return; - } - - pointerEvent.count = (pointerEvent.count || 0) + 1; -} - -function onFired(_ref2, scope) { - var interaction = _ref2.interaction, - pointerEvent = _ref2.pointerEvent, - eventTarget = _ref2.eventTarget, - targets = _ref2.targets; - - if (pointerEvent.type !== 'hold' || !targets.length) { - return; - } // get the repeat interval from the first eventable - - - var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less - - if (interval <= 0) { - return; - } // set a timeout to fire the holdrepeat event - - - interaction.holdIntervalHandle = setTimeout(function () { - scope.pointerEvents.fire({ - interaction: interaction, - eventTarget: eventTarget, - type: 'hold', - pointer: pointerEvent, - event: pointerEvent - }, scope); - }, interval); -} - -function endHoldRepeat(_ref3) { - var interaction = _ref3.interaction; - - // set the interaction's holdStopTime property - // to stop further holdRepeat events - if (interaction.holdIntervalHandle) { - clearInterval(interaction.holdIntervalHandle); - interaction.holdIntervalHandle = null; - } -} - -var ___default_41 = { - id: 'pointer-events/holdRepeat', - install: __install_41 -}; -_$holdRepeat_41["default"] = ___default_41; - -var _$interactableTargets_43 = {}; -"use strict"; - -Object.defineProperty(_$interactableTargets_43, "__esModule", { - value: true -}); -_$interactableTargets_43["default"] = void 0; - -/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; - -var ___extend_43 = ___interopRequireDefault_43(_$extend_53); - -function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_43(scope) { - var pointerEvents = scope.pointerEvents, - actions = scope.actions, - Interactable = scope.Interactable, - interactables = scope.interactables; - pointerEvents.signals.on('collect-targets', function (_ref) { - var targets = _ref.targets, - node = _ref.node, - type = _ref.type, - eventTarget = _ref.eventTarget; - scope.interactables.forEachMatch(node, function (interactable) { - var eventable = interactable.events; - var options = eventable.options; - - if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { - targets.push({ - node: node, - eventable: eventable, - props: { - interactable: interactable - } - }); - } - }); - }); - interactables.signals.on('new', function (_ref2) { - var interactable = _ref2.interactable; - - interactable.events.getRect = function (element) { - return interactable.getRect(element); - }; - }); - interactables.signals.on('set', function (_ref3) { - var interactable = _ref3.interactable, - options = _ref3.options; - (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); - (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); - }); - (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); - Interactable.prototype.pointerEvents = pointerEventsMethod; - var __backCompatOption = Interactable.prototype._backCompatOption; - - Interactable.prototype._backCompatOption = function (optionName, newValue) { - var ret = __backCompatOption.call(this, optionName, newValue); - - if (ret === this) { - this.events.options[optionName] = newValue; - } - - return ret; - }; -} - -function pointerEventsMethod(options) { - (0, ___extend_43["default"])(this.events.options, options); - return this; -} - -var ___default_43 = { - id: 'pointer-events/interactableTargets', - install: __install_43 -}; -_$interactableTargets_43["default"] = ___default_43; - -var _$pointerEvents_42 = {}; -"use strict"; - -Object.defineProperty(_$pointerEvents_42, "__esModule", { - value: true -}); -_$pointerEvents_42.install = __install_42; -Object.defineProperty(_$pointerEvents_42, "pointerEvents", { - enumerable: true, - get: function get() { - return ___base_42["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "holdRepeat", { - enumerable: true, - get: function get() { - return _holdRepeat["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "interactableTargets", { - enumerable: true, - get: function get() { - return _interactableTargets["default"]; - } -}); -_$pointerEvents_42.id = void 0; - -var ___base_42 = ___interopRequireDefault_42(_$base_40); - -var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); - -var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); - -function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_42(scope) { - scope.usePlugin(___base_42["default"]); - scope.usePlugin(_holdRepeat["default"]); - scope.usePlugin(_interactableTargets["default"]); -} - -var __id_42 = 'pointer-events'; -_$pointerEvents_42.id = __id_42; - -var _$reflow_44 = {}; -"use strict"; - -Object.defineProperty(_$reflow_44, "__esModule", { - value: true -}); -_$reflow_44.install = __install_44; -_$reflow_44["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -_$InteractEvent_15.EventPhase.Reflow = 'reflow'; - -function __install_44(scope) { - var actions = scope.actions, - interactions = scope.interactions, - Interactable = scope.Interactable; // add action reflow event types - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - actions.eventTypes.push("".concat(actionName, "reflow")); - } // remove completed reflow interactions - - - interactions.signals.on('stop', function (_ref2) { - var interaction = _ref2.interaction; - - if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { - if (interaction._reflowResolve) { - interaction._reflowResolve(); - } - - _$utils_56.arr.remove(scope.interactions.list, interaction); - } - }); - /** - * ```js - * const interactable = interact(target) - * const drag = { name: drag, axis: 'x' } - * const resize = { name: resize, edges: { left: true, bottom: true } - * - * interactable.reflow(drag) - * interactable.reflow(resize) - * ``` - * - * Start an action sequence to re-apply modifiers, check drops, etc. - * - * @param { Object } action The action to begin - * @param { string } action.name The name of the action - * @returns { Promise } - */ - - Interactable.prototype.reflow = function (action) { - return reflow(this, action, scope); - }; -} - -function reflow(interactable, action, scope) { - 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 - - var Promise = _$utils_56.win.window.Promise; - var promises = Promise ? [] : null; - - var _loop = function _loop() { - _ref3 = elements[_i2]; - var element = _ref3; - var rect = interactable.getRect(element); - - if (!rect) { - return "break"; - } - - var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { - return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; - }); - - var reflowPromise = void 0; - - if (runningInteraction) { - runningInteraction.move(); - - if (promises) { - reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { - runningInteraction._reflowResolve = resolve; - }); - } - } else { - var xywh = _$utils_56.rect.tlbrToXywh(rect); - - var coords = { - page: { - x: xywh.x, - y: xywh.y - }, - client: { - x: xywh.x, - y: xywh.y - }, - timeStamp: scope.now() - }; - - var event = _$utils_56.pointer.coordsToEvent(coords); - - reflowPromise = startReflow(scope, interactable, element, action, event); - } - - if (promises) { - promises.push(reflowPromise); - } - }; - - for (var _i2 = 0; _i2 < elements.length; _i2++) { - var _ref3; - - var _ret = _loop(); - - if (_ret === "break") break; - } - - return promises && Promise.all(promises).then(function () { - return interactable; - }); -} - -function startReflow(scope, interactable, element, action, event) { - var interaction = scope.interactions["new"]({ - pointerType: 'reflow' - }); - var signalArg = { - interaction: interaction, - event: event, - pointer: event, - eventTarget: element, - phase: _$InteractEvent_15.EventPhase.Reflow - }; - interaction.interactable = interactable; - interaction.element = element; - interaction.prepared = (0, _$utils_56.extend)({}, action); - interaction.prevEvent = event; - interaction.updatePointer(event, event, element, true); - - interaction._doPhase(signalArg); - - var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { - interaction._reflowResolve = resolve; - }) : null; - interaction._reflowPromise = reflowPromise; - interaction.start(action, interactable, element); - - if (interaction._interacting) { - interaction.move(signalArg); - interaction.end(event); - } else { - interaction.stop(); - } - - interaction.removePointer(event, event); - interaction.pointerIsDown = false; - return reflowPromise; -} - -var ___default_44 = { - id: 'reflow', - install: __install_44 -}; -_$reflow_44["default"] = ___default_44; - -var _$interact_28 = {}; -"use strict"; - -Object.defineProperty(_$interact_28, "__esModule", { - value: true -}); -_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; - -var ___scope_28 = _$scope_24({}); - -var __utils_28 = ___interopRequireWildcard_28(_$utils_56); - -var ___browser_28 = ___interopRequireDefault_28(_$browser_48); - -var ___events_28 = ___interopRequireDefault_28(_$events_52); - -function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 = {}; -var scope = new ___scope_28.Scope(); -/** - * ```js - * interact('#draggable').draggable(true) - * - * var rectables = interact('rect') - * rectables - * .gesturable(true) - * .on('gesturemove', function (event) { - * // ... - * }) - * ``` - * - * The methods of this variable can be used to set elements as interactables - * and also to change various default settings. - * - * Calling it as a function and passing an element or a valid CSS selector - * string returns an Interactable object which has various methods to configure - * it. - * - * @global - * - * @param {Element | string} target The HTML or SVG Element to interact with - * or CSS selector - * @return {Interactable} - */ - -_$interact_28.scope = scope; - -var interact = function interact(target, options) { - var interactable = scope.interactables.get(target, options); - - if (!interactable) { - interactable = scope.interactables["new"](target, options); - interactable.events.global = globalEvents; - } - - return interactable; -}; -/** - * Use a plugin - * - * @alias module:interact.use - * - * @param {Object} plugin - * @param {function} plugin.install - * @return {interact} - */ - - -_$interact_28.interact = interact; -interact.use = use; - -function use(plugin, options) { - scope.usePlugin(plugin, options); - return interact; -} -/** - * Check if an element or selector has been set with the {@link interact} - * function - * - * @alias module:interact.isSet - * - * @param {Element} element The Element being searched for - * @return {boolean} Indicates if the element or CSS selector was previously - * passed to interact - */ - - -interact.isSet = isSet; - -function isSet(target, options) { - return !!scope.interactables.get(target, options && options.context); -} -/** - * Add a global listener for an InteractEvent or adds a DOM event to `document` - * - * @alias module:interact.on - * - * @param {string | array | object} type The types of events to listen for - * @param {function} listener The function event (s) - * @param {object | boolean} [options] object or useCapture flag for - * addEventListener - * @return {object} interact - */ - - -interact.on = on; - -function on(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i = 0; _i < type.length; _i++) { - var _ref; - - _ref = type[_i]; - var eventType = _ref; - interact.on(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.on(prop, type[prop], listener); - } - - return interact; - } // if it is an InteractEvent type, add listener to globalEvents - - - if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { - // if this type of event was never bound - if (!globalEvents[type]) { - globalEvents[type] = [listener]; - } else { - globalEvents[type].push(listener); - } - } // If non InteractEvent type, addEventListener to document - else { - ___events_28["default"].add(scope.document, type, listener, { - options: options - }); - } - - return interact; -} -/** - * Removes a global InteractEvent listener or DOM event from `document` - * - * @alias module:interact.off - * - * @param {string | array | object} type The types of events that were listened - * for - * @param {function} listener The listener function to be removed - * @param {object | boolean} options [options] object or useCapture flag for - * removeEventListener - * @return {object} interact - */ - - -interact.off = off; - -function off(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i2 = 0; _i2 < type.length; _i2++) { - var _ref2; - - _ref2 = type[_i2]; - var eventType = _ref2; - interact.off(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.off(prop, type[prop], listener); - } - - return interact; - } - - if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { - ___events_28["default"].remove(scope.document, type, listener, options); - } else { - var index; - - if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { - globalEvents[type].splice(index, 1); - } - } - - return interact; -} -/** - * Returns an object which exposes internal data - * @alias module:interact.debug - * - * @return {object} An object with properties that outline the current state - * and expose internal functions and variables - */ - - -interact.debug = debug; - -function debug() { - return scope; -} // expose the functions used to calculate multi-touch properties - - -interact.getPointerAverage = __utils_28.pointer.pointerAverage; -interact.getTouchBBox = __utils_28.pointer.touchBBox; -interact.getTouchDistance = __utils_28.pointer.touchDistance; -interact.getTouchAngle = __utils_28.pointer.touchAngle; -interact.getElementRect = __utils_28.dom.getElementRect; -interact.getElementClientRect = __utils_28.dom.getElementClientRect; -interact.matchesSelector = __utils_28.dom.matchesSelector; -interact.closest = __utils_28.dom.closest; -/** - * @alias module:interact.supportsTouch - * - * @return {boolean} Whether or not the browser supports touch input - */ - -interact.supportsTouch = supportsTouch; - -function supportsTouch() { - return ___browser_28["default"].supportsTouch; -} -/** - * @alias module:interact.supportsPointerEvent - * - * @return {boolean} Whether or not the browser supports PointerEvents - */ - - -interact.supportsPointerEvent = supportsPointerEvent; - -function supportsPointerEvent() { - return ___browser_28["default"].supportsPointerEvent; -} -/** - * Cancels all interactions (end events are not fired) - * - * @alias module:interact.stop - * - * @return {object} interact - */ - - -interact.stop = __stop_28; - -function __stop_28() { - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - interaction.stop(); - } - - return interact; -} -/** - * Returns or sets the distance the pointer must be moved before an action - * sequence occurs. This also affects tolerance for tap events. - * - * @alias module:interact.pointerMoveTolerance - * - * @param {number} [newValue] The movement from the start position must be greater than this value - * @return {interact | number} - */ - - -interact.pointerMoveTolerance = pointerMoveTolerance; - -function pointerMoveTolerance(newValue) { - if (__utils_28.is.number(newValue)) { - scope.interactions.pointerMoveTolerance = newValue; - return interact; - } - - return scope.interactions.pointerMoveTolerance; -} - -scope.interactables.signals.on('unset', function (_ref4) { - var interactable = _ref4.interactable; - scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref5; - - _ref5 = scope.interactions.list[_i4]; - var interaction = _ref5; - - if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { - interaction.stop(); - } - } -}); - -interact.addDocument = function (doc, options) { - return scope.addDocument(doc, options); -}; - -interact.removeDocument = function (doc) { - return scope.removeDocument(doc); -}; - -scope.interact = interact; -var ___default_28 = interact; -_$interact_28["default"] = ___default_28; - -var _$interact_27 = {}; -"use strict"; - -Object.defineProperty(_$interact_27, "__esModule", { - value: true -}); -_$interact_27.init = __init_27; -Object.defineProperty(_$interact_27, "autoScroll", { - enumerable: true, - get: function get() { - return _autoScroll["default"]; - } -}); -Object.defineProperty(_$interact_27, "interactablePreventDefault", { - enumerable: true, - get: function get() { - return _interactablePreventDefault["default"]; - } -}); -Object.defineProperty(_$interact_27, "inertia", { - enumerable: true, - get: function get() { - return _inertia["default"]; - } -}); -Object.defineProperty(_$interact_27, "modifiers", { - enumerable: true, - get: function get() { - return ___base_27["default"]; - } -}); -Object.defineProperty(_$interact_27, "reflow", { - enumerable: true, - get: function get() { - return _reflow["default"]; - } -}); -Object.defineProperty(_$interact_27, "interact", { - enumerable: true, - get: function get() { - return _interact["default"]; - } -}); -_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; - -var actions = ___interopRequireWildcard_27(_$actions_5); - -_$interact_27.actions = actions; - -var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); - -var autoStart = ___interopRequireWildcard_27(_$autoStart_12); - -var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); - -var _devTools = ___interopRequireDefault_27(_$devTools_25); - -var _inertia = ___interopRequireDefault_27(_$inertia_26); - -var modifiers = ___interopRequireWildcard_27(_$modifiers_31); - -var ___base_27 = ___interopRequireDefault_27(_$base_30); - -var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); - -_$interact_27.pointerEvents = __pointerEvents_27; - -var _reflow = ___interopRequireDefault_27(_$reflow_44); - -var _interact = ___interopRequireWildcard_27(_$interact_28); - -function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); - - _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents - - - _interact["default"].use(__pointerEvents_27); // inertia - - - _interact["default"].use(_inertia["default"]); // autoStart, hold - - - _interact["default"].use(autoStart); // drag and drop, resize, gesture - - - _interact["default"].use(actions); // snap, resize, etc. - - - _interact["default"].use(___base_27["default"]); // for backwrads compatibility - - - for (var type in modifiers) { - var _modifiers$type = modifiers[type], - _defaults = _modifiers$type._defaults, - _methods = _modifiers$type._methods; - _defaults._methods = _methods; - _interact.scope.defaults.perAction[type] = _defaults; - } // autoScroll - - - _interact["default"].use(_autoScroll["default"]); // reflow - - - _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef - - - if (false) {} - - return _interact["default"]; -} // eslint-disable-next-line no-undef - - -_interact["default"].version = "1.6.3"; -var ___default_27 = _interact["default"]; -_$interact_27["default"] = ___default_27; - -var _$types_45 = {}; -/// -"use strict"; - -var _$grid_64 = {}; -"use strict"; - -Object.defineProperty(_$grid_64, "__esModule", { - value: true -}); -_$grid_64["default"] = void 0; - -function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } - -function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function createGrid(grid) { - var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { - var _ref2 = ___slicedToArray_64(_ref, 2), - xField = _ref2[0], - yField = _ref2[1]; - - return xField in grid || yField in grid; - }); - return function (x, y) { - var range = grid.range, - _grid$limits = grid.limits, - limits = _grid$limits === void 0 ? { - left: -Infinity, - right: Infinity, - top: -Infinity, - bottom: Infinity - } : _grid$limits, - _grid$offset = grid.offset, - offset = _grid$offset === void 0 ? { - x: 0, - y: 0 - } : _grid$offset; - var result = { - range: range - }; - - for (var _i2 = 0; _i2 < coordFields.length; _i2++) { - var _ref3; - - _ref3 = coordFields[_i2]; - - var _ref4 = _ref3, - _ref5 = ___slicedToArray_64(_ref4, 2), - xField = _ref5[0], - yField = _ref5[1]; - - var gridx = Math.round((x - offset.x) / grid[xField]); - var gridy = Math.round((y - offset.y) / grid[yField]); - result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); - result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); - } - - return result; - }; -} - -var ___default_64 = createGrid; -_$grid_64["default"] = ___default_64; - -var _$snappers_65 = {}; -"use strict"; - -Object.defineProperty(_$snappers_65, "__esModule", { - value: true -}); -Object.defineProperty(_$snappers_65, "grid", { - enumerable: true, - get: function get() { - return _grid["default"]; - } -}); - -var _grid = ___interopRequireDefault_65(_$grid_64); - -function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _$index_29 = { exports: {} }; -"use strict"; - -Object.defineProperty(_$index_29.exports, "__esModule", { - value: true -}); -_$index_29.exports.init = __init_29; -_$index_29.exports["default"] = void 0; - -var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); - -var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); - -_$types_45; - -var ___extend_29 = ___interopRequireDefault_29(_$extend_53); - -var snappers = ___interopRequireWildcard_29(_$snappers_65); - -function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { - __init_29(window); -} - -function __init_29(win) { - (0, ___interact_29.init)(win); - return ___interact_29["default"].use({ - id: 'interactjs', - install: function install() { - ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); - ___interact_29["default"].snappers = snappers; - ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; - } - }); -} - -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 - -if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { - _$index_29.exports = ___interact_29["default"]; -} - -_$index_29 = _$index_29.exports -return _$index_29; - -}); - - -//# sourceMappingURL=interact.js.map - - /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.umd.js.map b/dist/vue-grid-layout.umd.js.map index e0788e8b..d4cdbeae 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?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 +{"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/interactjs/dist/interact.min.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?a8b6","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?d677","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/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;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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;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;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;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;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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AAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;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;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,0CAA0C,OAAO,oDAAoD,cAAc,eAAe,oCAAoC,iGAAiG,cAAc,oEAAoE,oFAAoF,QAAQ,YAAY,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,e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A;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,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;AACA;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;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;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;;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;AACA;;;;;;;;ACppBA;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;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,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AA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AFA,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;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,uBAJA;AAKA;AACA,YADA;AAEA,YAFA;AAGA,YAHA;AAIA,YAJA;AAKA;AALA,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;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;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;;;AClBwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;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 \n\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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=c806aad8&\"\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\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\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=5a186489&\"\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\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 42edba1a..4100b095 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",v="keys",h="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 E)return E[e];switch(e){case v:return function(){return new n(this,e)};case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==h,M=!1,E=e.prototype,k=E[f]||E[p]||m&&E[m],T=k||_(m),z=m?S?_("entries"):T:void 0,D="Array"==t&&E.entries||k;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&&k&&k.name!==h&&(M=!0,T=function(){return k.call(this)}),r&&!w||!d&&!M&&E[f]||a(E,f,T),s[t]=T,s[j]=g,m)if(x={values:S?T:_(h),keys:b?T:_(v),entries:z},w)for(O in x)O in E||o(E,O,x[O]);else i(i.P+i.F*(d||M),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)})),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=c?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1156:function(t,e,n){var r=n("ad20");"string"===typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),u)try{return c(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),s=a.length,u=0;while(s>u)r.f(t,n=a[u++],e[n]);return t}},"18d2":function(t,e,n){"use strict";var r=n("18e9");t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState;if(!e)throw new Error("Missing required dependency: reporter.");function o(t,e){function n(){e(t)}if(r.isIE(8))i(t).object={proxy:n},t.attachEvent("onresize",n);else{var o=u(t);if(!o)throw new Error("Element is not detectable by this strategy.");o.contentDocument.defaultView.addEventListener("resize",n)}}function a(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function s(t,o,s){s||(s=o,o=t,t=null),t=t||{};t.debug;function u(o,s){var u=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"]),c=!1,l=window.getComputedStyle(o),f=o.offsetWidth,d=o.offsetHeight;function p(){function n(){if("static"===l.position){o.style.setProperty("position","relative",t.important?"important":"");var n=function(e,n,r,i){function o(t){return t.replace(/[^-\d\.]/g,"")}var a=r[i];"auto"!==a&&"0"!==o(a)&&(e.warn("An element that is positioned static has style."+i+"="+a+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+i+" will be set to 0. Element: ",n),n.style.setProperty(i,"0",t.important?"important":""))};n(e,o,l,"top"),n(e,o,l,"right"),n(e,o,l,"bottom"),n(e,o,l,"left")}}function a(){function t(e,n){if(!e.contentDocument){var r=i(e);return r.checkForObjectDocumentTimeoutId&&window.clearTimeout(r.checkForObjectDocumentTimeoutId),void(r.checkForObjectDocumentTimeoutId=setTimeout((function(){r.checkForObjectDocumentTimeoutId=0,t(e,n)}),100))}n(e.contentDocument)}c||n();var e=this;t(e,(function(t){s(o)}))}""!==l.position&&(n(l),c=!0);var f=document.createElement("object");f.style.cssText=u,f.tabIndex=-1,f.type="text/html",f.setAttribute("aria-hidden","true"),f.onload=a,r.isIE()||(f.data="about:blank"),i(o)&&(o.appendChild(f),i(o).object=f,r.isIE()&&(f.data="about:blank"))}i(o).startSize={width:f,height:d},n?n.add(p):p()}r.isIE(8)?s(o):u(o,s)}function u(t){return i(t).object}function c(t){if(i(t)){var e=u(t);e&&(r.isIE(8)?t.detachEvent("onresize",e.proxy):t.removeChild(e),i(t).checkForObjectDocumentTimeoutId&&window.clearTimeout(i(t).checkForObjectDocumentTimeoutId),delete i(t).object)}}return{makeDetectable:s,addListener:o,uninstall:c}}},"18e9":function(t,e,n){"use strict";var r=t.exports={};r.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return-1!==t.indexOf("msie")||-1!==t.indexOf("trident")||-1!==t.indexOf(" edge/")}if(!e())return!1;if(!t)return!0;var n=function(){var t,e=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++e+"]>4?e:t}();return t===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),c=s("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=s(t),p=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),h=p?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!e})):void 0;if(!p||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[d],g=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===u?p&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),i(RegExp.prototype,d,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},2350:function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,n){"string"===typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[u][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},"2cef":function(t,e,n){"use strict";t.exports=function(){var t=1;function e(){return t++}return{generate:e}}},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(t){return i(r(t))}}))},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(t,e,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(t,e,n,s){return[function(n){var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=s(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,c))){var h=String(f[0]);d[p]=h,""===h&&(u.lastIndex=o(c,i(u.lastIndex),l)),p++}return 0===p?null:d}]}))},"499e":function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i=y&&(n=i);else n=i}else n=i}var h,v,m,y;return n},_.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=E(t))===n)return O(t,e)}return!1},_.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},_.getScrollXY=M,_.getElementClientRect=j,_.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){for(var e=[];t;)e.push(t),t=E(t);return e},_.trySelector=function(t){return!!a.default.string(t)&&(g.default.document.querySelector(t),!0)};var P=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],i=t;(n=P(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var z={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?V(e):e[0],i={};X(r,i),t.page.x=i.x,t.page.y=i.y,Y(r,i),t.client.x=i.x,t.client.y=i.y,t.timeStamp=n},B.getTouchPair=G,B.pointerAverage=V,B.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=G(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),i=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},B.touchDistance=function(t,e){var n=e+"X",r=e+"Y",i=G(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,H.default)(o,a)},B.touchAngle=function(t,e){var n=e+"X",r=e+"Y",i=G(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI},B.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},B.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},B.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},B.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(B,"pointerExtend",{enumerable:!0,get:function(){return L.default}});var q={};function U(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&v<=s.right&&g>=s.top&&g<=s.bottom}if(h&&a.default.number(c)){var m=Math.max(0,Math.min(s.right,h.right)-Math.max(s.left,h.left))*Math.max(0,Math.min(s.bottom,h.bottom)-Math.max(s.top,h.top))/(h.width*h.height);u=m>=c}return t.options.drop.checker&&(u=t.options.drop.checker(e,n,u,t,o,r,i)),u}(this,t,e,n,r,i,o)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var i=n.dropState;i.activeDrops=null,i.events=null,i.activeDrops=ft(e,n.element),i.events=pt(n,0,r),i.events.activate&&(lt(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":vt,"interactions:action-end":vt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(ht(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(ht(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:ht,defaults:{enabled:!1,accept:null,overlap:"pointer"}},mt=gt;ct.default=mt;var yt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var i=e.pointers.map((function(t){return t.pointer})),o="start"===r,s="end"===r,u=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],o)n.distance=B.touchDistance(i,u),n.box=B.touchBBox(i),n.scale=1,n.ds=0,n.angle=B.touchAngle(i,u),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=B.touchDistance(i,u),n.box=B.touchBBox(i),n.scale=n.distance/e.gesture.startDistance,n.angle=B.touchAngle(i,u),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(yt,"__esModule",{value:!0}),yt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;yt.default=wt;var St={};function _t(t,e,n,r,i,o,s){if(!e)return!1;if(!0===e){var u=a.default.number(o.width)?o.width:o.right-o.left,c=a.default.number(o.height)?o.height:o.bottom-o.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?u:c)/2)),u<0&&("left"===t?t="right":"right"===t&&(t="left")),c<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(u>=0?o.left:o.right)+s;if("top"===t)return n.y<(c>=0?o.top:o.bottom)+s;if("right"===t)return n.x>(u>=0?o.right:o.left)-s;if("bottom"===t)return n.y>(c>=0?o.bottom:o.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:_.matchesUpTo(r,e,i))}function Et(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(St,"__esModule",{value:!0}),St.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){return a.default.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t):a.default.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",i.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.rect;n._rects={start:(0,k.default)({},i),corrected:(0,k.default)({},i),previous:(0,k.default)({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Et(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.interactable.options.resize.invert,o="reposition"===i||"negate"===i,a=n.rect,s=n._rects,u=s.start,c=s.corrected,l=s.delta,f=s.previous;if((0,k.default)(f,c),o){if((0,k.default)(c,a),"reposition"===i){if(c.top>c.bottom){var d=c.top;c.top=c.bottom,c.bottom=d}if(c.left>c.right){var p=c.left;c.left=c.right,c.right=p}}}else c.top=Math.min(a.top,u.bottom),c.bottom=Math.max(a.bottom,u.top),c.left=Math.min(a.left,u.right),c.right=Math.max(a.right,u.left);for(var h in c.width=c.right-c.left,c.height=c.bottom-c.top,c)l[h]=c[h]-f[h];r.edges=n.prepared.edges,r.rect=c,r.deltaRect=l}}(t),Et(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,o=t.buttons;if(i){var s=(0,k.default)({},e.coords.cur.page),u=n.options.resize;if(u&&u.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(o&u.mouseButtons))){if(a.default.object(u.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var l in c)c[l]=_t(l,u.edges[l],s,e._latestPointer.eventTarget,r,i,u.margin||Ot.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:"resize",edges:c})}else{var f="y"!==u.axis&&s.x>i.right-Ot.defaultMargin,d="x"!==u.axis&&s.y>i.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=Ot.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],u=0;u=1){var l={x:Ct.x*c,y:Ct.y*c};if(l.x||l.y){var f=Lt(o);a.default.window(o)?o.scrollBy(l.x,l.y):o&&(o.scrollLeft+=l.x,o.scrollTop+=l.y);var d=Lt(o),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:o})}Ct.prevTime=s}Ct.isScrolling&&(kt.default.cancel(Ct.i),Ct.i=kt.default.request(Ct.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Ct.check(e.interactable,e.prepared.name))if(e.simulation)Ct.x=Ct.y=0;else{var r,i,o,s,u=e.interactable,c=e.element,l=e.prepared.name,f=u.options[l].autoScroll,d=Ht(f.container,u,c);if(a.default.window(d))s=n.clientXd.innerWidth-Ct.margin,o=n.clientY>d.innerHeight-Ct.margin;else{var p=_.getElementClientRect(d);s=n.clientXp.right-Ct.margin,o=n.clientY>p.bottom-Ct.margin}Ct.x=i?1:s?-1:0,Ct.y=o?1:r?-1:0,Ct.isScrolling||(Ct.margin=f.margin,Ct.speed=f.speed,Ct.start(e))}}};function Ht(t,n,r){return(a.default.string(t)?(0,z.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Lt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Nt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Ct,Ct.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Ct.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Ct.stop(),Ct.interaction&&(Ct.interaction=null)},"interactions:stop":Ct.stop,"interactions:action-move":function(t){return Ct.onInteractionMove(t)}}};At.default=Nt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Bt={};function $t(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ft(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.default=void 0;var Xt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,i){var o=function(t,e,n,r,i){var o=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:o,buttons:a};return i.fire("auto-start:check",s),s.action}(this,n,r,i,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,i,r):o},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ft,e.prototype.styleCursor=$t}};Bt.default=Xt;var Yt={};function Gt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Zt(e,n,t,i)?t:null}function Vt(t,e,n,r,i,o,a){for(var s=0,u=r.length;s=s)return!1;if(d.interactable===t){if((c+=p===n.name?1:0)>=o)return!1;if(d.element===e&&(l++,p===n.name&&l>=a))return!1}}}return s>0}function Kt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,i=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var o="";if(i.name){var s=n.options[i.name].cursorChecker;o=a.default.func(s)?s(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}Jt(t.element,o||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Bt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Kt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Zt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||Ut(n,qt(n,r,i,o,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ut(n,qt(n,r,i,o,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,i=n.prepared.name;i&&r&&(r.options[i].manualStart||!Zt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Kt,withinInteractionLimit:Zt,validateAction:Gt};Yt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,o=t.dy;if("drag"===n.prepared.name){var s=Math.abs(i),u=Math.abs(o),c=n.interactable.options.drag,l=c.startAxis,f=s>u?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;ie(e)>0&&(e.prepared.name=null)}},getHoldDuration:ie};re.default=oe;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(Yt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var ue={};Object.defineProperty(ue,"__esModule",{value:!0}),ue.default=void 0,ue.default={};var ce={};function le(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=le,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var i=t.options.preventDefault;if("never"!==i)if("always"!==i){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var o=(0,e.getWindow)(r.target).document,s=n.getDocOptions(o);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,_.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,i=t.defaults;t.logger=n||console,i.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Le(e.prototype,n),r&&Le(e,r),o}(q.BaseEvent);Ce.InteractEvent=Xe,Object.defineProperties(Xe.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.PointerInfo=void 0,Ye.PointerInfo=function t(e,n,r,i,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};var Ge,Ve,qe={};function Ue(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:i,duplicate:o,interaction:this};o||B.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),o||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&B.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||B.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var i=this.getPointerIndex(t);-1===i&&(i=this.updatePointer(t,e,n,!1));var o=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(o),{pointer:t,pointerIndex:i,pointerInfo:this.pointers[i],event:e,eventTarget:n,type:o,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=B.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var i=B.getPointerId(t),o=this.getPointerIndex(t),a=this.pointers[o];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ye.PointerInfo(i,t,e,null,null),o=this.pointers.length,this.pointers.push(a)),B.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),B.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,B.pointerExtend(this.downPointer,t),this.interacting()||(B.copyCoords(this.coords.start,this.coords.cur),B.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:o,interaction:this}),o}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Ce.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,i=t.type,o=this.rect;if(o&&"move"===n&&(z.addEdges(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,i);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();qe.Interaction=Je;var Qe=Je;qe.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),z.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,qe._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var un={};function cn(t,e){for(var n=0;nn.minSpeed&&i>n.endSpeed)this.startInertia();else{if(o.result=o.setAll(this.modifierArg),!o.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,i=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-i)/r,y:(e.y-i)/r},this.te=i,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var o=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},o.result=o.setAll(a),o.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+o.result.delta.x,y:this.targetOffset.y+o.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,i,o,a,s=this,u=this.interaction,c=fn(u).resistance,l=(u._now()-this.t0)/1e3;if(l=0;n--){var r=e[n],i=r.selector,o=r.context,s=r.listeners;i===this.target&&o===this._context&&e.splice(n,1);for(var u=s.length-1;u>=0;u--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[u][0],s[u][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=_n;var En={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var h=p.listeners,v=h.length-1;v>=0;v--){var g=jn(h[v],2),m=g[0],y=g[1],b=y.capture,x=y.passive;if(m===i&&b===l.capture&&x===l.passive){h.splice(v,1),h.length||(f.splice(a,1),s(e,r,u),s(e,r,c,!0)),d=!0;break}}if(d)break}}},delegateListener:u,delegateUseCapture:c,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function o(t,n,r,o){var a=In(o),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,i.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,o){var a=In(o),u=J.findIndex(e,(function(e){return e.eventTarget===t})),c=e[u];if(c&&c.events)if("all"!==n){var l=!1,f=c.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function Hn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Ln=Cn;An.default=Ln;var Nn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Bn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return $n(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Zn,methodNames:Un};Nn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function ir(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var i=ar(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return or(this,n)}}function or(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ur(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(u.y),s.coords,s.rect),(0,k.default)(r,s.coords)),s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function zr(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i:n.x=r.x+(n.y-r.y)*i}function Ir(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var u=r.width/a;n.y=o.y+(u-i.height)*s}else{var c=r.height*a;n.x=o.x+(c-i.width)*s}}Pr.aspectRatio=kr;var Rr=(0,Ie.makeModifier)(kr,"aspectRatio");Pr.default=Rr;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.default=void 0;var Ar=function(){};Ar._defaults={};var Cr=Ar;Dr.default=Cr;var Hr={};Object.defineProperty(Hr,"__esModule",{value:!0}),Object.defineProperty(Hr,"default",{enumerable:!0,get:function(){return Dr.default}});var Lr={};function Nr(t,e,n){return a.default.func(t)?z.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):z.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.getRestrictionRect=Nr,Lr.restrict=Lr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,u=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var c=Nr(a.restriction,i,o);if(c){var l=c.right-c.left-e.width,f=c.bottom-c.top-e.height;l<0&&(u.left+=l,u.right+=l),f<0&&(u.top+=f,u.bottom+=f)}u.left+=n.left-e.width*s.left,u.top+=n.top-e.height*s.top,u.right+=n.right-e.width*(1-s.right),u.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=u},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=Nr(i.restriction,n,e);if(a){var s=z.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Lr.restrict=Wr;var Br=(0,Ie.makeModifier)(Wr,"restrict");Lr.default=Br;var $r={};Object.defineProperty($r,"__esModule",{value:!0}),$r.restrictEdges=$r.default=void 0;var Fr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Xr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Yr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&o.call(a[0],n,(function(){for(l=1;lf)n=u(r,e=c[f++]),void 0!==n&&s(l,e,n);return l}})},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9cbe":function(t,e,n){e=t.exports=n("2350")(!1),e.push([t.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(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),s=n("0390"),u=n("5f1b"),c=Math.max,l=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),p="function"===typeof e;p||(e=String(e));var m=f.global;if(m){var y=f.unicode;f.lastIndex=0}var b=[];while(1){var x=u(f,d);if(null===x)break;if(b.push(x),!m)break;var w=String(x[0]);""===w&&(f.lastIndex=s(d,o(f.lastIndex),y))}for(var S="",_=0,E=0;E=_&&(S+=d.slice(_,P)+z,_=P+O.length)}return S+d.slice(_)}];function g(t,e,r,o,a,s){var u=r+t.length,c=o.length,l=p;return void 0!==a&&(a=i(a),l=d),n.call(s,l,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var d=f(l/10);return 0===d?n:d<=c?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[l-1]}return void 0===s?"":s}))}}))},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),f=function(t,e,n){var i={},s=o((function(){return!!a[t]()||u[t]()!=u})),c=i[t]=s?e(d):a[t];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},abb4:function(t,e,n){"use strict";t.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var r=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;nn?n=i:il)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),c=n("9093").f,l=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",h=r[p],v=h,g=h.prototype,m=o(n("2aeb")(g))==p,y="trim"in String.prototype,b=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,u=e.slice(2),c=0,l=u.length;ci)return NaN;return parseInt(u,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(m?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new v(b(e)),n,h):b(e)};for(var x,w=n("9e1e")?c(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(","),S=0;w.length>S;S++)i(v,x=w[S])&&!i(h,x)&&f(h,x,l(v,x));h.prototype=g,g.constructor=h,n("2aba")(r,p,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c946:function(t,e,n){"use strict";var r=n("b770").forEach;t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState,o=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!e)throw new Error("Missing required dependency: reporter.");var a=f(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function c(t){d(t,s,u)}function l(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function f(){var t=500,e=500,n=document.createElement("div");n.style.cssText=l(["position: absolute","width: "+2*t+"px","height: "+2*e+"px","visibility: hidden","margin: 0","padding: 0"]);var r=document.createElement("div");r.style.cssText=l(["position: absolute","width: "+t+"px","height: "+e+"px","overflow: scroll","visibility: none","top: "+3*-t+"px","left: "+3*-e+"px","visibility: hidden","margin: 0","padding: 0"]),r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=t-r.clientWidth,o=e-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function d(t,e,n){function r(n,r){r=r||function(e){t.head.appendChild(e)};var i=t.createElement("style");return i.innerHTML=n,i.id=e,r(i),i}if(!t.getElementById(e)){var i=n+"_animation",o=n+"_animation_active",a="/* Created by the element-resize-detector library. */\n";a+="."+n+" > div::-webkit-scrollbar { "+l(["display: none"])+" }\n\n",a+="."+o+" { "+l(["-webkit-animation-duration: 0.1s","animation-duration: 0.1s","-webkit-animation-name: "+i,"animation-name: "+i])+" }\n",a+="@-webkit-keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",a+="@keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",r(a)}}function p(t){t.className+=" "+u+"_animation_active"}function h(t,n,r){if(t.addEventListener)t.addEventListener(n,r);else{if(!t.attachEvent)return e.error("[scroll] Don't know how to add event listeners.");t.attachEvent("on"+n,r)}}function v(t,n,r){if(t.removeEventListener)t.removeEventListener(n,r);else{if(!t.detachEvent)return e.error("[scroll] Don't know how to remove event listeners.");t.detachEvent("on"+n,r)}}function g(t){return i(t).container.childNodes[0].childNodes[0].childNodes[0]}function m(t){return i(t).container.childNodes[0].childNodes[0].childNodes[1]}function y(t,e){var n=i(t).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(t).listeners.push(e)}function b(t,s,c){function f(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),e.log.apply)e.log.apply(null,n);else for(var r=0;r=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,s=i(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);while(e.length>u)r(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d6eb:function(t,e,n){"use strict";var r="_erd";function i(t){return t[r]={},o(t)}function o(t){return t[r]}function a(t){delete t[r]}t.exports={initState:i,getState:o,cleanState:a}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(t,e,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.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(t,e,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),c=n("18e9"),l=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function h(t){return Array.isArray(t)||void 0!==t.length}function v(t){if(Array.isArray(t))return t;var e=[];return r(t,(function(t){e.push(t)})),e}function g(t){return t&&1===t.nodeType}function m(t,e,n){var r=t[e];return void 0!==r&&null!==r||void 0===n?r:n}t.exports=function(t){var e;if(t=t||{},t.idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=a(),y=s({idGenerator:n,stateHandler:f});e=y}var b=t.reporter;if(!b){var x=!1===b;b=u(x)}var w=m(t,"batchProcessor",l({reporter:b})),S={};S.callOnAdd=!!m(t,"callOnAdd",!0),S.debug=!!m(t,"debug",!1);var _,E=o(e),O=i({stateHandler:f}),P=m(t,"strategy","object"),T=m(t,"important",!1),M={reporter:b,batchProcessor:w,stateHandler:f,idHandler:e,important:T};if("scroll"===P&&(c.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),P="object"):c.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),P="object")),"scroll"===P)_=p(M);else{if("object"!==P)throw new Error("Invalid strategy name: "+P);_=d(M)}var j={};function k(t,n,i){function o(t){var e=E.get(t);r(e,(function(e){e(t)}))}function a(t,e,n){E.add(e,n),t&&n(e)}if(i||(i=n,n=t,t={}),!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=m(t,"callOnAdd",S.callOnAdd),c=m(t,"onReady",(function(){})),l=m(t,"debug",S.debug);r(n,(function(t){f.getState(t)||(f.initState(t),e.set(t));var d=e.get(t);if(l&&b.log("Attaching listener to element",d,t),!O.isDetectable(t))return l&&b.log(d,"Not detectable."),O.isBusy(t)?(l&&b.log(d,"System busy making it detectable"),a(u,t,i),j[d]=j[d]||[],void j[d].push((function(){s++,s===n.length&&c()}))):(l&&b.log(d,"Making detectable..."),O.markBusy(t,!0),_.makeDetectable({debug:l,important:T},t,(function(t){if(l&&b.log(d,"onElementDetectable"),f.getState(t)){O.markAsDetectable(t),O.markBusy(t,!1),_.addListener(t,o),a(u,t,i);var e=f.getState(t);if(e&&e.startSize){var p=t.offsetWidth,h=t.offsetHeight;e.startSize.width===p&&e.startSize.height===h||o(t)}j[d]&&r(j[d],(function(t){t()}))}else l&&b.log(d,"Element uninstalled before being detectable.");delete j[d],s++,s===n.length&&c()})));l&&b.log(d,"Already detecable, adding listener."),a(u,t,i),s++})),s===n.length&&c()}function z(t){if(!t)return b.error("At least one element is required.");if(g(t))t=[t];else{if(!h(t))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");t=v(t)}r(t,(function(t){E.removeAllListeners(t),_.uninstall(t),f.cleanState(t)}))}function I(t){_.initDocument&&_.initDocument(t)}return{listenTo:k,removeListener:E.removeListener,removeAllListeners:E.removeAllListeners,uninstall:z,initDocument:I}}},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),n.d(e,"GridLayout",(function(){return it})),n.d(e,"GridItem",(function(){return $})),"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 t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-item",class:t.classObj,style:t.style},[t._t("default"),t.resizableAndNotStatic?n("span",{ref:"handle",class:t.resizableHandleClass}):t._e()],2)},s=[];n("4917"),n("c5f6"),n("a481"),n("55dd");function u(t){for(var e,n=0,r=0,i=t.length;rn&&(n=e);return n}function c(t){for(var e=Array(t.length),n=0,r=t.length;n=e.x+e.w)&&(!(t.y+t.h<=e.y)&&!(t.y>=e.y+e.h))))}function d(t,e){for(var n=y(t),r=O(t),i=Array(t.length),o=0,a=r.length;o0&&!g(t,e))e.y--;var r;while(r=g(t,e))e.y=r.y+r.h;return e}function h(t,e){for(var n=y(t),r=0,i=t.length;re.cols&&(o.x=e.cols-o.w),o.x<0&&(o.x=0,o.w=e.cols),o.static)while(g(n,o))o.y++;else n.push(o)}return t}function v(t,e){for(var n=0,r=t.length;nr;"number"===typeof n&&(e.x=n),"number"===typeof r&&(e.y=r),e.moved=!0;var c=O(t);u&&(c=c.reverse());var l=m(c,e);if(o&&l.length)return e.x=a,e.y=s,e.moved=!1,t;for(var f=0,d=l.length;fp.y&&e.y-p.y>p.h/4||(t=p.static?x(t,p,e,i):x(t,e,p,i)))}return t}function x(t,e,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(e.y-n.h,0),!g(t,o))return b(t,n,void 0,o.y,i)}return b(t,n,void 0,n.y+1,i)}function w(t,e,n,r){var i="translate3d("+e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function S(t,e,n,r){var i="translate3d("+-1*e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function _(t,e,n,r){return{top:t+"px",left:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function E(t,e,n,r){return{top:t+"px",right:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function O(t){return[].concat(t).sort((function(t,e){return t.y===e.y&&t.x===e.x?0:t.y>e.y||t.y===e.y&&t.x>e.x?1:-1}))}function P(t,e){e=e||"Layout";var n=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(var r=0,i=t.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 t,e=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(e.top=this.dragging.top,this.renderRtl?e.right=this.dragging.left:e.left=this.dragging.left),this.isResizing&&(e.width=this.resizing.width,e.height=this.resizing.height),t=this.useCssTransforms?this.renderRtl?S(e.top,e.right,e.width,e.height):w(e.top,e.left,e.width,e.height):this.renderRtl?E(e.top,e.right,e.width,e.height):_(e.top,e.left,e.width,e.height),this.style=t},emitContainerResized:function(){for(var t={},e=0,n=["width","height"];ethis.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"!==t.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",t.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(t){if(!this.static&&!this.isResizing){var e=T(t);if(null!==e){var n,r=e.x,i=e.y,o={top:0,left:0};switch(t.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var a=t.target.offsetParent.getBoundingClientRect(),s=t.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=t.target.offsetParent.getBoundingClientRect(),c=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(c.right-u.right):o.left=c.left-u.left,o.top=c.top-u.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var l=j(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-l.deltaX:o.left=this.dragging.left+l.deltaX,o.top=this.dragging.top+l.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"!==t.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",t.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(t,e,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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(t,e){var n=this.calcColWidth(),r=Math.round((e-this.margin[0])/(n+this.margin[0])),i=Math.round((t-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 t=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return t},calcWH:function(t,e){var n=this.calcColWidth(),r=Math.round((e+this.margin[0])/(n+this.margin[0])),i=Math.round((t+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(t,e){this.containerWidth=t,void 0!==e&&null!==e&&(this.cols=e)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=H(this.$refs.item)),this.draggable&&!this.static){var e={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(e),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(e){t.handleDrag(e)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=H(this.$refs.item)),this.resizable&&!this.static){var e=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:e.height,width:e.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(e){t.handleResize(e)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var t=this.$slots.default[0].elm.getBoundingClientRect(),e=this.calcWH(t.height,t.width);e.wthis.maxW&&(e.w=this.maxW),e.hthis.maxH&&(e.h=this.maxH),e.h<1&&(e.h=1),e.w<1&&(e.w=1),this.innerW===e.w&&this.innerH===e.h||this.$emit("resize",this.i,e.h,e.w,t.height,t.width),this.previousW===e.w&&this.previousH===e.h||(this.$emit("resized",this.i,e.h,e.w,t.height,t.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,e.h,e.w))}}},N=L;n("5ed4");function W(t,e,n,r,i,o,a,s){var u,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):i&&(u=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}var B=W(N,a,s,!1,null,null,null),$=B.exports,F=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:t.mergedStyle},[t._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:t.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:t.placeholder.x,y:t.placeholder.y,w:t.placeholder.w,h:t.placeholder.h,i:t.placeholder.i}})],2)},X=[],Y=(n("8e6e"),n("fca0"),n("85f2")),G=n.n(Y);function V(t,e,n){return e in t?G()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function q(t,e){for(var n=K(t),r=n[0],i=1,o=n.length;it[a]&&(r=a)}return r}function U(t,e){if(!e[t])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function Z(t,e,n,r,i,o,a){if(e[r])return c(e[r]);for(var s=t,u=K(n),l=u.slice(u.indexOf(r)),f=0,p=l.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(t):this.originalLayout=this.originalLayout.filter((function(e){return!t.some((function(t){return e.i===t.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(t,e,n,r,i,o){var a=v(this.layout,e);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===t||"dragstart"===t?(this.placeholder.i=e,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"===t&&this.$emit("layout-updated",this.layout)},resizeEvent:function(t,e,n,r,i,o){var a,s=v(this.layout,e);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=m(this.layout,Q(Q({},s),{},{w:o,h:i})).filter((function(t){return t.i!==s.i}));if(a=u.length>0,a){var c=1/0,l=1/0;u.forEach((function(t){t.x>s.x&&(c=Math.min(c,t.x)),t.y>s.y&&(l=Math.min(l,t.y))})),Number.isFinite(c)&&(s.w=c-s.x),Number.isFinite(l)&&(s.h=l-s.y)}}a||(s.w=o,s.h=i),"resizestart"===t||"resizemove"===t?(this.placeholder.i=e,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"===t&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var t=q(this.breakpoints,this.width),e=U(t,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=c(this.layout));var n=Z(this.originalLayout,this.layouts,this.breakpoints,t,this.lastBreakpoint,e,this.verticalCompact);this.layouts[t]=n,this.$emit("update:layout",n),this.lastBreakpoint=t,this.eventBus.$emit("setColNum",U(t,this.cols))},initResponsiveFeatures:function(){this.layouts={}},findDifference:function(t,e){var n=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))})),r=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))}));return n.concat(r)}}},nt=et,rt=(n("e279"),W(nt,F,X,!1,null,null,null)),it=rt.exports,ot={GridLayout:it,GridItem:$};Object.keys(ot).forEach((function(t){o.a.component(t,ot[t])}));var at=ot;e["default"]=at},fca0:function(t,e,n){var r=n("5ca1"),i=n("7726").isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})["default"]})); //# sourceMappingURL=vue-grid-layout.umd.min.js.map \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.min.js.map b/dist/vue-grid-layout.umd.min.js.map index 5f25752c..b82f70b7 100644 --- a/dist/vue-grid-layout.umd.min.js.map +++ b/dist/vue-grid-layout.umd.min.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?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 +{"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/interactjs/dist/interact.min.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?a8b6","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?d677","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/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","listenerProxy","isIE","proxy","attachEvent","getObject","contentDocument","defaultView","addEventListener","buildCssTextString","rules","seperator","important","join","trim","makeDetectable","callback","debug","injectObject","OBJECT_STYLE","positionCheckPerformed","style","window","getComputedStyle","width","offsetWidth","height","offsetHeight","mutateDom","alterPositionStyles","position","setProperty","removeRelativeStyles","getNumericalValue","replace","warn","onObjectLoad","getDocument","state","checkForObjectDocumentTimeoutId","clearTimeout","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","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","Window","init","getWindow","realWindow","ownerDocument","wrap","iterator","u","docFrag","nodeType","func","number","bool","Element","nodeName","plainObject","array","interaction","prepared","axis","coords","cur","page","y","start","client","velocity","x","iEvent","delta","install","actions","Interactable","defaults","draggable","drag","methodDict","interactable","buttons","enabled","pointerIsDown","pointerType","mouseButtons","action","lockAxis","startAxis","setPerAction","setOnEvents","beforeMove","move","getCursor","h","g","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","HTMLElement","Event","Touch","PointerEvent","MSPointerEvent","w","supportsTouch","DocumentTouch","supportsPointerEvent","pointerEnabled","isIOS","platform","isIOS7","appVersion","isIe9","isOperaMobile","appName","prefixedMatchesSelector","pEventTypes","up","down","over","out","cancel","wheelEvent","_","host","nodeContains","closest","matchesSelector","indexOfDeepestElement","E","ownerSVGElement","lastChild","previousSibling","parseInt","zIndex","matchesUpTo","getActualElement","correspondingUseElement","getScrollXY","M","getElementClientRect","getElementRect","left","right","top","bottom","getPath","trySelector","unshift","scrollX","documentElement","scrollLeft","scrollY","scrollTop","getBoundingClientRect","getClientRects","k","I","D","Array","getRect","getStringOptionResult","resolveRectLike","isArray","from","rectToXY","xywhToTlbr","tlbrToXywh","addEdges","z","origin","C","R","search","reduce","sqrt","X","Y","prefixedPropREs","webkit","moz","W","L","U","V","q","N","touches","changedTouches","$","pageX","pageY","clientX","clientY","screenX","screenY","copyCoords","timeStamp","setCoordDeltas","setCoordVelocity","max","setZeroCoords","isNativePointer","getXY","getPageXY","getClientXY","getPointerId","pointerId","identifier","setCoords","getTouchPair","pointerAverage","touchBBox","min","touchDistance","touchAngle","atan2","PI","getPointerType","getEventTargets","composedPath","path","target","currentTarget","newCoords","coordsToEvent","preventDefault","G","H","BaseEvent","K","_interaction","immediatePropagationStopped","propagationStopped","_proxy","set","Z","J","find","findIndex","merge","contains","Q","tt","et","nt","rt","ot","setPrototypeOf","__proto__","Reflect","construct","sham","Proxy","Date","st","ReferenceError","DropEvent","dropzone","dragEvent","relatedTarget","prev","dropState","rejected","events","enter","stopImmediatePropagation","activeDrops","fire","ut","ct","ft","interactables","drop","accept","draggableElement","_context","querySelectorAll","rect","dt","dropCheck","pt","leave","activate","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","vt","ht","event","dynamicDrop","interactStatic","usePlugin","off","on","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","overlap","checker","phaselessTypes","dragenter","dragleave","dropactivate","dropdeactivate","dropmove","getActiveDrops","getDrop","getDropEvents","fireDropEvents","yt","mt","bt","phase","pointers","pointer","deltaSource","distance","box","scale","ds","angle","da","gesture","startDistance","startAngle","prevEvent","xt","before","gesturable","wt","_t","St","abs","Pt","resizeAxes","resize","square","axes","Ot","browser","cursors","xy","topleft","bottomright","topright","bottomleft","defaultMargin","resizable","preserveAspectRatio","edges","_rects","corrected","previous","deltaRect","invert","_latestPointer","eventTarget","margin","NaN","Et","Tt","Mt","jt","kt","It","Dt","At","zt","request","requestAnimationFrame","cancelAnimationFrame","now","Ct","getContainer","Ft","getScroll","Xt","getScrollSize","body","scrollWidth","scrollHeight","getScrollSizeDelta","autoScroll","container","Rt","speed","isScrolling","prevTime","scroll","stop","scrollBy","check","onInteractionMove","interacting","simulation","innerWidth","innerHeight","Yt","autoscroll","perAction","Wt","warnOnce","console","copyAction","Lt","Bt","styleCursor","Ut","actionChecker","Vt","getAction","0","1","3","4","button","ignoreFrom","_backCompatOption","allowFrom","qt","Nt","testIgnoreAllow","Kt","$t","Gt","forEachMatch","manualStart","Ht","Qt","maxPerElement","autoStart","maxInteractions","interactions","Zt","Jt","cursorElement","cursor","cursorChecker","_interacting","te","base","withinInteractionLimit","pointerWasMoved","validateAction","ee","ne","dx","dy","downPointer","downEvent","oe","hold","delay","ie","autoStartHoldTimer","duplicate","getHoldDuration","ae","se","le","ue","ce","fe","checkAndPreventDefault","de","supportsPassive","getDocOptions","passive","docEvents","pe","ve","he","ge","ye","touchAction","boxSizing","noListeners","me","be","perform","xe","getInfo","text","types","we","_e","logger","devTools","ignore","checks","CheckName","links","prefix","Se","Pe","Oe","Ee","return","Te","Me","getRectOffset","Ie","je","states","startOffset","startDelta","endResult","ke","modifiers","_methods","prepareStates","pageCoords","preEnd","startAll","setAll","fillArg","skipModifiers","shouldDo","eventProps","rectDelta","changed","modifiedCoords","applyToInteraction","beforeEnd","modification","endOnly","setStart","De","Ae","makeModifier","enable","disable","_defaults","addEventModifiers","ze","setAndApply","restoreInteractionCoords","Ce","Re","Fe","Xe","Ye","We","Ue","Le","Be","InteractEvent","Ve","ctrlKey","shiftKey","altKey","metaKey","x0","y0","t0","duration","clientX0","clientY0","swipe","downTime","getSwipe","velocityY","velocityX","qe","PointerInfo","downTarget","Ne","$e","Ge","He","Ke","Interaction","_ProxyMethods","_ProxyValues","end","Ze","Je","scopeFire","_scopeFire","_ending","_stopped","doMove","_id","updatePointer","pointerIndex","pointerInfo","_doPhase","pointerMoveTolerance","getPointerIndex","curEventTarget","removePointer","_now","pointerExtend","_updateLatestPointer","_createPreparedEvent","_fireEvent","Qe","tn","en","an","offset","total","pending","nn","rn","addTotal","applyPending","offsetBy","sn","ln","un","InertiaState","cn","active","isModified","smoothEnd","allowResume","modifierCount","modifierArg","startCoords","v0","targetOffset","modifiedOffset","currentOffset","lambda_v0","one_ve_v0","timeout","copyFrom","minSpeed","endSpeed","startInertia","startSmoothEnd","resistance","log","inertiaTick","smoothEndTick","exp","dn","smoothEndDuration","pn","inertia","vn","phases","inertiastart","resume","hn","gn","yn","Eventable","mn","bn","substr","xn","wn","_n","Sn","_actions","_win","_doc","_scopeEvents","_rectChecker","context","onstart","onmove","onend","oninertiastart","updatePerActionListeners","testIgnore","testAllow","_onOff","delegatedEvents","selector","removeDelegate","Pn","On","InteractableSet","En","selectorMap","scope","addListeners","addDocument","win","inContext","Tn","Mn","jn","kn","FakeEvent","In","originalEvent","stopPropagation","Dn","capture","An","addDelegate","delegateListener","delegateUseCapture","documents","targets","supportsOptions","removeEventListener","zn","createInteractStatic","new","globalEvents","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","use","isSet","removeDocument","Cn","Rn","methodOrder","simulationResume","eventType","mouseOrPen","Fn","hasPointer","idle","some","Xn","Yn","Wn","Ln","Bn","Un","Vn","qn","Nn","Gn","$n","Hn","Kn","prevTouchTime","Zn","searchDetails","Jn","doc","Qn","pointerDown","pointerMove","pointerUp","documentBlur","destroy","onDocSignal","doOnInteractions","methodNames","tr","er","nr","ar","rr","or","ir","sr","lr","ur","initScope","fr","Scope","cr","random","isInitialized","listenerMaps","_plugins","onWindowUnload","pluginIsInstalled","dr","getDocIndex","pr","vr","hr","gr","yr","mr","br","xr","wr","_r","range","limits","grid","round","coordFields","Sr","Pr","Or","snappers","createSnapGrid","Er","Tr","Mr","forEach","jr","getOwnPropertyDescriptors","aspectRatio","kr","ratio","equalDelta","startRect","linkedEdges","xIsPrimaryAxis","edgeSign","subModification","Ir","Dr","prevCoords","prevRect","Ar","zr","Cr","Rr","Fr","Xr","Yr","getRestrictionRect","restrict","Wr","elementRect","restriction","Lr","Br","restrictEdges","Ur","Vr","qr","Nr","noInner","noOuter","inner","outer","$r","Gr","restrictRect","Hr","Kr","Zr","Jr","restrictSize","Qr","to","eo","no","ro","oo","snap","io","offsetWithOrigin","relativePoints","offsets","relativePoint","inRange","ao","so","lo","uo","snapSize","co","targetFields","fo","po","snapEdges","vo","ho","go","yo","mo","bo","spring","avoid","transform","rubberband","xo","wo","_o","So","Po","Oo","Eo","To","ko","Mo","jo","Io","double","eventable","tapTime","prevTap","Do","Ao","pointerEvents","zo","node","holdDuration","Ro","collectEventTargets","Co","tap","doubletap","pointerEvent","props","_subtractOrigin","_addOrigin","Fo","Xo","Yo","holdIntervalHandle","clearInterval","Wo","holdRepeatInterval","holdrepeat","count","Lo","Bo","Uo","Vo","qo","No","$o","Go","reflow","Promise","_reflowPromise","_reflowResolve","then","Ho","Ko","Zo","exchange","Jo","Qo","ti","__utils","displace","ei","ni","ri","oi","idGenerator","getId","setId","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","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","classof","builtinExec","shared","IS_WRAP","virtual","IObject","__g","def","tag","stat","FProto","nameRE","Attributes","buggy","ownKeys","createProperty","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","gOPS","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","spaces","space","non","ltrim","rtrim","exporter","ALIAS","FORCE","TYPE","quiet","error","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","collection","Batch","batch","size","topLevel","bottomLevel","level","process","getSize","asyncProcess","autoProcess","asyncFrameHandler","isProcessing","addFunction","processBatchAsync","processBatch","processingBatch","forceProcessBatch","localAsyncProcess","cancelFrame","requestFrame","raf","force","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","inheritIfRequired","$trim","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","code","digits","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","initDocument","targetDocument","injectScrollStyle","child","widthSize","clientWidth","heightSize","clientHeight","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","getExpandElement","getShrinkElement","args","isDetached","isInDocument","isUnrendered","getStyle","elementStyle","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","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","sizeChanged","areElementsInjected","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","px","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","toArray","isElement","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","importantCssRules","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","$defineProperty","currentScript","scripts","err","stack","readyState","render","_vm","_h","$createElement","_c","_self","ref","staticClass","class","classObj","resizableHandleClass","staticRenderFns","layout","bottomY","cloneLayout","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","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","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","setTopLeft","setTopRight","validateLayout","contextName","subProps","getControlPosition","offsetXYFromParentOf","evt","offsetParent","offsetParentRect","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","currentDir","hasWindow","getDocumentDir","direction","getAttribute","addWindowEventListener","removeWindowEventListener","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$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","_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 \n\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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=c806aad8&\"\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\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\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=5a186489&\"\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\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 From 3b344ea651f12d6cd48de0374e8a17482a730168 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 31 Jul 2020 10:19:22 +0100 Subject: [PATCH 013/111] fix responsive predefined layouts example --- .../08-responsive-predefined-layouts.html | 4 +- examples/08-responsive-predefined-layouts.js | 41 +------------------ 2 files changed, 3 insertions(+), 42 deletions(-) diff --git a/examples/08-responsive-predefined-layouts.html b/examples/08-responsive-predefined-layouts.html index 928d3aca..4b9f7fc3 100644 --- a/examples/08-responsive-predefined-layouts.html +++ b/examples/08-responsive-predefined-layouts.html @@ -8,7 +8,7 @@ -

Vue Grid Layout Example 6 - Responsive

+

Vue Grid Layout Example 8 - Responsive with predefined layouts

View project on Github
@@ -62,4 +62,4 @@

Vue Grid Layout Example 6 - Responsive

- \ No newline at end of file + diff --git a/examples/08-responsive-predefined-layouts.js b/examples/08-responsive-predefined-layouts.js index 9eccca9b..7f6d4070 100644 --- a/examples/08-responsive-predefined-layouts.js +++ b/examples/08-responsive-predefined-layouts.js @@ -62,54 +62,15 @@ new Vue({ responsive: true, index: 0 }, -/* mounted: function () { - this.index = this.layout.length; + // this.index = this.layout.length; }, methods: { - increaseWidth: function(item) { - var width = document.getElementById("content").offsetWidth; - width += 20; - document.getElementById("content").style.width = width+"px"; - }, - decreaseWidth: function(item) { - - var width = document.getElementById("content").offsetWidth; - width -= 20; - document.getElementById("content").style.width = width+"px"; - }, - removeItem: function(item) { - //console.log("### REMOVE " + item.i); - this.layout.splice(this.layout.indexOf(item), 1); - }, - addItem: function() { - var self = this; - //console.log("### LENGTH: " + this.layout.length); - var item = {"x":0,"y":0,"w":2,"h":2,"i":this.index+"", whatever: "bbb"}; - this.index++; - this.layout.push(item); - }, breakpointChangedEvent: function(newBreakpoint, newLayout){ console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); } } -*/ }); -/* -function generateLayout() { - return _.map(_.range(0, 25), function (item, i) { - var y = Math.ceil(Math.random() * 4) + 1; - return { - x: _.random(0, 5) * 2 % 12, - y: Math.floor(i / 6) * y, - w: 2, - h: y, - i: i.toString(), - static: Math.random() < 0.05 - }; - }); -}*/ - From 3e4599f087df0c916c797129ff8821c84d6b24e9 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 31 Jul 2020 10:24:40 +0100 Subject: [PATCH 014/111] extra space fix --- src/components/GridLayout.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index 375a989d..10301c65 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -273,8 +273,8 @@ compact(this.layout, this.verticalCompact); this.eventBus.$emit("updateWidth", this.width); this.updateHeight(); - - this.$emit('layout-updated', this.layout) + + this.$emit('layout-updated',this.layout) } }, updateHeight: function () { From fca6c812a235558202e3ab61c31b4379901c6801 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 31 Jul 2020 10:50:08 +0100 Subject: [PATCH 015/111] added emit layout-updated event after mounted compact --- src/components/GridLayout.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index 10301c65..1fb46b96 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -172,6 +172,8 @@ compact(self.layout, self.verticalCompact); + self.$emit('layout-updated',self.layout) + self.updateHeight(); self.$nextTick(function () { this.erd = elementResizeDetectorMaker({ From 46f4ada19ffeb72bd89f7fad0a539f332574397f Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 31 Jul 2020 11:17:45 +0100 Subject: [PATCH 016/111] update container height on margin change --- src/App.vue | 6 +++++- src/components/GridLayout.vue | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/App.vue b/src/App.vue index a8b7595b..6cc55e05 100644 --- a/src/App.vue +++ b/src/App.vue @@ -33,8 +33,10 @@ Prevent Collision
Row Height: Col nums: + Margin x: Margin y:
=m&&(n=o);else n=o}else n=o}var v,h,y,m;return n},S.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},S.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},S.getScrollXY=M,S.getElementClientRect=j,S.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){var e=[];for(;t;)e.push(t),t=P(t);return e},S.trySelector=function(t){if(!a.default.string(t))return!1;return g.default.document.querySelector(t),!0};var E=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var I={};function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?$(e):e[0],o={};V(r,o),t.page.x=o.x,t.page.y=o.y,q(r,o),t.client.x=o.x,t.client.y=o.y,t.timeStamp=n},L.getTouchPair=N,L.pointerAverage=$,L.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=N(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},L.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,F.default)(i,a)},L.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},L.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},L.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},L.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},L.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(L,"pointerExtend",{enumerable:!0,get:function(){return X.default}});var G={};function H(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&a.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,i,r,o));return l}(this,t,e,n,r,o,i)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ft(e,n.element),o.events=pt(n,0,r),o.events.activate&&(ct(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":ht,"interactions:action-end":ht,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:vt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},yt=gt;ut.default=yt;var mt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),i="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],i)n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=1,n.ds=0,n.angle=L.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=L.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(mt,"__esModule",{value:!0}),mt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;mt.default=wt;var _t={};function St(t,e,n,r,o,i,s){if(!e)return!1;if(!0===e){var l=a.default.number(i.width)?i.width:i.right-i.left,u=a.default.number(i.height)?i.height:i.bottom-i.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?i.left:i.right)+s;if("top"===t)return n.y<(u>=0?i.top:i.bottom)+s;if("right"===t)return n.x>(l>=0?i.right:i.left)-s;if("bottom"===t)return n.y>(u>=0?i.bottom:i.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:S.matchesUpTo(r,e,o))}function Pt(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(a.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(a.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",o.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,k.default)({},o),corrected:(0,k.default)({},o),previous:(0,k.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Pt(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,k.default)(f,u),i){if((0,k.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),Pt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,i=t.buttons;if(o){var s=(0,k.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(i&l.mouseButtons))){if(a.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=St(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Ot.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-Ot.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Ot.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:Rt.x*u,y:Rt.y*u};if(c.x||c.y){var f=Xt(i);a.default.window(i)?i.scrollBy(c.x,c.y):i&&(i.scrollLeft+=c.x,i.scrollTop+=c.y);var d=Xt(i),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:i})}Rt.prevTime=s}Rt.isScrolling&&(kt.default.cancel(Rt.i),Rt.i=kt.default.request(Rt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Rt.check(e.interactable,e.prepared.name))if(e.simulation)Rt.x=Rt.y=0;else{var r,o,i,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ft(f.container,l,u);if(a.default.window(d))s=n.clientXd.innerWidth-Rt.margin,i=n.clientY>d.innerHeight-Rt.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-Rt.margin,i=n.clientY>p.bottom-Rt.margin}Rt.x=o?1:s?-1:0,Rt.y=i?1:r?-1:0,Rt.isScrolling||(Rt.margin=f.margin,Rt.speed=f.speed,Rt.start(e))}}};function Ft(t,n,r){return(a.default.string(t)?(0,I.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Xt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Rt,Rt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Rt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Rt.stop(),Rt.interaction&&(Rt.interaction=null)},"interactions:stop":Rt.stop,"interactions:action-move":function(t){return Rt.onInteractionMove(t)}}};Ct.default=Yt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Lt={};function Bt(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ut(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.default=void 0;var Vt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ut,e.prototype.styleCursor=Bt}};Lt.default=Vt;var qt={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Kt(e,n,t,o)?t:null}function $t(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Zt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var s=n.options[o.name].cursorChecker;i=a.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Jt(t.element,i||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Lt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Zt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Kt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Ht(n,Gt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ht(n,Gt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Kt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Zt,withinInteractionLimit:Kt,validateAction:Nt};qt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,i=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(i),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;oe(e)>0&&(e.prepared.name=null)}},getHoldDuration:oe};re.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(qt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var le={};Object.defineProperty(le,"__esModule",{value:!0}),le.default=void 0;le.default={};var ue={};function ce(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=ce,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var i=(0,e.getWindow)(r.target).document,s=n.getDocOptions(i);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Xe(e.prototype,n),r&&Xe(e,r),i}(G.BaseEvent);Re.InteractEvent=Ve,Object.defineProperties(Ve.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var qe={};Object.defineProperty(qe,"__esModule",{value:!0}),qe.PointerInfo=void 0;qe.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,$e,Ge={};function He(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||L.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&L.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||L.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=L.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=L.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new qe.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),L.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),L.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,L.pointerExtend(this.downPointer,t),this.interacting()||(L.copyCoords(this.coords.start,this.coords.cur),L.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Re.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(I.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Je;var Qe=Je;Ge.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),I.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,Ge._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var ln={};function un(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=fn(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,i=r.context,s=r.listeners;o===this.target&&i===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=Sn;var Pn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=jn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function i(t,n,r,i){var a=Dn(i),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=Dn(i),l=J.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Fn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Xn=Rn;Cn.default=Xn;var Yn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Kn,methodNames:Hn};Yn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function or(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var o=ar(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ir(this,n)}}function ir(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,k.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Ir(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function Dr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Er.aspectRatio=kr;var Ar=(0,De.makeModifier)(kr,"aspectRatio");Er.default=Ar;var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.default=void 0;var Cr=function(){};Cr._defaults={};var Rr=Cr;zr.default=Rr;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Object.defineProperty(Fr,"default",{enumerable:!0,get:function(){return zr.default}});var Xr={};function Yr(t,e,n){return a.default.func(t)?I.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):I.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.getRestrictionRect=Yr,Xr.restrict=Xr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Yr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Yr(o.restriction,n,e);if(a){var s=I.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Xr.restrict=Wr;var Lr=(0,De.makeModifier)(Wr,"restrict");Xr.default=Lr;var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.restrictEdges=Br.default=void 0;var Ur={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Vr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function qr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + /***/ }), /***/ "7726": @@ -2252,7 +2253,7 @@ NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { /***/ "8378": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.11' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -3145,32 +3146,21 @@ module.exports = function(options) { //TODO: Could this perhaps be done at installation time? var scrollbarSizes = getScrollbarSizes(); + // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. + // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). var styleId = "erd_scroll_detection_scrollbar_style"; var detectionContainerClass = "erd_scroll_detection_container"; - - function initDocument(targetDocument) { - // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. - // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). - injectScrollStyle(targetDocument, styleId, detectionContainerClass); - } - - initDocument(window.document); - - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } + injectScrollStyle(styleId, detectionContainerClass); function getScrollbarSizes() { var width = 500; var height = 500; var child = document.createElement("div"); - child.style.cssText = buildCssTextString(["position: absolute", "width: " + width*2 + "px", "height: " + height*2 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + child.style.cssText = "position: absolute; width: " + width*2 + "px; height: " + height*2 + "px; visibility: hidden; margin: 0; padding: 0;"; var container = document.createElement("div"); - container.style.cssText = buildCssTextString(["position: absolute", "width: " + width + "px", "height: " + height + "px", "overflow: scroll", "visibility: none", "top: " + -width*3 + "px", "left: " + -height*3 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "position: absolute; width: " + width + "px; height: " + height + "px; overflow: scroll; visibility: none; top: " + -width*3 + "px; left: " + -height*3 + "px; visibility: hidden; margin: 0; padding: 0;"; container.appendChild(child); @@ -3187,25 +3177,25 @@ module.exports = function(options) { }; } - function injectScrollStyle(targetDocument, styleId, containerClass) { + function injectScrollStyle(styleId, containerClass) { function injectStyle(style, method) { method = method || function (element) { - targetDocument.head.appendChild(element); + document.head.appendChild(element); }; - var styleElement = targetDocument.createElement("style"); + var styleElement = document.createElement("style"); styleElement.innerHTML = style; styleElement.id = styleId; method(styleElement); return styleElement; } - if (!targetDocument.getElementById(styleId)) { + if (!document.getElementById(styleId)) { var containerAnimationClass = containerClass + "_animation"; var containerAnimationActiveClass = containerClass + "_animation_active"; var style = "/* Created by the element-resize-detector library. */\n"; - style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; - style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { display: none; }\n\n"; + style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -3407,7 +3397,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -3431,7 +3421,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.setProperty("position", "relative",options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -3461,7 +3451,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; + return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; } debug("Injecting elements"); @@ -3489,12 +3479,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); - var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); - var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); - var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); + var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; + var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); + var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var expandChildStyle = "position: absolute; left: 0; top: 0;"; + var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -3545,17 +3535,14 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); - expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); + expandChild.style.width = expandWidth + "px"; + expandChild.style.height = expandHeight + "px"; } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; - // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. - var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; - debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -3566,10 +3553,6 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { - if (!sizeChanged) { - return; - } - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3593,9 +3576,6 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { - // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then - // been restored to the original size, which will have changed the scrollbar positions. - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3609,7 +3589,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (sizeChanged && done) { + if (done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -3639,7 +3619,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify if the current size is the start size, and this is the first notification. + // Don't notify the if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -3684,7 +3664,15 @@ module.exports = function(options) { return; } - updateDetectorElements(notifyListenersIfNeeded); + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { + debug("Element size changed."); + updateDetectorElements(notifyListenersIfNeeded); + } else { + debug("Element size has not changed (" + width + "x" + height + ")."); + } } debug("registerListenersAndPositionElements invoked."); @@ -3774,8 +3762,7 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4143,13 +4130,11 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); - var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler, - important: importantCssRules + idHandler: idHandler }; if(desiredStrategy === "scroll") { @@ -4264,7 +4249,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -4340,16 +4325,11 @@ module.exports = function(options) { }); } - function initDocument(targetDocument) { - detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); - } - return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4423,6 +4403,17 @@ module.exports = function (object, index, value) { })(document); +/***/ }), + +/***/ "f751": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__("5ca1"); + +$export($export.S + $export.F, 'Object', { assign: __webpack_require__("7333") }); + + /***/ }), /***/ "f772": @@ -4456,13 +4447,8 @@ module.exports = document && document.documentElement; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return /* reexport */ GridLayout; }); -__webpack_require__.d(__webpack_exports__, "GridItem", function() { return /* reexport */ GridItem; }); - // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -4496,12 +4482,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":"0ce4569b-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=c806aad8& +// 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=58da2a1f& 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=c806aad8& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=58da2a1f& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -4520,6 +4506,7 @@ var es6_array_sort = __webpack_require__("55dd"); + // @flow /*:: export type LayoutItemRequired = {w: number, h: number, x: number, y: number, i: string};*/ @@ -5435,7 +5422,7 @@ function removeWindowEventListener(event // var eventBus = require('./eventBus'); -var interact = __webpack_require__("5014"); +var interact = __webpack_require__("fb3a"); /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -5634,7 +5621,10 @@ var interact = __webpack_require__("5014"); this.eventBus.$off('setMaxRows', self.setMaxRowsHandler); this.eventBus.$off('directionchange', self.directionchangeHandler); this.eventBus.$off('setColNum', self.setColNum); - this.interactObj.unset(); // destroy interact intance + + if (this.interactObj) { + this.interactObj.unset(); // destroy interact intance + } }, mounted: function mounted() { this.cols = this.$parent.colNum; @@ -5721,6 +5711,17 @@ var interact = __webpack_require__("5014"); }, maxW: function maxW() { this.tryMakeResizable(); + }, + "$parent.margin": function $parentMargin(margin) { + if (!margin || margin[0] == this.margin[0] && margin[1] == this.margin[1]) { + return; + } + + this.margin = margin.map(function (m) { + return Number(m); + }); + this.createStyle(); + this.emitContainerResized(); } }, computed: { @@ -6298,12 +6299,7 @@ function normalizeComponent ( options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode - ? function () { - injectStyles.call( - this, - (options.functional ? this.parent : this).$root.$options.shadowRoot - ) - } + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } : injectStyles } @@ -6312,7 +6308,7 @@ function normalizeComponent ( // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook - // register for functional component in vue file + // register for functioal component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) @@ -6354,16 +6350,19 @@ 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":"0ce4569b-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=5a186489& -var GridLayoutvue_type_template_id_5a186489_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_5a186489_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=6594d2a5& +var GridLayoutvue_type_template_id_6594d2a5_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_6594d2a5_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js +var es6_object_assign = __webpack_require__("f751"); + // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.is-finite.js var es6_number_is_finite = __webpack_require__("fca0"); @@ -6391,6 +6390,7 @@ function _defineProperty(obj, key, value) { + // @flow @@ -6566,9 +6566,11 @@ function sortBreakpoints(breakpoints + + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // @@ -6659,6 +6661,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); type: Boolean, default: false }, + responsiveLayouts: { + type: Object, + default: function _default() { + return {}; + } + }, breakpoints: { type: Object, default: function _default() { @@ -6749,6 +6757,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); addWindowEventListener('resize', self.onWindowResize); compact(self.layout, self.verticalCompact); + self.$emit('layout-updated', self.layout); self.updateHeight(); self.$nextTick(function () { this.erd = elementResizeDetectorMaker({ @@ -6825,6 +6834,9 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, maxRows: function maxRows() { this.eventBus.$emit("setMaxRows", this.maxRows); + }, + margin: function margin() { + this.updateHeight(); } }, methods: { @@ -6854,6 +6866,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); compact(this.layout, this.verticalCompact); this.eventBus.$emit("updateWidth", this.width); this.updateHeight(); + this.$emit('layout-updated', this.layout); } }, updateHeight: function updateHeight() { @@ -6869,8 +6882,11 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); this.eventBus.$emit("resizeEvent"); }, containerHeight: function containerHeight() { - if (!this.autoSize) return; - return bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + if (!this.autoSize) return; // console.log("bottom: " + bottom(this.layout)) + // console.log("rowHeight + margins: " + (this.rowHeight + this.margin[1]) + this.margin[1]) + + var containerHeight = bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + return containerHeight; }, dragEvent: function dragEvent(eventName, id, x, y, h, w) { //console.log(eventName + " id=" + id + ", x=" + x + ", y=" + y); @@ -6921,7 +6937,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var hasCollisions; if (this.preventCollision) { - var collisions = getAllCollisions(this.layout, _objectSpread(_objectSpread({}, l), {}, { + var collisions = getAllCollisions(this.layout, _objectSpread({}, l, { w: w, h: h })).filter(function (layoutItem) { @@ -6980,7 +6996,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var layout = findOrGenerateResponsiveLayout(this.originalLayout, this.layouts, this.breakpoints, newBreakpoint, this.lastBreakpoint, newCols, this.verticalCompact); // Store the new layout. - this.layouts[newBreakpoint] = layout; // new prop sync + this.layouts[newBreakpoint] = layout; + + if (this.lastBreakpoint !== newBreakpoint) { + this.$emit('breakpoint-changed', newBreakpoint, layout); + } // new prop sync + this.$emit('update:layout', layout); this.lastBreakpoint = newBreakpoint; @@ -6989,7 +7010,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); // clear all responsive layouts initResponsiveFeatures: function initResponsiveFeatures() { // clear layouts - this.layouts = {}; + this.layouts = Object.assign({}, this.responsiveLayouts); }, // find difference in layouts findDifference: function findDifference(layout, originalLayout) { @@ -7026,8 +7047,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_5a186489_render, - GridLayoutvue_type_template_id_5a186489_staticRenderFns, + GridLayoutvue_type_template_id_6594d2a5_render, + GridLayoutvue_type_template_id_6594d2a5_staticRenderFns, false, null, null, @@ -7057,12 +7078,10041 @@ Object.keys(VueGridLayout).forEach(function (name) { /* harmony default export */ var components = (VueGridLayout); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js +/* concated harmony reexport GridLayout */__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return GridLayout; }); +/* concated harmony reexport GridItem */__webpack_require__.d(__webpack_exports__, "GridItem", function() { return GridItem; }); /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); +/***/ }), + +/***/ "fb3a": +/***/ (function(module, exports, __webpack_require__) { + +/** + * interact.js 1.6.3 + * + * Copyright (c) 2012-2019 Taye Adeyemi + * Released under the MIT License. + * https://raw.github.com/taye/interact.js/master/LICENSE + */ +(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; +var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; +var _$scope_24 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +/* common-shake removed: exports.createScope = */ void createScope; +/* common-shake removed: exports.initScope = */ void initScope; +exports.Scope = exports.ActionName = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); + +var _Eventable = _interopRequireDefault(_$Eventable_14); + +var _Interactable = _interopRequireDefault(_$Interactable_16); + +var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); + +var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); + +var _interactions = _interopRequireDefault(_$interactions_23({})); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _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); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var win = utils.win, + browser = utils.browser, + raf = utils.raf, + Signals = utils.Signals, + events = utils.events; +var ActionName; +exports.ActionName = ActionName; + +(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); + +function createScope() { + return new Scope(); +} + +var Scope = +/*#__PURE__*/ +function () { + function Scope() { + var _this = this; + + _classCallCheck(this, Scope); + + this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); + this.signals = new Signals(); + this.browser = browser; + this.events = events; + this.utils = utils; + this.defaults = utils.clone(_defaultOptions["default"]); + this.Eventable = _Eventable["default"]; + this.actions = { + names: [], + methodDict: {}, + eventTypes: [] + }; + this.InteractEvent = _InteractEvent["default"]; + this.interactables = new _InteractableSet["default"](this); // all documents being listened to + + this.documents = []; + this._plugins = []; + this._pluginMap = {}; + + this.onWindowUnload = function (event) { + return _this.removeDocument(event.target); + }; + + var scope = this; + + this.Interactable = + /*#__PURE__*/ + function (_InteractableBase) { + _inherits(Interactable, _InteractableBase); + + function Interactable() { + _classCallCheck(this, Interactable); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); + } + + _createClass(Interactable, [{ + key: "set", + value: function set(options) { + _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); + + scope.interactables.signals.fire('set', { + options: options, + interactable: this + }); + return this; + } + }, { + key: "unset", + value: function unset() { + _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); + + for (var i = scope.interactions.list.length - 1; i >= 0; i--) { + var interaction = scope.interactions.list[i]; + + if (interaction.interactable === this) { + interaction.stop(); + scope.interactions.signals.fire('destroy', { + interaction: interaction + }); + interaction.destroy(); + + if (scope.interactions.list.length > 2) { + scope.interactions.list.splice(i, 1); + } + } + } + + scope.interactables.signals.fire('unset', { + interactable: this + }); + } + }, { + key: "_defaults", + get: function get() { + return scope.defaults; + } + }]); + + return Interactable; + }(_Interactable["default"]); + } + + _createClass(Scope, [{ + key: "init", + value: function init(window) { + return initScope(this, window); + } + }, { + key: "pluginIsInstalled", + value: function pluginIsInstalled(plugin) { + return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; + } + }, { + key: "usePlugin", + value: function usePlugin(plugin, options) { + if (this.pluginIsInstalled(plugin)) { + return this; + } + + if (plugin.id) { + this._pluginMap[plugin.id] = plugin; + } + + plugin.install(this, options); + + this._plugins.push(plugin); + + return this; + } + }, { + key: "addDocument", + value: function addDocument(doc, options) { + // do nothing if document is already known + if (this.getDocIndex(doc) !== -1) { + return false; + } + + var window = win.getWindow(doc); + options = options ? utils.extend({}, options) : {}; + this.documents.push({ + doc: doc, + options: options + }); + events.documents.push(doc); // don't add an unload event for the main document + // so that the page may be cached in browser history + + if (doc !== this.document) { + events.add(window, 'unload', this.onWindowUnload); + } + + this.signals.fire('add-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "removeDocument", + value: function removeDocument(doc) { + var index = this.getDocIndex(doc); + var window = win.getWindow(doc); + var options = this.documents[index].options; + events.remove(window, 'unload', this.onWindowUnload); + this.documents.splice(index, 1); + events.documents.splice(index, 1); + this.signals.fire('remove-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "getDocIndex", + value: function getDocIndex(doc) { + for (var i = 0; i < this.documents.length; i++) { + if (this.documents[i].doc === doc) { + return i; + } + } + + return -1; + } + }, { + key: "getDocOptions", + value: function getDocOptions(doc) { + var docIndex = this.getDocIndex(doc); + return docIndex === -1 ? null : this.documents[docIndex].options; + } + }, { + key: "now", + value: function now() { + return (this.window.Date || Date).now(); + } + }]); + + return Scope; +}(); + +exports.Scope = Scope; + +function initScope(scope, window) { + win.init(window); + + _domObjects["default"].init(window); + + browser.init(window); + raf.init(window); + events.init(window); + scope.usePlugin(_interactions["default"]); + scope.document = window.document; + scope.window = window; + return scope; +} + +}); +var _$interactions_23 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _browser = _interopRequireDefault(_$browser_48); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var _events = _interopRequireDefault(_$events_52); + +var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); + +var _Signals = _interopRequireDefault(_$Signals_46); + +var _Interaction = _interopRequireDefault(_$Interaction_18({})); + +var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; + +function install(scope) { + var signals = new _Signals["default"](); + var listeners = {}; + + for (var _i = 0; _i < methodNames.length; _i++) { + var _ref; + + _ref = methodNames[_i]; + var method = _ref; + listeners[method] = doOnInteractions(method, scope); + } + + var pEventTypes = _browser["default"].pEventTypes; + var docEvents; + + if (_domObjects["default"].PointerEvent) { + docEvents = [{ + type: pEventTypes.down, + listener: releasePointersOnRemovedEls + }, { + type: pEventTypes.down, + listener: listeners.pointerDown + }, { + type: pEventTypes.move, + listener: listeners.pointerMove + }, { + type: pEventTypes.up, + listener: listeners.pointerUp + }, { + type: pEventTypes.cancel, + listener: listeners.pointerUp + }]; + } else { + docEvents = [{ + type: 'mousedown', + listener: listeners.pointerDown + }, { + type: 'mousemove', + listener: listeners.pointerMove + }, { + type: 'mouseup', + listener: listeners.pointerUp + }, { + type: 'touchstart', + listener: releasePointersOnRemovedEls + }, { + type: 'touchstart', + listener: listeners.pointerDown + }, { + type: 'touchmove', + listener: listeners.pointerMove + }, { + type: 'touchend', + listener: listeners.pointerUp + }, { + type: 'touchcancel', + listener: listeners.pointerUp + }]; + } + + docEvents.push({ + type: 'blur', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + interaction.documentBlur(event); + } + } + }); + scope.signals.on('add-document', onDocSignal); + scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events + + scope.prevTouchTime = 0; + + scope.Interaction = + /*#__PURE__*/ + function (_InteractionBase) { + _inherits(Interaction, _InteractionBase); + + function Interaction() { + _classCallCheck(this, Interaction); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); + } + + _createClass(Interaction, [{ + key: "_now", + value: function _now() { + return scope.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return scope.interactions.pointerMoveTolerance; + }, + set: function set(value) { + scope.interactions.pointerMoveTolerance = value; + } + }]); + + return Interaction; + }(_Interaction["default"]); + + scope.interactions = { + signals: signals, + // all active and idle interactions + list: [], + "new": function _new(options) { + options.signals = signals; + var interaction = new scope.Interaction(options); + scope.interactions.list.push(interaction); + return interaction; + }, + listeners: listeners, + docEvents: docEvents, + pointerMoveTolerance: 1 + }; + + function releasePointersOnRemovedEls() { + // for all inactive touch interactions with pointers down + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + + if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { + continue; + } // if a pointer is down on an element that is no longer in the DOM tree + + + var _loop = function _loop() { + _ref4 = interaction.pointers[_i4]; + var pointer = _ref4; + + if (!scope.documents.some(function (_ref5) { + var doc = _ref5.doc; + return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); + })) { + // remove the pointer from the interaction + interaction.removePointer(pointer.pointer, pointer.event); + } + }; + + for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { + var _ref4; + + _loop(); + } + } + } +} + +function doOnInteractions(method, scope) { + return function (event) { + var interactions = scope.interactions.list; + + var pointerType = _pointerUtils["default"].getPointerType(event); + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), + eventTarget = _pointerUtils$getEven2[0], + curEventTarget = _pointerUtils$getEven2[1]; + + var matches = []; // [ [pointer, interaction], ...] + + if (/^touch/.test(event.type)) { + scope.prevTouchTime = scope.now(); + + for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { + var _ref6; + + _ref6 = event.changedTouches[_i5]; + var changedTouch = _ref6; + var pointer = changedTouch; + + var pointerId = _pointerUtils["default"].getPointerId(pointer); + + var searchDetails = { + pointer: pointer, + pointerId: pointerId, + pointerType: pointerType, + eventType: event.type, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + scope: scope + }; + var interaction = getInteraction(searchDetails); + matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); + } + } else { + var invalidPointer = false; + + if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { + // ignore mouse events while touch interactions are active + for (var i = 0; i < interactions.length && !invalidPointer; i++) { + invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; + } // try to ignore mouse events that are simulated by the browser + // after a touch event + + + invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated + event.timeStamp === 0; + } + + if (!invalidPointer) { + var _searchDetails = { + pointer: event, + pointerId: _pointerUtils["default"].getPointerId(event), + pointerType: pointerType, + eventType: event.type, + curEventTarget: curEventTarget, + eventTarget: eventTarget, + scope: scope + }; + + var _interaction = getInteraction(_searchDetails); + + matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); + } + } // eslint-disable-next-line no-shadow + + + for (var _i6 = 0; _i6 < matches.length; _i6++) { + var _matches$_i = _slicedToArray(matches[_i6], 4), + _pointer = _matches$_i[0], + _eventTarget = _matches$_i[1], + _curEventTarget = _matches$_i[2], + _interaction2 = _matches$_i[3]; + + _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); + } + }; +} + +function getInteraction(searchDetails) { + var pointerType = searchDetails.pointerType, + scope = searchDetails.scope; + + var foundInteraction = _interactionFinder["default"].search(searchDetails); + + var signalArg = { + interaction: foundInteraction, + searchDetails: searchDetails + }; + scope.interactions.signals.fire('find', signalArg); + return signalArg.interaction || scope.interactions["new"]({ + pointerType: pointerType + }); +} + +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; + + if (scope.browser.isIOS && !options.events) { + options.events = { + passive: false + }; + } // delegate event listener + + + for (var eventType in _events["default"].delegatedEvents) { + eventMethod(doc, eventType, _events["default"].delegateListener); + eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); + } + + var eventOptions = options && options.events; + + for (var _i7 = 0; _i7 < docEvents.length; _i7++) { + var _ref8; + + _ref8 = docEvents[_i7]; + var _ref9 = _ref8, + type = _ref9.type, + listener = _ref9.listener; + eventMethod(doc, type, listener, eventOptions); + } +} + +var _default = { + id: 'core/interactions', + install: install, + onDocSignal: onDocSignal, + doOnInteractions: doOnInteractions, + methodNames: methodNames +}; +exports["default"] = _default; + +}); +var _$Interaction_18 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "PointerInfo", { + enumerable: true, + get: function get() { + return _PointerInfo["default"]; + } +}); +exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); + +var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); + +var _scope = _$scope_24({}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var _ProxyValues; + +exports._ProxyValues = _ProxyValues; + +(function (_ProxyValues) { + _ProxyValues["interactable"] = ""; + _ProxyValues["element"] = ""; + _ProxyValues["prepared"] = ""; + _ProxyValues["pointerIsDown"] = ""; + _ProxyValues["pointerWasMoved"] = ""; + _ProxyValues["_proxy"] = ""; +})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); + +var _ProxyMethods; + +exports._ProxyMethods = _ProxyMethods; + +(function (_ProxyMethods) { + _ProxyMethods["start"] = ""; + _ProxyMethods["move"] = ""; + _ProxyMethods["end"] = ""; + _ProxyMethods["stop"] = ""; + _ProxyMethods["interacting"] = ""; +})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); + +var Interaction = +/*#__PURE__*/ +function () { + /** */ + function Interaction(_ref) { + var _this = this; + + var pointerType = _ref.pointerType, + signals = _ref.signals; + + _classCallCheck(this, Interaction); + + // current interactable being interacted with + this.interactable = null; // the target element of the interactable + + this.element = null; // action that's ready to be fired on next move event + + this.prepared = { + name: null, + axis: null, + edges: null + }; // keep track of added pointers + + this.pointers = []; // pointerdown/mousedown/touchstart event + + this.downEvent = null; + this.downPointer = {}; + this._latestPointer = { + pointer: null, + event: null, + eventTarget: null + }; // previous action event + + this.prevEvent = null; + this.pointerIsDown = false; + this.pointerWasMoved = false; + this._interacting = false; + this._ending = false; + this._stopped = true; + this._proxy = null; + this.simulation = null; + /** + * @alias Interaction.prototype.move + */ + + this.doMove = utils.warnOnce(function (signalArg) { + this.move(signalArg); + }, 'The interaction.doMove() method has been renamed to interaction.move()'); + this.coords = { + // Starting InteractEvent pointer coordinates + start: utils.pointer.newCoords(), + // Previous native pointer move event coordinates + prev: utils.pointer.newCoords(), + // current native pointer move event coordinates + cur: utils.pointer.newCoords(), + // Change in coordinates and time of the pointer + delta: utils.pointer.newCoords(), + // pointer velocity + velocity: utils.pointer.newCoords() + }; + this._signals = signals; + this.pointerType = pointerType; + var that = this; + this._proxy = {}; + + var _loop = function _loop(key) { + Object.defineProperty(_this._proxy, key, { + get: function get() { + return that[key]; + } + }); + }; + + for (var key in _ProxyValues) { + _loop(key); + } + + var _loop2 = function _loop2(_key) { + Object.defineProperty(_this._proxy, _key, { + value: function value() { + return that[_key].apply(that, arguments); + } + }); + }; + + for (var _key in _ProxyMethods) { + _loop2(_key); + } + + this._signals.fire('new', { + interaction: this + }); + } + + _createClass(Interaction, [{ + key: "pointerDown", + value: function pointerDown(pointer, event, eventTarget) { + var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); + + this._signals.fire('down', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + pointerIndex: pointerIndex, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable({ + * // disable the default drag start by down->move + * manualStart: true + * }) + * // start dragging after the user holds the pointer down + * .on('hold', function (event) { + * var interaction = event.interaction + * + * if (!interaction.interacting()) { + * interaction.start({ name: 'drag' }, + * event.interactable, + * event.currentTarget) + * } + * }) + * ``` + * + * Start an action with the given Interactable and Element as tartgets. The + * action must be enabled for the target Interactable and an appropriate + * number of pointers must be held down - 1 for drag/resize, 2 for gesture. + * + * Use it with `interactable.able({ manualStart: false })` to always + * [start actions manually](https://github.com/taye/interact.js/issues/114) + * + * @param {object} action The action to be performed - drag, resize, etc. + * @param {Interactable} target The Interactable to target + * @param {Element} element The DOM Element to target + * @return {object} interact + */ + + }, { + key: "start", + value: function start(action, interactable, element) { + if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { + return false; + } + + utils.copyAction(this.prepared, action); + this.interactable = interactable; + this.element = element; + this.rect = interactable.getRect(element); + this.edges = this.prepared.edges; + this._stopped = false; + this._interacting = this._doPhase({ + interaction: this, + event: this.downEvent, + phase: _InteractEvent.EventPhase.Start + }) && !this._stopped; + return this._interacting; + } + }, { + key: "pointerMove", + value: function pointerMove(pointer, event, eventTarget) { + if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { + this.updatePointer(pointer, event, eventTarget, false); + utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + } + + 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; + var dx; + var dy; // register movement greater than pointerMoveTolerance + + if (this.pointerIsDown && !this.pointerWasMoved) { + dx = this.coords.cur.client.x - this.coords.start.client.x; + dy = this.coords.cur.client.y - this.coords.start.client.y; + this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; + } + + var signalArg = { + pointer: pointer, + pointerIndex: this.getPointerIndex(pointer), + event: event, + eventTarget: eventTarget, + dx: dx, + dy: dy, + duplicate: duplicateMove, + interaction: this + }; + + if (!duplicateMove) { + // set pointer coordinate, time changes and velocity + utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); + utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); + } + + this._signals.fire('move', signalArg); + + if (!duplicateMove) { + // if interacting, fire an 'action-move' signal etc + if (this.interacting()) { + this.move(signalArg); + } + + if (this.pointerWasMoved) { + utils.pointer.copyCoords(this.coords.prev, this.coords.cur); + } + } + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('dragmove', function (event) { + * if (someCondition) { + * // change the snap settings + * event.interactable.draggable({ snap: { targets: [] }}) + * // fire another move event with re-calculated snap + * event.interaction.move() + * } + * }) + * ``` + * + * Force a move of the current action at the same coordinates. Useful if + * snap/restrict has been changed and you want a movement with the new + * settings. + */ + + }, { + key: "move", + value: function move(signalArg) { + signalArg = utils.extend({ + pointer: this._latestPointer.pointer, + event: this._latestPointer.event, + eventTarget: this._latestPointer.eventTarget, + interaction: this + }, signalArg || {}); + signalArg.phase = _InteractEvent.EventPhase.Move; + + this._doPhase(signalArg); + } // End interact move events and stop auto-scroll unless simulation is running + + }, { + key: "pointerUp", + value: function pointerUp(pointer, event, eventTarget, curEventTarget) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + pointerIndex = this.updatePointer(pointer, event, eventTarget, false); + } + + this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { + pointer: pointer, + pointerIndex: pointerIndex, + event: event, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + interaction: this + }); + + if (!this.simulation) { + this.end(event); + } + + this.pointerIsDown = false; + this.removePointer(pointer, event); + } + }, { + key: "documentBlur", + value: function documentBlur(event) { + this.end(event); + + this._signals.fire('blur', { + event: event, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('move', function (event) { + * if (event.pageX > 1000) { + * // end the current action + * event.interaction.end() + * // stop all further listeners from being called + * event.stopImmediatePropagation() + * } + * }) + * ``` + * + * @param {PointerEvent} [event] + */ + + }, { + key: "end", + value: function end(event) { + this._ending = true; + event = event || this._latestPointer.event; + var endPhaseResult; + + if (this.interacting()) { + endPhaseResult = this._doPhase({ + event: event, + interaction: this, + phase: _InteractEvent.EventPhase.End + }); + } + + this._ending = false; + + if (endPhaseResult === true) { + this.stop(); + } + } + }, { + key: "currentAction", + value: function currentAction() { + return this._interacting ? this.prepared.name : null; + } + }, { + key: "interacting", + value: function interacting() { + return this._interacting; + } + /** */ + + }, { + key: "stop", + value: function stop() { + this._signals.fire('stop', { + interaction: this + }); + + this.interactable = this.element = null; + this._interacting = false; + this._stopped = true; + this.prepared.name = this.prevEvent = null; + } + }, { + key: "getPointerIndex", + value: function getPointerIndex(pointer) { + var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer + + return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { + return curPointer.id === pointerId; + }); + } + }, { + key: "getPointerInfo", + value: function getPointerInfo(pointer) { + return this.pointers[this.getPointerIndex(pointer)]; + } + }, { + key: "updatePointer", + value: function updatePointer(pointer, event, eventTarget, down) { + var id = utils.pointer.getPointerId(pointer); + var pointerIndex = this.getPointerIndex(pointer); + var pointerInfo = this.pointers[pointerIndex]; + down = down === false ? false : down || /(down|start)$/i.test(event.type); + + if (!pointerInfo) { + pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); + pointerIndex = this.pointers.length; + this.pointers.push(pointerInfo); + } else { + pointerInfo.pointer = pointer; + } + + if (down) { + this.pointerIsDown = true; + + if (!this.interacting()) { + utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + utils.pointer.copyCoords(this.coords.cur, this.coords.start); + utils.pointer.copyCoords(this.coords.prev, this.coords.start); + utils.pointer.pointerExtend(this.downPointer, pointer); + this.downEvent = event; + pointerInfo.downTime = this.coords.cur.timeStamp; + pointerInfo.downTarget = eventTarget; + this.pointerWasMoved = false; + } + } + + this._updateLatestPointer(pointer, event, eventTarget); + + this._signals.fire('update-pointer', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + down: down, + pointerInfo: pointerInfo, + pointerIndex: pointerIndex, + interaction: this + }); + + return pointerIndex; + } + }, { + key: "removePointer", + value: function removePointer(pointer, event) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + return; + } + + var pointerInfo = this.pointers[pointerIndex]; + + this._signals.fire('remove-pointer', { + pointer: pointer, + event: event, + pointerIndex: pointerIndex, + pointerInfo: pointerInfo, + interaction: this + }); + + this.pointers.splice(pointerIndex, 1); + } + }, { + key: "_updateLatestPointer", + value: function _updateLatestPointer(pointer, event, eventTarget) { + this._latestPointer.pointer = pointer; + this._latestPointer.event = event; + this._latestPointer.eventTarget = eventTarget; + } + }, { + key: "destroy", + value: function destroy() { + this._latestPointer.pointer = null; + this._latestPointer.event = null; + this._latestPointer.eventTarget = null; + } + }, { + key: "_createPreparedEvent", + value: function _createPreparedEvent(event, phase, preEnd, type) { + var actionName = this.prepared.name; + return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); + } + }, { + key: "_fireEvent", + value: function _fireEvent(iEvent) { + this.interactable.fire(iEvent); + + if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { + this.prevEvent = iEvent; + } + } + }, { + key: "_doPhase", + value: function _doPhase(signalArg) { + var event = signalArg.event, + phase = signalArg.phase, + preEnd = signalArg.preEnd, + type = signalArg.type; + + var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); + + if (beforeResult === false) { + return false; + } + + var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); + + var rect = this.rect; + + if (rect) { + // update the rect modifications + var edges = this.edges || this.prepared.edges || { + left: true, + right: true, + top: true, + bottom: true + }; + + if (edges.top) { + rect.top += iEvent.delta.y; + } + + if (edges.bottom) { + rect.bottom += iEvent.delta.y; + } + + if (edges.left) { + rect.left += iEvent.delta.x; + } + + if (edges.right) { + rect.right += iEvent.delta.x; + } + + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + this._signals.fire("action-".concat(phase), signalArg); + + this._fireEvent(iEvent); + + this._signals.fire("after-action-".concat(phase), signalArg); + + return true; + } + }, { + key: "_now", + value: function _now() { + return Date.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return 1; + } + }]); + + return Interaction; +}(); + +exports.Interaction = Interaction; +var _default = Interaction; +exports["default"] = _default; + +}); +var _$arr_47 = {}; +"use strict"; + +Object.defineProperty(_$arr_47, "__esModule", { + value: true +}); +_$arr_47.contains = contains; +_$arr_47.remove = remove; +_$arr_47.merge = merge; +_$arr_47.from = from; +_$arr_47.findIndex = findIndex; +_$arr_47.find = find; + +function contains(array, target) { + return array.indexOf(target) !== -1; +} + +function remove(array, target) { + return array.splice(array.indexOf(target), 1); +} + +function merge(target, source) { + for (var _i = 0; _i < source.length; _i++) { + var _ref; + + _ref = source[_i]; + var item = _ref; + target.push(item); + } + + return target; +} + +function from(source) { + return merge([], source); +} + +function findIndex(array, func) { + for (var i = 0; i < array.length; i++) { + if (func(array[i], i, array)) { + return i; + } + } + + return -1; +} + +function find(array, func) { + return array[findIndex(array, func)]; +} + +var _$domObjects_50 = {}; +"use strict"; + +Object.defineProperty(_$domObjects_50, "__esModule", { + value: true +}); +_$domObjects_50["default"] = void 0; +var domObjects = { + init: init, + document: null, + DocumentFragment: null, + SVGElement: null, + SVGSVGElement: null, + // eslint-disable-next-line no-undef + SVGElementInstance: null, + Element: null, + HTMLElement: null, + Event: null, + Touch: null, + PointerEvent: null +}; + +function blank() {} + +var _default = domObjects; +_$domObjects_50["default"] = _default; + +function init(window) { + var win = window; + domObjects.document = win.document; + domObjects.DocumentFragment = win.DocumentFragment || blank; + domObjects.SVGElement = win.SVGElement || blank; + domObjects.SVGSVGElement = win.SVGSVGElement || blank; + domObjects.SVGElementInstance = win.SVGElementInstance || blank; + domObjects.Element = win.Element || blank; + domObjects.HTMLElement = win.HTMLElement || domObjects.Element; + domObjects.Event = win.Event; + domObjects.Touch = win.Touch || blank; + domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; +} + +var _$isWindow_58 = {}; +"use strict"; + +Object.defineProperty(_$isWindow_58, "__esModule", { + value: true +}); +_$isWindow_58["default"] = void 0; + +var ___default_58 = function _default(thing) { + return !!(thing && thing.Window) && thing instanceof thing.Window; +}; + +_$isWindow_58["default"] = ___default_58; + +var _$window_66 = {}; +"use strict"; + +Object.defineProperty(_$window_66, "__esModule", { + value: true +}); +_$window_66.init = __init_66; +_$window_66.getWindow = getWindow; +_$window_66["default"] = void 0; + +var _isWindow = _interopRequireDefault(_$isWindow_58); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var win = { + realWindow: undefined, + window: undefined, + getWindow: getWindow, + init: __init_66 +}; + +function __init_66(window) { + // get wrapped window if using Shadow DOM polyfill + win.realWindow = window; // create a TextNode + + var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill + + if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { + // use wrapped window + window = window.wrap(window); + } + + win.window = window; +} + +if (typeof window === 'undefined') { + win.window = undefined; + win.realWindow = undefined; +} else { + __init_66(window); +} + +function getWindow(node) { + if ((0, _isWindow["default"])(node)) { + return node; + } + + var rootNode = node.ownerDocument || node; + return rootNode.defaultView || win.window; +} + +win.init = __init_66; +var ___default_66 = win; +_$window_66["default"] = ___default_66; + +var _$is_57 = {}; +"use strict"; + +Object.defineProperty(_$is_57, "__esModule", { + value: true +}); +_$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; + +var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); + +var _window2 = ___interopRequireDefault_57(_$window_66); + +function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +var __window_57 = function window(thing) { + return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); +}; + +_$is_57.window = __window_57; + +var docFrag = function docFrag(thing) { + return object(thing) && thing.nodeType === 11; +}; + +_$is_57.docFrag = docFrag; + +var object = function object(thing) { + return !!thing && _typeof(thing) === 'object'; +}; + +_$is_57.object = object; + +var func = function func(thing) { + return typeof thing === 'function'; +}; + +_$is_57.func = func; + +var number = function number(thing) { + return typeof thing === 'number'; +}; + +_$is_57.number = number; + +var bool = function bool(thing) { + return typeof thing === 'boolean'; +}; + +_$is_57.bool = bool; + +var string = function string(thing) { + return typeof thing === 'string'; +}; + +_$is_57.string = string; + +var element = function element(thing) { + if (!thing || _typeof(thing) !== 'object') { + return false; + } + + var _window = _window2["default"].getWindow(thing) || _window2["default"].window; + + return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 + : thing.nodeType === 1 && typeof thing.nodeName === 'string'; +}; + +_$is_57.element = element; + +var plainObject = function plainObject(thing) { + return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); +}; + +_$is_57.plainObject = plainObject; + +var array = function array(thing) { + return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); +}; + +_$is_57.array = array; + +var _$browser_48 = {}; +"use strict"; + +Object.defineProperty(_$browser_48, "__esModule", { + value: true +}); +_$browser_48["default"] = void 0; + +var _domObjects = ___interopRequireDefault_48(_$domObjects_50); + +var is = _interopRequireWildcard(_$is_57); + +var _window = ___interopRequireDefault_48(_$window_66); + +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 }; } + +var browser = { + init: __init_48, + supportsTouch: null, + supportsPointerEvent: null, + isIOS7: null, + isIOS: null, + isIe9: null, + isOperaMobile: null, + prefixedMatchesSelector: null, + pEventTypes: null, + wheelEvent: null +}; + +function __init_48(window) { + var Element = _domObjects["default"].Element; + var navigator = _window["default"].window.navigator; // Does the browser support touch input? + + browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents + + browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; + browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 + + browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); + browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently + + browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector + + browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; + browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { + up: 'MSPointerUp', + down: 'MSPointerDown', + over: 'mouseover', + out: 'mouseout', + move: 'MSPointerMove', + cancel: 'MSPointerCancel' + } : { + up: 'pointerup', + down: 'pointerdown', + over: 'pointerover', + out: 'pointerout', + move: 'pointermove', + cancel: 'pointercancel' + } : null; // because Webkit and Opera still use 'mousewheel' event type + + browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; +} + +var ___default_48 = browser; +_$browser_48["default"] = ___default_48; + +var _$domUtils_51 = {}; +"use strict"; + +Object.defineProperty(_$domUtils_51, "__esModule", { + value: true +}); +_$domUtils_51.nodeContains = nodeContains; +_$domUtils_51.closest = closest; +_$domUtils_51.parentNode = parentNode; +_$domUtils_51.matchesSelector = matchesSelector; +_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; +_$domUtils_51.matchesUpTo = matchesUpTo; +_$domUtils_51.getActualElement = getActualElement; +_$domUtils_51.getScrollXY = getScrollXY; +_$domUtils_51.getElementClientRect = getElementClientRect; +_$domUtils_51.getElementRect = getElementRect; +_$domUtils_51.getPath = getPath; +_$domUtils_51.trySelector = trySelector; + +var _browser = ___interopRequireDefault_51(_$browser_48); + +var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); + +var __is_51 = ___interopRequireWildcard_51(_$is_57); + +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; } 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 }; } + +function nodeContains(parent, child) { + while (child) { + if (child === parent) { + return true; + } + + child = child.parentNode; + } + + return false; +} + +function closest(element, selector) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return element; + } + + element = parentNode(element); + } + + return null; +} + +function parentNode(node) { + var parent = node.parentNode; + + if (__is_51.docFrag(parent)) { + // skip past #shado-root fragments + // tslint:disable-next-line + while ((parent = parent.host) && __is_51.docFrag(parent)) { + continue; + } + + return parent; + } + + return parent; +} + +function matchesSelector(element, selector) { + // remove /deep/ from selectors if shadowDOM polyfill is used + if (___window_51["default"].window !== ___window_51["default"].realWindow) { + selector = selector.replace(/\/deep\//g, ' '); + } + + return element[_browser["default"].prefixedMatchesSelector](selector); +} + +var getParent = function getParent(el) { + return el.parentNode ? el.parentNode : el.host; +}; // Test for the element that's "above" all other qualifiers + + +function indexOfDeepestElement(elements) { + var deepestZoneParents = []; + var deepestZone = elements[0]; + var index = deepestZone ? 0 : -1; + var i; + var n; + + for (i = 1; i < elements.length; i++) { + var dropzone = elements[i]; // an element might belong to multiple selector dropzones + + if (!dropzone || dropzone === deepestZone) { + continue; + } + + if (!deepestZone) { + deepestZone = dropzone; + index = i; + continue; + } // check if the deepest or current are document.documentElement or document.rootElement + // - if the current dropzone is, do nothing and continue + + + if (dropzone.parentNode === dropzone.ownerDocument) { + continue; + } // - if deepest is, update with the current dropzone and continue to next + else if (deepestZone.parentNode === dropzone.ownerDocument) { + 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) { + var _parent = deepestZone; + var parentParent = void 0; + + while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { + deepestZoneParents.unshift(_parent); + _parent = parentParent; + } + } + + 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) { + continue; + } + + parent = dropzone.ownerSVGElement; + } else { + parent = dropzone; + } + + var dropzoneParents = []; + + while (parent.parentNode !== parent.ownerDocument) { + dropzoneParents.unshift(parent); + parent = getParent(parent); + } + + n = 0; // get (position of last common ancestor) + 1 + + while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { + n++; + } + + var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; + var child = parents[0].lastChild; + + while (child) { + if (child === parents[1]) { + deepestZone = dropzone; + index = i; + deepestZoneParents = dropzoneParents; + break; + } else if (child === parents[2]) { + break; + } + + child = child.previousSibling; + } + } + + return index; +} + +function matchesUpTo(element, selector, limit) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return true; + } + + element = parentNode(element); + + if (element === limit) { + return matchesSelector(element, selector); + } + } + + return false; +} + +function getActualElement(element) { + return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; +} + +function getScrollXY(relevantWindow) { + relevantWindow = relevantWindow || ___window_51["default"].window; + return { + x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, + y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop + }; +} + +function getElementClientRect(element) { + var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; + return clientRect && { + left: clientRect.left, + right: clientRect.right, + top: clientRect.top, + bottom: clientRect.bottom, + width: clientRect.width || clientRect.right - clientRect.left, + height: clientRect.height || clientRect.bottom - clientRect.top + }; +} + +function getElementRect(element) { + var clientRect = getElementClientRect(element); + + if (!_browser["default"].isIOS7 && clientRect) { + var scroll = getScrollXY(___window_51["default"].getWindow(element)); + clientRect.left += scroll.x; + clientRect.right += scroll.x; + clientRect.top += scroll.y; + clientRect.bottom += scroll.y; + } + + return clientRect; +} + +function getPath(node) { + var path = []; + + while (node) { + path.push(node); + node = parentNode(node); + } + + return path; +} + +function trySelector(value) { + if (!__is_51.string(value)) { + return false; + } // an exception will be raised if it is invalid + + + ___domObjects_51["default"].document.querySelector(value); + + return true; +} + +var _$clone_49 = {}; +"use strict"; + +Object.defineProperty(_$clone_49, "__esModule", { + value: true +}); +_$clone_49["default"] = clone; + +var arr = ___interopRequireWildcard_49(_$arr_47); + +var __is_49 = ___interopRequireWildcard_49(_$is_57); + +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 = {}; + + for (var prop in source) { + var value = source[prop]; + + if (__is_49.plainObject(value)) { + dest[prop] = clone(value); + } else if (__is_49.array(value)) { + dest[prop] = arr.from(value); + } else { + dest[prop] = value; + } + } + + return dest; +} + +var _$pointerExtend_60 = {}; +"use strict"; + +Object.defineProperty(_$pointerExtend_60, "__esModule", { + value: true +}); +_$pointerExtend_60["default"] = void 0; + +function pointerExtend(dest, source) { + for (var prop in source) { + var prefixedPropREs = pointerExtend.prefixedPropREs; + var deprecated = false; // skip deprecated prefixed properties + + for (var vendor in prefixedPropREs) { + if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { + deprecated = true; + break; + } + } + + if (!deprecated && typeof source[prop] !== 'function') { + dest[prop] = source[prop]; + } + } + + return dest; +} + +pointerExtend.prefixedPropREs = { + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ +}; +var ___default_60 = pointerExtend; +_$pointerExtend_60["default"] = ___default_60; + +var _$hypot_55 = {}; +"use strict"; + +Object.defineProperty(_$hypot_55, "__esModule", { + value: true +}); +_$hypot_55["default"] = void 0; + +var ___default_55 = function _default(x, y) { + return Math.sqrt(x * x + y * y); +}; + +_$hypot_55["default"] = ___default_55; + +var _$pointerUtils_61 = {}; +"use strict"; + +Object.defineProperty(_$pointerUtils_61, "__esModule", { + value: true +}); +_$pointerUtils_61["default"] = void 0; + +var ___browser_61 = ___interopRequireDefault_61(_$browser_48); + +var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); + +var domUtils = ___interopRequireWildcard_61(_$domUtils_51); + +var _hypot = ___interopRequireDefault_61(_$hypot_55); + +var __is_61 = ___interopRequireWildcard_61(_$is_57); + +var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); + +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 }; } + +var pointerUtils = { + copyCoords: function copyCoords(dest, src) { + dest.page = dest.page || {}; + dest.page.x = src.page.x; + dest.page.y = src.page.y; + dest.client = dest.client || {}; + dest.client.x = src.client.x; + dest.client.y = src.client.y; + dest.timeStamp = src.timeStamp; + }, + setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { + targetObj.page.x = cur.page.x - prev.page.x; + targetObj.page.y = cur.page.y - prev.page.y; + targetObj.client.x = cur.client.x - prev.client.x; + targetObj.client.y = cur.client.y - prev.client.y; + targetObj.timeStamp = cur.timeStamp - prev.timeStamp; + }, + setCoordVelocity: function setCoordVelocity(targetObj, delta) { + var dt = Math.max(delta.timeStamp / 1000, 0.001); + targetObj.page.x = delta.page.x / dt; + targetObj.page.y = delta.page.y / dt; + targetObj.client.x = delta.client.x / dt; + targetObj.client.y = delta.client.y / dt; + targetObj.timeStamp = dt; + }, + isNativePointer: function isNativePointer(pointer) { + return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; + }, + // Get specified X/Y coords for mouse or event.touches[0] + getXY: function getXY(type, pointer, xy) { + xy = xy || {}; + type = type || 'page'; + xy.x = pointer[type + 'X']; + xy.y = pointer[type + 'Y']; + return xy; + }, + getPageXY: function getPageXY(pointer, page) { + page = page || { + x: 0, + y: 0 + }; // Opera Mobile handles the viewport and scrolling oddly + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + pointerUtils.getXY('screen', pointer, page); + page.x += window.scrollX; + page.y += window.scrollY; + } else { + pointerUtils.getXY('page', pointer, page); + } + + return page; + }, + getClientXY: function getClientXY(pointer, client) { + client = client || {}; + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + // Opera Mobile handles the viewport and scrolling oddly + pointerUtils.getXY('screen', pointer, client); + } else { + pointerUtils.getXY('client', pointer, client); + } + + return client; + }, + getPointerId: function getPointerId(pointer) { + return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; + }, + setCoords: function setCoords(targetObj, pointers, timeStamp) { + var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; + var tmpXY = {}; + pointerUtils.getPageXY(pointer, tmpXY); + targetObj.page.x = tmpXY.x; + targetObj.page.y = tmpXY.y; + pointerUtils.getClientXY(pointer, tmpXY); + targetObj.client.x = tmpXY.x; + targetObj.client.y = tmpXY.y; + targetObj.timeStamp = timeStamp; + }, + pointerExtend: _pointerExtend["default"], + getTouchPair: function getTouchPair(event) { + var touches = []; // array of touches is supplied + + if (__is_61.array(event)) { + touches[0] = event[0]; + touches[1] = event[1]; + } // an event + else { + if (event.type === 'touchend') { + if (event.touches.length === 1) { + touches[0] = event.touches[0]; + touches[1] = event.changedTouches[0]; + } else if (event.touches.length === 0) { + touches[0] = event.changedTouches[0]; + touches[1] = event.changedTouches[1]; + } + } else { + touches[0] = event.touches[0]; + touches[1] = event.touches[1]; + } + } + + return touches; + }, + pointerAverage: function pointerAverage(pointers) { + var average = { + pageX: 0, + pageY: 0, + clientX: 0, + clientY: 0, + screenX: 0, + screenY: 0 + }; + + for (var _i = 0; _i < pointers.length; _i++) { + var _ref; + + _ref = pointers[_i]; + var pointer = _ref; + + for (var _prop in average) { + average[_prop] += pointer[_prop]; + } + } + + for (var prop in average) { + average[prop] /= pointers.length; + } + + return average; + }, + touchBBox: function touchBBox(event) { + if (!event.length && !(event.touches && event.touches.length > 1)) { + return null; + } + + var touches = pointerUtils.getTouchPair(event); + var minX = Math.min(touches[0].pageX, touches[1].pageX); + var minY = Math.min(touches[0].pageY, touches[1].pageY); + var maxX = Math.max(touches[0].pageX, touches[1].pageX); + var maxY = Math.max(touches[0].pageY, touches[1].pageY); + return { + x: minX, + y: minY, + left: minX, + top: minY, + right: maxX, + bottom: maxY, + width: maxX - minX, + height: maxY - minY + }; + }, + touchDistance: function touchDistance(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[0][sourceX] - touches[1][sourceX]; + var dy = touches[0][sourceY] - touches[1][sourceY]; + return (0, _hypot["default"])(dx, dy); + }, + touchAngle: function touchAngle(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[1][sourceX] - touches[0][sourceX]; + var dy = touches[1][sourceY] - touches[0][sourceY]; + var angle = 180 * Math.atan2(dy, dx) / Math.PI; + return angle; + }, + getPointerType: function getPointerType(pointer) { + 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 + // be either a MouseEvent, TouchEvent, or Touch object + : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; + }, + // [ event.target, event.currentTarget ] + getEventTargets: function getEventTargets(event) { + var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; + return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; + }, + newCoords: function newCoords() { + return { + page: { + x: 0, + y: 0 + }, + client: { + x: 0, + y: 0 + }, + timeStamp: 0 + }; + }, + coordsToEvent: function coordsToEvent(coords) { + var event = { + coords: coords, + + 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 event; + } +}; +var ___default_61 = pointerUtils; +_$pointerUtils_61["default"] = ___default_61; + +var _$events_52 = {}; +"use strict"; + +Object.defineProperty(_$events_52, "__esModule", { + value: true +}); +_$events_52["default"] = _$events_52.FakeEvent = void 0; + +/* removed: var _$arr_47 = require("./arr"); */; + +var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); + +var __is_52 = ___interopRequireWildcard_52(_$is_57); + +var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); + +var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); + +function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +var elements = []; +var targets = []; +var delegatedEvents = {}; +var documents = []; + +function add(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target) { + target = { + events: {}, + typeCount: 0 + }; + elementIndex = elements.push(element) - 1; + targets.push(target); + } + + if (!target.events[type]) { + target.events[type] = []; + target.typeCount++; + } + + if (!(0, _$arr_47.contains)(target.events[type], listener)) { + element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].push(listener); + } +} + +function __remove_52(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target || !target.events) { + return; + } + + if (type === 'all') { + for (type in target.events) { + if (target.events.hasOwnProperty(type)) { + __remove_52(element, type, 'all'); + } + } + + return; + } + + if (target.events[type]) { + var len = target.events[type].length; + + if (listener === 'all') { + for (var i = 0; i < len; i++) { + __remove_52(element, type, target.events[type][i], options); + } + + return; + } else { + for (var _i = 0; _i < len; _i++) { + if (target.events[type][_i] === listener) { + element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].splice(_i, 1); + break; + } + } + } + + if (target.events[type] && target.events[type].length === 0) { + target.events[type] = null; + target.typeCount--; + } + } + + if (!target.typeCount) { + targets.splice(elementIndex, 1); + elements.splice(elementIndex, 1); + } +} + +function addDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + + if (!delegatedEvents[type]) { + delegatedEvents[type] = { + contexts: [], + listeners: [], + selectors: [] + }; // add delegate listener functions + + for (var _i2 = 0; _i2 < documents.length; _i2++) { + var _ref; + + _ref = documents[_i2]; + var doc = _ref; + add(doc, type, delegateListener); + add(doc, type, delegateUseCapture, true); + } + } + + var delegated = delegatedEvents[type]; + var index; + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + break; + } + } + + if (index === -1) { + index = delegated.selectors.length; + delegated.selectors.push(selector); + delegated.contexts.push(context); + delegated.listeners.push([]); + } // keep listener and capture and passive flags + + + delegated.listeners[index].push([listener, !!options.capture, options.passive]); +} + +function removeDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var delegated = delegatedEvents[type]; + var matchFound = false; + var index; + + if (!delegated) { + return; + } // count from last index of delegated to 0 + + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + // look for matching selector and context Node + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] + + for (var i = listeners.length - 1; i >= 0; i--) { + var _listeners$i = _slicedToArray(listeners[i], 3), + fn = _listeners$i[0], + capture = _listeners$i[1], + passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match + + + if (fn === listener && capture === !!options.capture && passive === options.passive) { + // remove the listener from the array of listeners + listeners.splice(i, 1); // if all listeners for this interactable have been removed + // remove the interactable from the delegated arrays + + if (!listeners.length) { + delegated.selectors.splice(index, 1); + delegated.contexts.splice(index, 1); + delegated.listeners.splice(index, 1); // remove delegate function from context + + __remove_52(context, type, delegateListener); + __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegatedEvents[type] = null; + } + } // only remove one listener + + + matchFound = true; + break; + } + } + + if (matchFound) { + break; + } + } + } +} // bound to the interactable context when a DOM event +// listener is added to a selector interactable + + +function delegateListener(event, optionalArg) { + var options = getOptions(optionalArg); + var fakeEvent = new FakeEvent(event); + var delegated = delegatedEvents[event.type]; + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), + eventTarget = _pointerUtils$getEven2[0]; + + var element = eventTarget; // climb up document tree looking for selector matches + + while (__is_52.element(element)) { + for (var i = 0; i < delegated.selectors.length; i++) { + var selector = delegated.selectors[i]; + var context = delegated.contexts[i]; + + if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { + var listeners = delegated.listeners[i]; + fakeEvent.currentTarget = element; + + for (var _i3 = 0; _i3 < listeners.length; _i3++) { + var _ref2; + + _ref2 = listeners[_i3]; + + 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); + } + } + } + } + + element = __domUtils_52.parentNode(element); + } +} + +function delegateUseCapture(event) { + return delegateListener.call(this, event, true); +} + +function getOptions(param) { + return __is_52.object(param) ? param : { + capture: param + }; +} + +var FakeEvent = +/*#__PURE__*/ +function () { + function FakeEvent(originalEvent) { + _classCallCheck(this, FakeEvent); + + this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed + + (0, ___pointerExtend_52["default"])(this, originalEvent); + } + + _createClass(FakeEvent, [{ + key: "preventOriginalDefault", + value: function preventOriginalDefault() { + this.originalEvent.preventDefault(); + } + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.originalEvent.stopPropagation(); + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.originalEvent.stopImmediatePropagation(); + } + }]); + + return FakeEvent; +}(); + +_$events_52.FakeEvent = FakeEvent; +var events = { + add: add, + remove: __remove_52, + addDelegate: addDelegate, + removeDelegate: removeDelegate, + delegateListener: delegateListener, + delegateUseCapture: delegateUseCapture, + delegatedEvents: delegatedEvents, + documents: documents, + supportsOptions: false, + supportsPassive: false, + _elements: elements, + _targets: targets, + init: function init(window) { + window.document.createElement('div').addEventListener('test', null, { + get capture() { + return events.supportsOptions = true; + }, + + get passive() { + return events.supportsPassive = true; + } + + }); + } +}; +var ___default_52 = events; +_$events_52["default"] = ___default_52; + +var _$extend_53 = {}; +"use strict"; + +Object.defineProperty(_$extend_53, "__esModule", { + value: true +}); +_$extend_53["default"] = extend; + +function extend(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + + return dest; +} + +var _$rect_63 = {}; +"use strict"; + +Object.defineProperty(_$rect_63, "__esModule", { + value: true +}); +_$rect_63.getStringOptionResult = getStringOptionResult; +_$rect_63.resolveRectLike = resolveRectLike; +_$rect_63.rectToXY = rectToXY; +_$rect_63.xywhToTlbr = xywhToTlbr; +_$rect_63.tlbrToXywh = tlbrToXywh; +_$rect_63["default"] = void 0; + +/* removed: var _$domUtils_51 = require("./domUtils"); */; + +var _extend = ___interopRequireDefault_63(_$extend_53); + +var __is_63 = ___interopRequireWildcard_63(_$is_57); + +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 }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +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, target, element) { + if (value === 'parent') { + return (0, _$domUtils_51.parentNode)(element); + } + + if (value === 'self') { + return target.getRect(element); + } + + return (0, _$domUtils_51.closest)(element, value); +} + +function resolveRectLike(value, target, element, functionArgs) { + if (__is_63.string(value)) { + value = getStringOptionResult(value, target, element); + } else if (__is_63.func(value)) { + value = value.apply(void 0, _toConsumableArray(functionArgs)); + } + + if (__is_63.element(value)) { + value = (0, _$domUtils_51.getElementRect)(value); + } + + return value; +} + +function rectToXY(rect) { + return rect && { + x: 'x' in rect ? rect.x : rect.left, + y: 'y' in rect ? rect.y : rect.top + }; +} + +function xywhToTlbr(rect) { + if (rect && !('left' in rect && 'top' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.left = rect.x || 0; + rect.top = rect.y || 0; + rect.right = rect.right || rect.left + rect.width; + rect.bottom = rect.bottom || rect.top + rect.height; + } + + return rect; +} + +function tlbrToXywh(rect) { + if (rect && !('x' in rect && 'y' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.x = rect.left || 0; + rect.y = rect.top || 0; + rect.width = rect.width || rect.right - rect.x; + rect.height = rect.height || rect.bottom - rect.y; + } + + return rect; +} + +var ___default_63 = { + getStringOptionResult: getStringOptionResult, + resolveRectLike: resolveRectLike, + rectToXY: rectToXY, + xywhToTlbr: xywhToTlbr, + tlbrToXywh: tlbrToXywh +}; +_$rect_63["default"] = ___default_63; + +var _$getOriginXY_54 = {}; +"use strict"; + +Object.defineProperty(_$getOriginXY_54, "__esModule", { + value: true +}); +_$getOriginXY_54["default"] = ___default_54; + +/* removed: var _$rect_63 = require("./rect"); */; + +function ___default_54(target, element, action) { + var actionOptions = target.options[action]; + var actionOrigin = actionOptions && actionOptions.origin; + var origin = actionOrigin || target.options.origin; + var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); + return (0, _$rect_63.rectToXY)(originRect) || { + x: 0, + y: 0 + }; +} + +var _$normalizeListeners_59 = {}; +"use strict"; + +Object.defineProperty(_$normalizeListeners_59, "__esModule", { + value: true +}); +_$normalizeListeners_59["default"] = normalize; + +var ___extend_59 = ___interopRequireDefault_59(_$extend_53); + +var __is_59 = ___interopRequireWildcard_59(_$is_57); + +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 }; } + +function normalize(type, listeners, result) { + result = result || {}; + + if (__is_59.string(type) && type.search(' ') !== -1) { + type = split(type); + } + + if (__is_59.array(type)) { + return type.reduce(function (acc, t) { + return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); + }, result); + } // ({ type: fn }) -> ('', { type: fn }) + + + if (__is_59.object(type)) { + listeners = type; + type = ''; + } + + if (__is_59.func(listeners)) { + result[type] = result[type] || []; + result[type].push(listeners); + } else if (__is_59.array(listeners)) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var l = _ref; + normalize(type, l, result); + } + } else if (__is_59.object(listeners)) { + for (var prefix in listeners) { + var combinedTypes = split(prefix).map(function (p) { + return "".concat(type).concat(p); + }); + normalize(combinedTypes, listeners[prefix], result); + } + } + + return result; +} + +function split(type) { + return type.trim().split(/ +/); +} + +var _$raf_62 = {}; +"use strict"; + +Object.defineProperty(_$raf_62, "__esModule", { + value: true +}); +_$raf_62["default"] = void 0; +var lastTime = 0; + +var _request; + +var _cancel; + +function __init_62(window) { + _request = window.requestAnimationFrame; + _cancel = window.cancelAnimationFrame; + + if (!_request) { + var vendors = ['ms', 'moz', 'webkit', 'o']; + + for (var _i = 0; _i < vendors.length; _i++) { + var vendor = vendors[_i]; + _request = window["".concat(vendor, "RequestAnimationFrame")]; + _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; + } + } + + if (!_request) { + _request = function request(callback) { + var currTime = Date.now(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal + + var token = setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return token; + }; + + _cancel = function cancel(token) { + return clearTimeout(token); + }; + } +} + +var ___default_62 = { + request: function request(callback) { + return _request(callback); + }, + cancel: function cancel(token) { + return _cancel(token); + }, + init: __init_62 +}; +_$raf_62["default"] = ___default_62; + +var _$Signals_46 = {}; +"use strict"; + +Object.defineProperty(_$Signals_46, "__esModule", { + value: true +}); +_$Signals_46["default"] = void 0; + +function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } + +var Signals = +/*#__PURE__*/ +function () { + function Signals() { + ___classCallCheck_46(this, Signals); + + this.listeners = {}; + } + + ___createClass_46(Signals, [{ + key: "on", + value: function on(name, listener) { + if (!this.listeners[name]) { + this.listeners[name] = [listener]; + return; + } + + this.listeners[name].push(listener); + } + }, { + key: "off", + value: function off(name, listener) { + if (!this.listeners[name]) { + return; + } + + var index = this.listeners[name].indexOf(listener); + + if (index !== -1) { + this.listeners[name].splice(index, 1); + } + } + }, { + key: "fire", + value: function fire(name, arg) { + var targetListeners = this.listeners[name]; + + if (!targetListeners) { + return; + } + + for (var _i = 0; _i < targetListeners.length; _i++) { + var _ref; + + _ref = targetListeners[_i]; + var listener = _ref; + + if (listener(arg, name) === false) { + return false; + } + } + } + }]); + + return Signals; +}(); + +var ___default_46 = Signals; +_$Signals_46["default"] = ___default_46; + +var _$utils_56 = {}; +"use strict"; + +Object.defineProperty(_$utils_56, "__esModule", { + value: true +}); +_$utils_56.warnOnce = warnOnce; +_$utils_56._getQBezierValue = _getQBezierValue; +_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; +_$utils_56.easeOutQuad = easeOutQuad; +_$utils_56.copyAction = copyAction; +Object.defineProperty(_$utils_56, "win", { + enumerable: true, + get: function get() { + return ___window_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "browser", { + enumerable: true, + get: function get() { + return ___browser_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "clone", { + enumerable: true, + get: function get() { + return _clone["default"]; + } +}); +Object.defineProperty(_$utils_56, "events", { + enumerable: true, + get: function get() { + return _events["default"]; + } +}); +Object.defineProperty(_$utils_56, "extend", { + enumerable: true, + get: function get() { + return ___extend_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "getOriginXY", { + enumerable: true, + get: function get() { + return _getOriginXY["default"]; + } +}); +Object.defineProperty(_$utils_56, "hypot", { + enumerable: true, + get: function get() { + return ___hypot_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "normalizeListeners", { + enumerable: true, + get: function get() { + return _normalizeListeners["default"]; + } +}); +Object.defineProperty(_$utils_56, "pointer", { + enumerable: true, + get: function get() { + return ___pointerUtils_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "raf", { + enumerable: true, + get: function get() { + return _raf["default"]; + } +}); +Object.defineProperty(_$utils_56, "rect", { + enumerable: true, + get: function get() { + return ___rect_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "Signals", { + enumerable: true, + get: function get() { + return _Signals["default"]; + } +}); +_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; + +var __arr_56 = ___interopRequireWildcard_56(_$arr_47); + +_$utils_56.arr = __arr_56; + +var dom = ___interopRequireWildcard_56(_$domUtils_51); + +_$utils_56.dom = dom; + +var __is_56 = ___interopRequireWildcard_56(_$is_57); + +_$utils_56.is = __is_56; + +var ___window_56 = ___interopRequireDefault_56(_$window_66); + +var ___browser_56 = ___interopRequireDefault_56(_$browser_48); + +var _clone = ___interopRequireDefault_56(_$clone_49); + +var _events = ___interopRequireDefault_56(_$events_52); + +var ___extend_56 = ___interopRequireDefault_56(_$extend_53); + +var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); + +var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); + +var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); + +var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); + +var _raf = ___interopRequireDefault_56(_$raf_62); + +var ___rect_56 = ___interopRequireDefault_56(_$rect_63); + +var _Signals = ___interopRequireDefault_56(_$Signals_46); + +function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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 + + return function () { + if (!warned) { + ___window_56["default"].window.console.warn(message); + + warned = true; + } + + return method.apply(this, arguments); + }; +} // http://stackoverflow.com/a/5634528/2280888 + + +function _getQBezierValue(t, p1, p2, p3) { + var iT = 1 - t; + return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; +} + +function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { + return { + x: _getQBezierValue(position, startX, cpX, endX), + y: _getQBezierValue(position, startY, cpY, endY) + }; +} // http://gizma.com/easing/ + + +function easeOutQuad(t, b, c, d) { + t /= d; + return -c * t * (t - 2) + b; +} + +function copyAction(dest, src) { + dest.name = src.name; + dest.axis = src.axis; + dest.edges = src.edges; + return dest; +} + +var _$defaultOptions_20 = {}; +"use strict"; + +Object.defineProperty(_$defaultOptions_20, "__esModule", { + value: true +}); +_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; +// tslint:disable no-empty-interface +var defaults = { + base: { + preventDefault: 'auto', + deltaSource: 'page' + }, + perAction: { + enabled: false, + origin: { + x: 0, + y: 0 + } + }, + actions: {} +}; +_$defaultOptions_20.defaults = defaults; +var ___default_20 = defaults; +_$defaultOptions_20["default"] = ___default_20; + +var _$Eventable_14 = {}; +"use strict"; + +Object.defineProperty(_$Eventable_14, "__esModule", { + value: true +}); +_$Eventable_14["default"] = void 0; + +var __arr_14 = ___interopRequireWildcard_14(_$arr_47); + +var ___extend_14 = ___interopRequireDefault_14(_$extend_53); + +var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); + +function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function ___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); } } + +function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } + +function fireUntilImmediateStopped(event, listeners) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var listener = _ref; + + if (event.immediatePropagationStopped) { + break; + } + + listener(event); + } +} + +var Eventable = +/*#__PURE__*/ +function () { + function Eventable(options) { + ___classCallCheck_14(this, Eventable); + + this.types = {}; + this.propagationStopped = false; + this.immediatePropagationStopped = false; + this.options = (0, ___extend_14["default"])({}, options || {}); + } + + ___createClass_14(Eventable, [{ + key: "fire", + value: function fire(event) { + var listeners; + var global = this.global; // Interactable#on() listeners + // tslint:disable no-conditional-assignment + + if (listeners = this.types[event.type]) { + fireUntilImmediateStopped(event, listeners); + } // interact.on() listeners + + + if (!event.propagationStopped && global && (listeners = global[event.type])) { + fireUntilImmediateStopped(event, listeners); + } + } + }, { + key: "on", + value: function on(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); + } + } + }, { + key: "off", + value: function off(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + var eventList = this.types[type]; + + if (!eventList || !eventList.length) { + continue; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var subListener = _ref2; + var index = eventList.indexOf(subListener); + + if (index !== -1) { + eventList.splice(index, 1); + } + } + } + } + }, { + key: "getRect", + value: function getRect(_element) { + return null; + } + }]); + + return Eventable; +}(); + +var ___default_14 = Eventable; +_$Eventable_14["default"] = ___default_14; + +var _$Interactable_16 = {}; +"use strict"; + +Object.defineProperty(_$Interactable_16, "__esModule", { + value: true +}); +_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; + +var __arr_16 = ___interopRequireWildcard_16(_$arr_47); + +var ___browser_16 = ___interopRequireDefault_16(_$browser_48); + +var ___clone_16 = ___interopRequireDefault_16(_$clone_49); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_16 = ___interopRequireDefault_16(_$events_52); + +var ___extend_16 = ___interopRequireDefault_16(_$extend_53); + +var __is_16 = ___interopRequireWildcard_16(_$is_57); + +var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +var _Eventable = ___interopRequireDefault_16(_$Eventable_14); + +function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function ___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); } } + +function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } + +/** */ +var Interactable = +/*#__PURE__*/ +function () { + /** */ + function Interactable(target, options, defaultContext) { + ___classCallCheck_16(this, Interactable); + + this.events = new _Eventable["default"](); + this._actions = options.actions; + this.target = target; + this._context = options.context || defaultContext; + this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); + this._doc = this._win.document; + this.set(options); + } + + ___createClass_16(Interactable, [{ + key: "setOnEvents", + value: function setOnEvents(actionName, phases) { + if (__is_16.func(phases.onstart)) { + this.on("".concat(actionName, "start"), phases.onstart); + } + + if (__is_16.func(phases.onmove)) { + this.on("".concat(actionName, "move"), phases.onmove); + } + + if (__is_16.func(phases.onend)) { + this.on("".concat(actionName, "end"), phases.onend); + } + + if (__is_16.func(phases.oninertiastart)) { + this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); + } + + return this; + } + }, { + key: "updatePerActionListeners", + value: function updatePerActionListeners(actionName, prev, cur) { + if (__is_16.array(prev) || __is_16.object(prev)) { + this.off(actionName, prev); + } + + if (__is_16.array(cur) || __is_16.object(cur)) { + this.on(actionName, cur); + } + } + }, { + key: "setPerAction", + value: function setPerAction(actionName, options) { + var defaults = this._defaults; // for all the default per-action options + + for (var optionName in options) { + var actionOptions = this.options[actionName]; + var optionValue = options[optionName]; + var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones + + if (optionName === 'listeners') { + this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); + } // if the option value is an array + + + if (isArray) { + actionOptions[optionName] = __arr_16.from(optionValue); + } // if the option value is an object + else if (!isArray && __is_16.plainObject(optionValue)) { + // copy the object + actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults + + if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { + actionOptions[optionName].enabled = optionValue.enabled !== false; + } + } // if the option value is a boolean and the default is an object + else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { + actionOptions[optionName].enabled = optionValue; + } // if it's anything else, do a plain assignment + else { + actionOptions[optionName] = optionValue; + } + } + } + /** + * The default function to get an Interactables bounding rect. Can be + * overridden using {@link Interactable.rectChecker}. + * + * @param {Element} [element] The element to measure. + * @return {object} The object's bounding rectangle. + */ + + }, { + key: "getRect", + value: function getRect(element) { + element = element || (__is_16.element(this.target) ? this.target : null); + + if (__is_16.string(this.target)) { + element = element || this._context.querySelector(this.target); + } + + return (0, _$domUtils_51.getElementRect)(element); + } + /** + * Returns or sets the function used to calculate the interactable's + * element's rectangle + * + * @param {function} [checker] A function which returns this Interactable's + * bounding rectangle. See {@link Interactable.getRect} + * @return {function | object} The checker function or this Interactable + */ + + }, { + key: "rectChecker", + value: function rectChecker(checker) { + if (__is_16.func(checker)) { + this.getRect = checker; + return this; + } + + if (checker === null) { + delete this.getRect; + return this; + } + + return this.getRect; + } + }, { + key: "_backCompatOption", + value: function _backCompatOption(optionName, newValue) { + if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { + this.options[optionName] = newValue; + + for (var _i = 0; _i < this._actions.names.length; _i++) { + var _ref; + + _ref = this._actions.names[_i]; + var action = _ref; + this.options[action][optionName] = newValue; + } + + return this; + } + + return this.options[optionName]; + } + /** + * Gets or sets the origin of the Interactable's element. The x and y + * of the origin will be subtracted from action event coordinates. + * + * @param {Element | object | string} [origin] An HTML or SVG Element whose + * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' + * or any CSS selector + * + * @return {object} The current origin or this Interactable + */ + + }, { + key: "origin", + value: function origin(newValue) { + return this._backCompatOption('origin', newValue); + } + /** + * Returns or sets the mouse coordinate types used to calculate the + * movement of the pointer. + * + * @param {string} [newValue] Use 'client' if you will be scrolling while + * interacting; Use 'page' if you want autoScroll to work + * @return {string | object} The current deltaSource or this Interactable + */ + + }, { + key: "deltaSource", + value: function deltaSource(newValue) { + if (newValue === 'page' || newValue === 'client') { + this.options.deltaSource = newValue; + return this; + } + + return this.options.deltaSource; + } + /** + * Gets the selector context Node of the Interactable. The default is + * `window.document`. + * + * @return {Node} The context Node of this Interactable + */ + + }, { + key: "context", + value: function context() { + return this._context; + } + }, { + key: "inContext", + value: function inContext(element) { + return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); + } + }, { + key: "testIgnoreAllow", + value: function testIgnoreAllow(options, targetNode, eventTarget) { + return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); + } + }, { + key: "testAllow", + value: function testAllow(allowFrom, targetNode, element) { + if (!allowFrom) { + return true; + } + + if (!__is_16.element(element)) { + return false; + } + + if (__is_16.string(allowFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); + } else if (__is_16.element(allowFrom)) { + return (0, _$domUtils_51.nodeContains)(allowFrom, element); + } + + return false; + } + }, { + key: "testIgnore", + value: function testIgnore(ignoreFrom, targetNode, element) { + if (!ignoreFrom || !__is_16.element(element)) { + return false; + } + + if (__is_16.string(ignoreFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); + } else if (__is_16.element(ignoreFrom)) { + return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); + } + + return false; + } + /** + * Calls listeners for the given InteractEvent type bound globally + * and directly to this Interactable + * + * @param {InteractEvent} iEvent The InteractEvent object to be fired on this + * Interactable + * @return {Interactable} this Interactable + */ + + }, { + key: "fire", + value: function fire(iEvent) { + this.events.fire(iEvent); + return this; + } + }, { + key: "_onOff", + value: function _onOff(method, typeArg, listenerArg, options) { + if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { + options = listenerArg; + listenerArg = null; + } + + var addRemove = method === 'on' ? 'add' : 'remove'; + var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); + + for (var type in listeners) { + if (type === 'wheel') { + type = ___browser_16["default"].wheelEvent; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var listener = _ref2; + + // if it is an action event type + if (__arr_16.contains(this._actions.eventTypes, type)) { + this.events[method](type, listener); + } // 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 Interactable's element + else { + ___events_16["default"][addRemove](this.target, type, listener, options); + } + } + } + + return this; + } + /** + * Binds a listener for an InteractEvent, pointerEvent or DOM event. + * + * @param {string | array | object} types The types of events to listen + * for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * addEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "on", + value: function on(types, listener, options) { + return this._onOff('on', types, listener, options); + } + /** + * Removes an InteractEvent, pointerEvent or DOM event listener. + * + * @param {string | array | object} types The types of events that were + * listened for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * removeEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "off", + value: function off(types, listener, options) { + return this._onOff('off', types, listener, options); + } + /** + * Reset the options of this Interactable + * + * @param {object} options The new settings to apply + * @return {object} This Interactable + */ + + }, { + key: "set", + value: function set(options) { + var defaults = this._defaults; + + if (!__is_16.object(options)) { + options = {}; + } + + this.options = (0, ___clone_16["default"])(defaults.base); + + for (var actionName in this._actions.methodDict) { + var methodName = this._actions.methodDict[actionName]; + this.options[actionName] = {}; + this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); + this[methodName](options[actionName]); + } + + for (var setting in options) { + if (__is_16.func(this[setting])) { + this[setting](options[setting]); + } + } + + return this; + } + /** + * Remove this interactable from the list of interactables and remove it's + * action capabilities and event listeners + * + * @return {interact} + */ + + }, { + key: "unset", + value: function unset() { + ___events_16["default"].remove(this.target, 'all'); + + if (__is_16.string(this.target)) { + // remove delegated events + for (var type in ___events_16["default"].delegatedEvents) { + var delegated = ___events_16["default"].delegatedEvents[type]; + + if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { + delegated.selectors.splice(0, 1); + delegated.contexts.splice(0, 1); + delegated.listeners.splice(0, 1); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegated[type] = null; + } + } + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); + } + } else { + ___events_16["default"].remove(this.target, 'all'); + } + } + }, { + key: "_defaults", + get: function get() { + return { + base: {}, + perAction: {}, + actions: {} + }; + } + }]); + + return Interactable; +}(); + +_$Interactable_16.Interactable = Interactable; +var ___default_16 = Interactable; +_$Interactable_16["default"] = ___default_16; + +var _$InteractableSet_17 = {}; +"use strict"; + +Object.defineProperty(_$InteractableSet_17, "__esModule", { + value: true +}); +_$InteractableSet_17["default"] = void 0; + +var __arr_17 = ___interopRequireWildcard_17(_$arr_47); + +var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); + +var ___extend_17 = ___interopRequireDefault_17(_$extend_53); + +var __is_17 = ___interopRequireWildcard_17(_$is_57); + +var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); + +function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function ___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); } } + +function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } + +var InteractableSet = +/*#__PURE__*/ +function () { + function InteractableSet(scope) { + var _this = this; + + ___classCallCheck_17(this, InteractableSet); + + this.scope = scope; + this.signals = new ___Signals_17["default"](); // all set interactables + + this.list = []; + this.selectorMap = {}; + this.signals.on('unset', function (_ref) { + var interactable = _ref.interactable; + var target = interactable.target, + context = interactable._context; + var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; + var targetIndex = targetMappings.findIndex(function (m) { + return m.context === context; + }); + + if (targetMappings[targetIndex]) { + // Destroying mappingInfo's context and interactable + targetMappings[targetIndex].context = null; + targetMappings[targetIndex].interactable = null; + } + + targetMappings.splice(targetIndex, 1); + }); + } + + ___createClass_17(InteractableSet, [{ + key: "new", + value: function _new(target, options) { + options = (0, ___extend_17["default"])(options || {}, { + actions: this.scope.actions + }); + var interactable = new this.scope.Interactable(target, options, this.scope.document); + var mappingInfo = { + context: interactable._context, + interactable: interactable + }; + this.scope.addDocument(interactable._doc); + this.list.push(interactable); + + if (__is_17.string(target)) { + if (!this.selectorMap[target]) { + this.selectorMap[target] = []; + } + + this.selectorMap[target].push(mappingInfo); + } else { + if (!interactable.target[this.scope.id]) { + Object.defineProperty(target, this.scope.id, { + value: [], + configurable: true + }); + } + + target[this.scope.id].push(mappingInfo); + } + + this.signals.fire('new', { + target: target, + options: options, + interactable: interactable, + win: this.scope._win + }); + return interactable; + } + }, { + key: "get", + value: function get(target, options) { + var context = options && options.context || this.scope.document; + var isSelector = __is_17.string(target); + var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; + + if (!targetMappings) { + return null; + } + + var found = __arr_17.find(targetMappings, function (m) { + return m.context === context && (isSelector || m.interactable.inContext(target)); + }); + return found && found.interactable; + } + }, { + key: "forEachMatch", + value: function forEachMatch(node, callback) { + for (var _i = 0; _i < this.list.length; _i++) { + var _ref2; + + _ref2 = this.list[_i]; + var interactable = _ref2; + var ret = void 0; + + if ((__is_17.string(interactable.target) // target is a selector and the element matches + ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element + node === interactable.target) && // the element is in context + interactable.inContext(node)) { + ret = callback(interactable); + } + + if (ret !== undefined) { + return ret; + } + } + } + }]); + + return InteractableSet; +}(); + +_$InteractableSet_17["default"] = InteractableSet; + +var _$BaseEvent_13 = {}; +"use strict"; + +Object.defineProperty(_$BaseEvent_13, "__esModule", { + value: true +}); +_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; + +function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } + +var EventPhase; +_$BaseEvent_13.EventPhase = EventPhase; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); + +var BaseEvent = +/*#__PURE__*/ +function () { + function BaseEvent(interaction) { + ___classCallCheck_13(this, BaseEvent); + + this.immediatePropagationStopped = false; + this.propagationStopped = false; + this._interaction = interaction; + } + + ___createClass_13(BaseEvent, [{ + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }, { + key: "interaction", + get: function get() { + return this._interaction._proxy; + } + }]); + + return BaseEvent; +}(); + +_$BaseEvent_13.BaseEvent = BaseEvent; +var ___default_13 = BaseEvent; +_$BaseEvent_13["default"] = ___default_13; + +var _$InteractEvent_15 = {}; +"use strict"; + +Object.defineProperty(_$InteractEvent_15, "__esModule", { + value: true +}); +_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; + +var ___extend_15 = ___interopRequireDefault_15(_$extend_53); + +var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); + +var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); + +var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); + +var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); + +function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___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); } + +function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var __EventPhase_15; +_$InteractEvent_15.EventPhase = __EventPhase_15; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); + +var InteractEvent = +/*#__PURE__*/ +function (_BaseEvent) { + _inherits(InteractEvent, _BaseEvent); + + /** */ + function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { + var _this; + + ___classCallCheck_15(this, InteractEvent); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); + element = element || interaction.element; + var target = interaction.interactable; + var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; + var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); + var starting = phase === 'start'; + var ending = phase === 'end'; + var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; + var coords = starting ? interaction.coords.start : ending ? { + page: prevEvent.page, + client: prevEvent.client, + timeStamp: interaction.coords.cur.timeStamp + } : interaction.coords.cur; + _this.page = (0, ___extend_15["default"])({}, coords.page); + _this.client = (0, ___extend_15["default"])({}, coords.client); + _this.rect = (0, ___extend_15["default"])({}, interaction.rect); + _this.timeStamp = coords.timeStamp; + + if (!ending) { + _this.page.x -= origin.x; + _this.page.y -= origin.y; + _this.client.x -= origin.x; + _this.client.y -= origin.y; + } + + _this.ctrlKey = event.ctrlKey; + _this.altKey = event.altKey; + _this.shiftKey = event.shiftKey; + _this.metaKey = event.metaKey; + _this.button = event.button; + _this.buttons = event.buttons; + _this.target = element; + _this.currentTarget = element; + _this.relatedTarget = related || null; + _this.preEnd = preEnd; + _this.type = type || actionName + (phase || ''); + _this.interactable = target; + _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; + _this.x0 = interaction.coords.start.page.x - origin.x; + _this.y0 = interaction.coords.start.page.y - origin.y; + _this.clientX0 = interaction.coords.start.client.x - origin.x; + _this.clientY0 = interaction.coords.start.client.y - origin.y; + + if (starting || ending) { + _this.delta = { + x: 0, + y: 0 + }; + } else { + _this.delta = { + x: _this[deltaSource].x - prevEvent[deltaSource].x, + y: _this[deltaSource].y - prevEvent[deltaSource].y + }; + } + + _this.dt = interaction.coords.delta.timeStamp; + _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second + + _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); + _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); + _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; + return _this; + } + + ___createClass_15(InteractEvent, [{ + key: "getSwipe", + value: function getSwipe() { + var interaction = this._interaction; + + if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { + return null; + } + + var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; + var overlap = 22.5; + + if (angle < 0) { + angle += 360; + } + + var left = 135 - overlap <= angle && angle < 225 + overlap; + var up = 225 - overlap <= angle && angle < 315 + overlap; + var right = !left && (315 - overlap <= angle || angle < 45 + overlap); + var down = !up && 45 - overlap <= angle && angle < 135 + overlap; + return { + up: up, + down: down, + left: left, + right: right, + angle: angle, + speed: interaction.prevEvent.speed, + velocity: { + x: interaction.prevEvent.velocityX, + y: interaction.prevEvent.velocityY + } + }; + } + }, { + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "pageX", + get: function get() { + return this.page.x; + }, + set: function set(value) { + this.page.x = value; + } + }, { + key: "pageY", + get: function get() { + return this.page.y; + }, + set: function set(value) { + this.page.y = value; + } + }, { + key: "clientX", + get: function get() { + return this.client.x; + }, + set: function set(value) { + this.client.x = value; + } + }, { + key: "clientY", + get: function get() { + return this.client.y; + }, + set: function set(value) { + this.client.y = value; + } + }, { + key: "dx", + get: function get() { + return this.delta.x; + }, + set: function set(value) { + this.delta.x = value; + } + }, { + key: "dy", + get: function get() { + return this.delta.y; + }, + set: function set(value) { + this.delta.y = value; + } + }, { + key: "velocityX", + get: function get() { + return this.velocity.x; + }, + set: function set(value) { + this.velocity.x = value; + } + }, { + key: "velocityY", + get: function get() { + return this.velocity.y; + }, + set: function set(value) { + this.velocity.y = value; + } + }]); + + return InteractEvent; +}(_BaseEvent2["default"]); + +_$InteractEvent_15.InteractEvent = InteractEvent; +var ___default_15 = InteractEvent; +_$InteractEvent_15["default"] = ___default_15; + +var _$PointerInfo_19 = {}; +"use strict"; + +Object.defineProperty(_$PointerInfo_19, "__esModule", { + value: true +}); +_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; + +function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/* eslint-disable @typescript-eslint/no-parameter-properties */ +var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { + ___classCallCheck_19(this, PointerInfo); + + this.id = id; + this.pointer = pointer; + this.event = event; + this.downTime = downTime; + this.downTarget = downTarget; +}; + +_$PointerInfo_19.PointerInfo = PointerInfo; +var ___default_19 = PointerInfo; +_$PointerInfo_19["default"] = ___default_19; + +var _$interactionFinder_22 = {}; +"use strict"; + +Object.defineProperty(_$interactionFinder_22, "__esModule", { + value: true +}); +_$interactionFinder_22["default"] = void 0; + +var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); + +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'], + search: function search(details) { + for (var _i = 0; _i < finder.methodOrder.length; _i++) { + var _ref; + + _ref = finder.methodOrder[_i]; + var method = _ref; + var interaction = finder[method](details); + + if (interaction) { + return interaction; + } + } + }, + // try to resume simulation with a new pointer + simulationResume: function simulationResume(_ref2) { + var pointerType = _ref2.pointerType, + eventType = _ref2.eventType, + eventTarget = _ref2.eventTarget, + scope = _ref2.scope; + + if (!/down|start/i.test(eventType)) { + return null; + } + + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref3; + + _ref3 = scope.interactions.list[_i2]; + var interaction = _ref3; + var element = eventTarget; + + if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { + while (element) { + // if the element is the interaction element + if (element === interaction.element) { + return interaction; + } + + element = __dom_22.parentNode(element); + } + } + } + + return null; + }, + // if it's a mouse or pen interaction + mouseOrPen: function mouseOrPen(_ref4) { + var pointerId = _ref4.pointerId, + pointerType = _ref4.pointerType, + eventType = _ref4.eventType, + scope = _ref4.scope; + + if (pointerType !== 'mouse' && pointerType !== 'pen') { + return null; + } + + var firstNonActive; + + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref5; + + _ref5 = scope.interactions.list[_i3]; + var interaction = _ref5; + + if (interaction.pointerType === pointerType) { + // if it's a down event, skip interactions with running simulations + if (interaction.simulation && !hasPointerId(interaction, pointerId)) { + continue; + } // if the interaction is active, return it immediately + + + if (interaction.interacting()) { + return interaction; + } // otherwise save it and look for another active interaction + else if (!firstNonActive) { + firstNonActive = interaction; + } + } + } // if no active mouse interaction was found use the first inactive mouse + // interaction + + + if (firstNonActive) { + return firstNonActive; + } // find any mouse or pen interaction. + // ignore the interaction if the eventType is a *down, and a simulation + // is active + + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref6; + + _ref6 = scope.interactions.list[_i4]; + var _interaction = _ref6; + + if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { + return _interaction; + } + } + + return null; + }, + // get interaction that has this pointer + hasPointer: function hasPointer(_ref7) { + var pointerId = _ref7.pointerId, + scope = _ref7.scope; + + for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { + var _ref8; + + _ref8 = scope.interactions.list[_i5]; + var interaction = _ref8; + + if (hasPointerId(interaction, pointerId)) { + return interaction; + } + } + + return null; + }, + // get first idle interaction with a matching pointerType + idle: function idle(_ref9) { + var pointerType = _ref9.pointerType, + scope = _ref9.scope; + + for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { + var _ref10; + + _ref10 = scope.interactions.list[_i6]; + var interaction = _ref10; + + // if there's already a pointer held down + if (interaction.pointers.length === 1) { + var target = interaction.interactable; // don't add this pointer if there is a target interactable and it + // isn't gesturable + + if (target && !(target.options.gesture && target.options.gesture.enabled)) { + continue; + } + } // maximum of 2 pointers per interaction + else if (interaction.pointers.length >= 2) { + continue; + } + + if (!interaction.interacting() && pointerType === interaction.pointerType) { + return interaction; + } + } + + return null; + } +}; + +function hasPointerId(interaction, pointerId) { + return interaction.pointers.some(function (_ref11) { + var id = _ref11.id; + return id === pointerId; + }); +} + +var ___default_22 = finder; +_$interactionFinder_22["default"] = ___default_22; + +var _$drag_1 = {}; +"use strict"; + +Object.defineProperty(_$drag_1, "__esModule", { + value: true +}); +_$drag_1["default"] = void 0; + +var ___scope_1 = _$scope_24({}); + +var __arr_1 = ___interopRequireWildcard_1(_$arr_47); + +var __is_1 = ___interopRequireWildcard_1(_$is_57); + +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'; + +function __install_1(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('before-action-move', beforeMove); + interactions.signals.on('action-resume', beforeMove); // dragmove + + interactions.signals.on('action-move', move); + Interactable.prototype.draggable = drag.draggable; + actions[___scope_1.ActionName.Drag] = drag; + actions.names.push(___scope_1.ActionName.Drag); + __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); + actions.methodDict.drag = 'draggable'; + defaults.actions.drag = drag.defaults; +} + +function beforeMove(_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x') { + interaction.coords.cur.page.y = interaction.coords.start.page.y; + interaction.coords.cur.client.y = interaction.coords.start.client.y; + interaction.coords.velocity.client.y = 0; + interaction.coords.velocity.page.y = 0; + } else if (axis === 'y') { + interaction.coords.cur.page.x = interaction.coords.start.page.x; + interaction.coords.cur.client.x = interaction.coords.start.client.x; + interaction.coords.velocity.client.x = 0; + interaction.coords.velocity.page.x = 0; + } +} + +function move(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x' || axis === 'y') { + var opposite = axis === 'x' ? 'y' : 'x'; + iEvent.page[opposite] = interaction.coords.start.page[opposite]; + iEvent.client[opposite] = interaction.coords.start.client[opposite]; + iEvent.delta[opposite] = 0; + } +} +/** + * ```js + * interact(element).draggable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // the axis in which the first movement must be + * // for the drag sequence to start + * // 'xy' by default - any direction + * startAxis: 'x' || 'y' || 'xy', + * + * // 'xy' by default - don't restrict to one axis (move in any direction) + * // 'x' or 'y' to restrict movement to either axis + * // 'start' to restrict movement to the axis the drag started in + * lockAxis: 'x' || 'y' || 'xy' || 'start', + * + * // max number of drags that can happen concurrently + * // with elements of this Interactable. Infinity by default + * max: Infinity, + * + * // max number of drags that can target the same element+Interactable + * // 1 by default + * maxPerElement: 2 + * }) + * + * var isDraggable = interact('element').draggable(); // true + * ``` + * + * Get or set whether drag actions can be performed on the target + * + * @alias Interactable.prototype.draggable + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on drag events (object makes the Interactable + * draggable) + * @return {boolean | Interactable} boolean indicating if this can be the + * target of drag events, or this Interctable + */ + + +var draggable = function draggable(options) { + if (__is_1.object(options)) { + this.options.drag.enabled = options.enabled !== false; + this.setPerAction('drag', options); + this.setOnEvents('drag', options); + + if (/^(xy|x|y|start)$/.test(options.lockAxis)) { + this.options.drag.lockAxis = options.lockAxis; + } + + if (/^(xy|x|y)$/.test(options.startAxis)) { + this.options.drag.startAxis = options.startAxis; + } + + return this; + } + + if (__is_1.bool(options)) { + this.options.drag.enabled = options; + return this; + } + + return this.options.drag; +}; + +var drag = { + id: 'actions/drag', + install: __install_1, + draggable: draggable, + beforeMove: beforeMove, + move: move, + defaults: { + startAxis: 'xy', + lockAxis: 'xy' + }, + checker: function checker(_pointer, _event, interactable) { + var dragOptions = interactable.options.drag; + return dragOptions.enabled ? { + name: 'drag', + axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis + } : null; + }, + getCursor: function getCursor() { + return 'move'; + } +}; +var ___default_1 = drag; +_$drag_1["default"] = ___default_1; + +var _$DropEvent_2 = {}; +"use strict"; + +Object.defineProperty(_$DropEvent_2, "__esModule", { + value: true +}); +_$DropEvent_2["default"] = void 0; + +var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); + +var __arr_2 = ___interopRequireWildcard_2(_$arr_47); + +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 }; } + +function ___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); } + +function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } + +function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___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; } } + +function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } + +function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } + +function ___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); } + +function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } + +var DropEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_2(DropEvent, _BaseEvent); + + /** + * Class of events fired on dropzones during drags with acceptable targets. + */ + function DropEvent(dropState, dragEvent, type) { + var _this; + + ___classCallCheck_2(this, DropEvent); + + _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); + _this.propagationStopped = false; + _this.immediatePropagationStopped = false; + + var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, + element = _ref.element, + dropzone = _ref.dropzone; + + _this.type = type; + _this.target = element; + _this.currentTarget = element; + _this.dropzone = dropzone; + _this.dragEvent = dragEvent; + _this.relatedTarget = dragEvent.target; + _this.draggable = dragEvent.interactable; + _this.timeStamp = dragEvent.timeStamp; + return _this; + } + /** + * If this is a `dropactivate` event, the dropzone element will be + * deactivated. + * + * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the + * dropzone element and more. + */ + + + ___createClass_2(DropEvent, [{ + key: "reject", + value: function reject() { + var _this2 = this; + + var dropState = this._interaction.dropState; + + if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { + return; + } + + dropState.prev.dropzone = this.dropzone; + dropState.prev.element = this.target; + dropState.rejected = true; + dropState.events.enter = null; + this.stopImmediatePropagation(); + + if (this.type === 'dropactivate') { + var activeDrops = dropState.activeDrops; + var index = __arr_2.findIndex(activeDrops, function (_ref2) { + var dropzone = _ref2.dropzone, + element = _ref2.element; + return dropzone === _this2.dropzone && element === _this2.target; + }); + dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); + var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); + deactivateEvent.dropzone = this.dropzone; + deactivateEvent.target = this.target; + this.dropzone.fire(deactivateEvent); + } else { + this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); + } + } + }, { + key: "preventDefault", + value: function preventDefault() {} + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }]); + + return DropEvent; +}(___BaseEvent2_2["default"]); + +var ___default_2 = DropEvent; +_$DropEvent_2["default"] = ___default_2; + +var _$drop_3 = {}; +"use strict"; + +Object.defineProperty(_$drop_3, "__esModule", { + value: true +}); +_$drop_3["default"] = void 0; + +var __utils_3 = ___interopRequireWildcard_3(_$utils_56); + +var _drag = ___interopRequireDefault_3(_$drag_1); + +var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); + +function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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, + interact = scope.interact, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_drag["default"]); + interactions.signals.on('before-action-start', function (_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + interaction.dropState = { + cur: { + dropzone: null, + element: null + }, + prev: { + dropzone: null, + element: null + }, + rejected: null, + events: null, + activeDrops: null + }; + }); + interactions.signals.on('after-action-start', function (_ref2) { + var interaction = _ref2.interaction, + event = _ref2.event, + dragEvent = _ref2.iEvent; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; // reset active dropzones + + dropState.activeDrops = null; + dropState.events = null; + dropState.activeDrops = getActiveDrops(scope, interaction.element); + dropState.events = getDropEvents(interaction, event, dragEvent); + + if (dropState.events.activate) { + fireActivationEvents(dropState.activeDrops, dropState.events.activate); + } + }); // FIXME proper signal types + + interactions.signals.on('action-move', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('action-end', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('after-action-move', function (_ref3) { + var interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + interaction.dropState.events = {}; + }); + interactions.signals.on('after-action-end', function (_ref4) { + var interaction = _ref4.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + }); + interactions.signals.on('stop', function (_ref5) { + var interaction = _ref5.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; + + if (dropState) { + dropState.activeDrops = null; + dropState.events = null; + dropState.cur.dropzone = null; + dropState.cur.element = null; + dropState.prev.dropzone = null; + dropState.prev.element = null; + dropState.rejected = false; + } + }); + /** + * + * ```js + * interact('.drop').dropzone({ + * accept: '.can-drop' || document.getElementById('single-drop'), + * overlap: 'pointer' || 'center' || zeroToOne + * } + * ``` + * + * Returns or sets whether draggables can be dropped onto this target to + * trigger drop events + * + * Dropzones can receive the following events: + * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends + * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone + * - `dragmove` when a draggable that has entered the dropzone is moved + * - `drop` when a draggable is dropped into this dropzone + * + * Use the `accept` option to allow only elements that match the given CSS + * selector or element. The value can be: + * + * - **an Element** - only that element can be dropped into this dropzone. + * - **a string**, - the element being dragged must match it as a CSS selector. + * - **`null`** - accept options is cleared - it accepts any element. + * + * Use the `overlap` option to set how drops are checked for. The allowed + * values are: + * + * - `'pointer'`, the pointer must be over the dropzone (default) + * - `'center'`, the draggable element's center must be over the dropzone + * - a number from 0-1 which is the `(intersection area) / (draggable area)`. + * e.g. `0.5` for drop to happen when half of the area of the draggable is + * over the dropzone + * + * Use the `checker` option to specify a function to check if a dragged element + * is over this Interactable. + * + * @param {boolean | object | null} [options] The new options to be set. + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.dropzone = function (options) { + return dropzoneMethod(this, options); + }; + /** + * ```js + * interact(target) + * .dropChecker(function(dragEvent, // related dragmove or dragend event + * event, // TouchEvent/PointerEvent/MouseEvent + * dropped, // bool result of the default checker + * dropzone, // dropzone Interactable + * dropElement, // dropzone elemnt + * draggable, // draggable Interactable + * draggableElement) {// draggable element + * + * return dropped && event.target.hasAttribute('allow-drop') + * } + * ``` + */ + + + Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { + return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); + }; + /** + * Returns or sets whether the dimensions of dropzone elements are calculated + * on every dragmove or only on dragstart for the default dropChecker + * + * @param {boolean} [newValue] True to check on each move. False to check only + * before start + * @return {boolean | interact} The current setting or interact + */ + + + interact.dynamicDrop = function (newValue) { + if (__utils_3.is.bool(newValue)) { + // if (dragging && scope.dynamicDrop !== newValue && !newValue) { + // calcRects(dropzones) + // } + scope.dynamicDrop = newValue; + return interact; + } + + return scope.dynamicDrop; + }; + + __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); + actions.methodDict.drop = 'dropzone'; + scope.dynamicDrop = false; + defaults.actions.drop = drop.defaults; +} + +function collectDrops(_ref6, draggableElement) { + var interactables = _ref6.interactables; + var drops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i = 0; _i < interactables.list.length; _i++) { + var _ref7; + + _ref7 = interactables.list[_i]; + var dropzone = _ref7; + + if (!dropzone.options.drop.enabled) { + continue; + } + + var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting + + 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({ + dropzone: dropzone, + draggableElement: draggableElement + })) { + continue; + } // query for new elements if necessary + + + var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; + + for (var _i2 = 0; _i2 < dropElements.length; _i2++) { + var _ref8; + + _ref8 = dropElements[_i2]; + var dropzoneElement = _ref8; + + if (dropzoneElement !== draggableElement) { + drops.push({ + dropzone: dropzone, + element: dropzoneElement + }); + } + } + } + + return drops; +} + +function fireActivationEvents(activeDrops, event) { + // loop through all active dropzones and trigger event + for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { + var _ref9; + + _ref9 = activeDrops[_i3]; + var _ref10 = _ref9, + dropzone = _ref10.dropzone, + element = _ref10.element; + event.dropzone = dropzone; // set current element as event target + + event.target = element; + dropzone.fire(event); + event.propagationStopped = event.immediatePropagationStopped = false; + } +} // return a new array of possible drops. getActiveDrops should always be +// called when a drag has just started or a drag event happens while +// dynamicDrop is true + + +function getActiveDrops(scope, dragElement) { + // get dropzones and their elements that could receive the draggable + var activeDrops = collectDrops(scope, dragElement); + + for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { + var _ref11; + + _ref11 = activeDrops[_i4]; + var activeDrop = _ref11; + activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); + } + + return activeDrops; +} + +function getDrop(_ref12, dragEvent, pointerEvent) { + var dropState = _ref12.dropState, + draggable = _ref12.interactable, + dragElement = _ref12.element; + var validDrops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { + var _ref13; + + _ref13 = dropState.activeDrops[_i5]; + var _ref14 = _ref13, + dropzone = _ref14.dropzone, + dropzoneElement = _ref14.element, + rect = _ref14.rect; + validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); + } // get the most appropriate dropzone based on DOM depth and order + + + var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); + return dropState.activeDrops[dropIndex] || null; +} + +function getDropEvents(interaction, _pointerEvent, dragEvent) { + var dropState = interaction.dropState; + var dropEvents = { + enter: null, + leave: null, + activate: null, + deactivate: null, + move: null, + drop: null + }; + + if (dragEvent.type === 'dragstart') { + dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); + dropEvents.activate.target = null; + dropEvents.activate.dropzone = null; + } + + if (dragEvent.type === 'dragend') { + dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); + dropEvents.deactivate.target = null; + dropEvents.deactivate.dropzone = null; + } + + if (dropState.rejected) { + return dropEvents; + } + + if (dropState.cur.element !== dropState.prev.element) { + // if there was a previous dropzone, create a dragleave event + if (dropState.prev.dropzone) { + dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); + dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; + dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; + } // if dropzone is not null, create a dragenter event + + + if (dropState.cur.dropzone) { + dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); + dragEvent.dragEnter = dropState.cur.element; + dragEvent.dropzone = dropState.cur.dropzone; + } + } + + if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { + dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); + dragEvent.dropzone = dropState.cur.dropzone; + dragEvent.relatedTarget = dropState.cur.element; + } + + if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { + dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); + dropEvents.move.dragmove = dragEvent; + dragEvent.dropzone = dropState.cur.dropzone; + } + + return dropEvents; +} + +function fireDropEvents(interaction, events) { + var dropState = interaction.dropState; + var activeDrops = dropState.activeDrops, + cur = dropState.cur, + prev = dropState.prev; + + if (events.leave) { + prev.dropzone.fire(events.leave); + } + + if (events.move) { + cur.dropzone.fire(events.move); + } + + if (events.enter) { + cur.dropzone.fire(events.enter); + } + + if (events.drop) { + cur.dropzone.fire(events.drop); + } + + if (events.deactivate) { + fireActivationEvents(activeDrops, events.deactivate); + } + + dropState.prev.dropzone = cur.dropzone; + dropState.prev.element = cur.element; +} + +function onEventCreated(_ref15, scope) { + var interaction = _ref15.interaction, + iEvent = _ref15.iEvent, + event = _ref15.event; + + if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { + return; + } + + var dropState = interaction.dropState; + + if (scope.dynamicDrop) { + dropState.activeDrops = getActiveDrops(scope, interaction.element); + } + + var dragEvent = iEvent; + var dropResult = getDrop(interaction, dragEvent, event); // update rejected status + + dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; + dropState.cur.dropzone = dropResult && dropResult.dropzone; + dropState.cur.element = dropResult && dropResult.element; + dropState.events = getDropEvents(interaction, event, dragEvent); +} + +function dropzoneMethod(interactable, options) { + if (__utils_3.is.object(options)) { + interactable.options.drop.enabled = options.enabled !== false; + + if (options.listeners) { + var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' + + var corrected = Object.keys(normalized).reduce(function (acc, type) { + var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; + acc[correctedType] = normalized[type]; + return acc; + }, {}); + interactable.off(interactable.options.drop.listeners); + interactable.on(corrected); + interactable.options.drop.listeners = corrected; + } + + if (__utils_3.is.func(options.ondrop)) { + interactable.on('drop', options.ondrop); + } + + if (__utils_3.is.func(options.ondropactivate)) { + interactable.on('dropactivate', options.ondropactivate); + } + + if (__utils_3.is.func(options.ondropdeactivate)) { + interactable.on('dropdeactivate', options.ondropdeactivate); + } + + if (__utils_3.is.func(options.ondragenter)) { + interactable.on('dragenter', options.ondragenter); + } + + if (__utils_3.is.func(options.ondragleave)) { + interactable.on('dragleave', options.ondragleave); + } + + if (__utils_3.is.func(options.ondropmove)) { + interactable.on('dropmove', options.ondropmove); + } + + if (/^(pointer|center)$/.test(options.overlap)) { + interactable.options.drop.overlap = options.overlap; + } else if (__utils_3.is.number(options.overlap)) { + interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); + } + + if ('accept' in options) { + interactable.options.drop.accept = options.accept; + } + + if ('checker' in options) { + interactable.options.drop.checker = options.checker; + } + + return interactable; + } + + if (__utils_3.is.bool(options)) { + interactable.options.drop.enabled = options; + return interactable; + } + + return interactable.options.drop; +} + +function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { + var dropped = false; // if the dropzone has no rect (eg. display: none) + // call the custom dropChecker or just return false + + if (!(rect = rect || interactable.getRect(dropElement))) { + return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; + } + + var dropOverlap = interactable.options.drop.overlap; + + if (dropOverlap === 'pointer') { + var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); + var page = __utils_3.pointer.getPageXY(dragEvent); + page.x += origin.x; + page.y += origin.y; + var horizontal = page.x > rect.left && page.x < rect.right; + var vertical = page.y > rect.top && page.y < rect.bottom; + dropped = horizontal && vertical; + } + + var dragRect = draggable.getRect(draggableElement); + + if (dragRect && dropOverlap === 'center') { + var cx = dragRect.left + dragRect.width / 2; + var cy = dragRect.top + dragRect.height / 2; + dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; + } + + if (dragRect && __utils_3.is.number(dropOverlap)) { + 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)); + var overlapRatio = overlapArea / (dragRect.width * dragRect.height); + dropped = overlapRatio >= dropOverlap; + } + + if (interactable.options.drop.checker) { + dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); + } + + return dropped; +} + +var drop = { + id: 'actions/drop', + install: __install_3, + getActiveDrops: getActiveDrops, + getDrop: getDrop, + getDropEvents: getDropEvents, + fireDropEvents: fireDropEvents, + defaults: { + enabled: false, + accept: null, + overlap: 'pointer' + } +}; +var ___default_3 = drop; +_$drop_3["default"] = ___default_3; + +var _$gesture_4 = {}; +"use strict"; + +Object.defineProperty(_$gesture_4, "__esModule", { + value: true +}); +_$gesture_4["default"] = void 0; + +var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); + +var ___scope_4 = _$scope_24({}); + +var __utils_4 = ___interopRequireWildcard_4(_$utils_56); + +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 }; } + +___scope_4.ActionName.Gesture = 'gesture'; + +function __install_4(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + /** + * ```js + * interact(element).gesturable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // limit multiple gestures. + * // See the explanation in {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isGestureable = interact(element).gesturable() + * ``` + * + * Gets or sets whether multitouch gestures can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on gesture events (makes the Interactable gesturable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of gesture events, or this Interactable + */ + + Interactable.prototype.gesturable = function (options) { + if (__utils_4.is.object(options)) { + this.options.gesture.enabled = options.enabled !== false; + this.setPerAction('gesture', options); + this.setOnEvents('gesture', options); + return this; + } + + if (__utils_4.is.bool(options)) { + this.options.gesture.enabled = options; + return this; + } + + return this.options.gesture; + }; + + interactions.signals.on('action-start', updateGestureProps); + interactions.signals.on('action-move', updateGestureProps); + interactions.signals.on('action-end', updateGestureProps); + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.gesture = { + angle: 0, + distance: 0, + scale: 1, + startAngle: 0, + startDistance: 0 + }; + }); + actions[___scope_4.ActionName.Gesture] = gesture; + actions.names.push(___scope_4.ActionName.Gesture); + __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); + actions.methodDict.gesture = 'gesturable'; + defaults.actions.gesture = gesture.defaults; +} + +var gesture = { + id: 'actions/gesture', + install: __install_4, + defaults: {}, + checker: function checker(_pointer, _event, _interactable, _element, interaction) { + if (interaction.pointers.length >= 2) { + return { + name: 'gesture' + }; + } + + return null; + }, + getCursor: function getCursor() { + return ''; + } +}; + +function updateGestureProps(_ref2) { + var interaction = _ref2.interaction, + iEvent = _ref2.iEvent, + event = _ref2.event, + phase = _ref2.phase; + + if (interaction.prepared.name !== 'gesture') { + return; + } + + var pointers = interaction.pointers.map(function (p) { + return p.pointer; + }); + var starting = phase === 'start'; + var ending = phase === 'end'; + var deltaSource = interaction.interactable.options.deltaSource; + iEvent.touches = [pointers[0], pointers[1]]; + + if (starting) { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = 1; + iEvent.ds = 0; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.da = 0; + interaction.gesture.startDistance = iEvent.distance; + interaction.gesture.startAngle = iEvent.angle; + } else if (ending || event instanceof ___InteractEvent_4["default"]) { + var prevEvent = interaction.prevEvent; + iEvent.distance = prevEvent.distance; + iEvent.box = prevEvent.box; + iEvent.scale = prevEvent.scale; + iEvent.ds = 0; + iEvent.angle = prevEvent.angle; + iEvent.da = 0; + } else { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = iEvent.distance / interaction.gesture.startDistance; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.ds = iEvent.scale - interaction.gesture.scale; + iEvent.da = iEvent.angle - interaction.gesture.angle; + } + + interaction.gesture.distance = iEvent.distance; + interaction.gesture.angle = iEvent.angle; + + if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { + interaction.gesture.scale = iEvent.scale; + } +} + +var ___default_4 = gesture; +_$gesture_4["default"] = ___default_4; + +var _$resize_6 = {}; +"use strict"; + +Object.defineProperty(_$resize_6, "__esModule", { + value: true +}); +_$resize_6["default"] = void 0; + +var ___scope_6 = _$scope_24({}); + +var __arr_6 = ___interopRequireWildcard_6(_$arr_47); + +var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); + +var ___extend_6 = ___interopRequireDefault_6(_$extend_53); + +var __is_6 = ___interopRequireWildcard_6(_$is_57); + +function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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'; + +function __install_6(scope) { + var actions = scope.actions, + browser = scope.browser, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; // Less Precision with touch input + + interactions.signals.on('new', function (interaction) { + interaction.resizeAxes = 'xy'; + }); + 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); + resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; + /** + * ```js + * interact(element).resizable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * edges: { + * top : true, // Use pointer coords to check for resize. + * left : false, // Disable resizing from left edge. + * bottom: '.resize-s',// Resize if pointer target matches selector + * right : handleEl // Resize if pointer target is the given Element + * }, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height are adjusted at a 1:1 ratio. + * square: false, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height maintain the aspect ratio they had when resizing started. + * preserveAspectRatio: false, + * + * // a value of 'none' will limit the resize rect to a minimum of 0x0 + * // 'negate' will allow the rect to have negative width/height + * // 'reposition' will keep the width/height positive by swapping + * // the top and bottom edges and/or swapping the left and right edges + * invert: 'none' || 'negate' || 'reposition' + * + * // limit multiple resizes. + * // See the explanation in the {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isResizeable = interact(element).resizable() + * ``` + * + * Gets or sets whether resize actions can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on resize events (object makes the Interactable + * resizable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of resize elements, or this Interactable + */ + + Interactable.prototype.resizable = function (options) { + return resizable(this, options, scope); + }; + + actions[___scope_6.ActionName.Resize] = resize; + actions.names.push(___scope_6.ActionName.Resize); + __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); + actions.methodDict.resize = 'resizable'; + defaults.actions.resize = resize.defaults; +} + +var resize = { + id: 'actions/resize', + install: __install_6, + defaults: { + square: false, + preserveAspectRatio: false, + axis: 'xy', + // use default margin + margin: NaN, + // object with props left, right, top, bottom which are + // true/false values to resize when the pointer is over that edge, + // CSS selectors to match the handles for each direction + // or the Elements for each handle + edges: null, + // a value of 'none' will limit the resize rect to a minimum of 0x0 + // 'negate' will alow the rect to have negative width/height + // 'reposition' will keep the width/height positive by swapping + // the top and bottom edges and/or swapping the left and right edges + invert: 'none' + }, + checker: function checker(_pointer, _event, interactable, element, interaction, rect) { + if (!rect) { + return null; + } + + var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); + var options = interactable.options; + + if (options.resize.enabled) { + var resizeOptions = options.resize; + var resizeEdges = { + left: false, + right: false, + top: false, + bottom: false + }; // if using resize.edges + + if (__is_6.object(resizeOptions.edges)) { + for (var edge in resizeEdges) { + resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); + } + + resizeEdges.left = resizeEdges.left && !resizeEdges.right; + resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; + + if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { + return { + name: 'resize', + edges: resizeEdges + }; + } + } else { + var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; + var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; + + if (right || bottom) { + return { + name: 'resize', + axes: (right ? 'x' : '') + (bottom ? 'y' : '') + }; + } + } + } + + return null; + }, + cursors: null, + getCursor: function getCursor(_ref) { + var edges = _ref.edges, + axis = _ref.axis, + name = _ref.name; + var cursors = resize.cursors; + var result = null; + + if (axis) { + result = cursors[name + axis]; + } else if (edges) { + var cursorKey = ''; + var _arr = ['top', 'bottom', 'left', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (edges[edge]) { + cursorKey += edge; + } + } + + result = cursors[cursorKey]; + } + + return result; + }, + defaultMargin: null +}; + +function resizable(interactable, options, scope) { + if (__is_6.object(options)) { + interactable.options.resize.enabled = options.enabled !== false; + interactable.setPerAction('resize', options); + interactable.setOnEvents('resize', options); + + if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { + interactable.options.resize.axis = options.axis; + } else if (options.axis === null) { + interactable.options.resize.axis = scope.defaults.actions.resize.axis; + } + + if (__is_6.bool(options.preserveAspectRatio)) { + interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; + } else if (__is_6.bool(options.square)) { + interactable.options.resize.square = options.square; + } + + return interactable; + } + + if (__is_6.bool(options)) { + interactable.options.resize.enabled = options; + return interactable; + } + + return interactable.options.resize; +} + +function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { + // false, '', undefined, null + if (!value) { + return false; + } // true value, use pointer coords and element rect + + + if (value === true) { + // if dimensions are negative, "switch" edges + var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; + var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension + + margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); + + if (width < 0) { + if (name === 'left') { + name = 'right'; + } else if (name === 'right') { + name = 'left'; + } + } + + if (height < 0) { + if (name === 'top') { + name = 'bottom'; + } else if (name === 'bottom') { + name = 'top'; + } + } + + if (name === 'left') { + return page.x < (width >= 0 ? rect.left : rect.right) + margin; + } + + if (name === 'top') { + return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; + } + + if (name === 'right') { + return page.x > (width >= 0 ? rect.right : rect.left) - margin; + } + + if (name === 'bottom') { + return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; + } + } // the remaining checks require an element + + + if (!__is_6.element(element)) { + return false; + } + + return __is_6.element(value) // the value is an element to use as a resize handle + ? value === element // otherwise check if element matches value as selector + : __dom_6.matchesUpTo(element, value, interactableElement); +} + +function initCursors(browser) { + return browser.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 start(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + 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 + * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make + * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend + * on the active edges and the edge being interacted with. + */ + + if (resizeOptions.square || resizeOptions.preserveAspectRatio) { + var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); + linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; + linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; + linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; + linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; + interaction.prepared._linkedEdges = linkedEdges; + } else { + interaction.prepared._linkedEdges = null; + } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize + + + if (resizeOptions.preserveAspectRatio) { + interaction.resizeStartAspectRatio = startRect.width / startRect.height; + } + + interaction.resizeRects = { + start: 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: { + left: 0, + right: 0, + width: 0, + top: 0, + bottom: 0, + height: 0 + } + }; + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function __move_6(_ref3) { + var iEvent = _ref3.iEvent, + interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + var resizeOptions = interaction.interactable.options.resize; + var invert = resizeOptions.invert; + var invertible = invert === 'reposition' || invert === 'negate'; + var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow + + var start = interaction.resizeRects.start; + var current = interaction.resizeRects.current; + var inverted = interaction.resizeRects.inverted; + var deltaRect = interaction.resizeRects.delta; + var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); + var originalEdges = edges; + var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); + + if (resizeOptions.preserveAspectRatio || resizeOptions.square) { + // `resize.preserveAspectRatio` takes precedence over `resize.square` + var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; + edges = interaction.prepared._linkedEdges; + + if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { + eventDelta.y = -eventDelta.x / startAspectRatio; + } else if (originalEdges.left || originalEdges.right) { + eventDelta.y = eventDelta.x / startAspectRatio; + } else if (originalEdges.top || originalEdges.bottom) { + eventDelta.x = eventDelta.y * startAspectRatio; + } + } // update the 'current' rect without modifications + + + if (edges.top) { + current.top += eventDelta.y; + } + + if (edges.bottom) { + current.bottom += eventDelta.y; + } + + if (edges.left) { + current.left += eventDelta.x; + } + + if (edges.right) { + current.right += eventDelta.x; + } + + if (invertible) { + // if invertible, copy the current rect + (0, ___extend_6["default"])(inverted, current); + + if (invert === 'reposition') { + // swap edge values if necessary to keep width/height positive + var swap; + + if (inverted.top > inverted.bottom) { + swap = inverted.top; + inverted.top = inverted.bottom; + inverted.bottom = swap; + } + + if (inverted.left > inverted.right) { + swap = inverted.left; + inverted.left = inverted.right; + inverted.right = swap; + } + } + } else { + // if not invertible, restrict to minimum of 0x0 rect + inverted.top = Math.min(current.top, start.bottom); + inverted.bottom = Math.max(current.bottom, start.top); + inverted.left = Math.min(current.left, start.right); + inverted.right = Math.max(current.right, start.left); + } + + inverted.width = inverted.right - inverted.left; + inverted.height = inverted.bottom - inverted.top; + + for (var edge in inverted) { + deltaRect[edge] = inverted[edge] - previous[edge]; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = inverted; + iEvent.deltaRect = deltaRect; +} + +function end(_ref4) { + var iEvent = _ref4.iEvent, + interaction = _ref4.interaction; + + 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; + } + + var options = interaction.interactable.options; + + if (options.resize.square) { + if (interaction.resizeAxes === 'y') { + iEvent.delta.x = iEvent.delta.y; + } else { + iEvent.delta.y = iEvent.delta.x; + } + + iEvent.axes = 'xy'; + } else { + iEvent.axes = interaction.resizeAxes; + + if (interaction.resizeAxes === 'x') { + iEvent.delta.y = 0; + } else if (interaction.resizeAxes === 'y') { + iEvent.delta.x = 0; + } + } +} + +var ___default_6 = resize; +_$resize_6["default"] = ___default_6; + +var _$actions_5 = {}; +"use strict"; + +Object.defineProperty(_$actions_5, "__esModule", { + value: true +}); +_$actions_5.install = __install_5; +Object.defineProperty(_$actions_5, "drag", { + enumerable: true, + get: function get() { + return ___drag_5["default"]; + } +}); +Object.defineProperty(_$actions_5, "drop", { + enumerable: true, + get: function get() { + return _drop["default"]; + } +}); +Object.defineProperty(_$actions_5, "gesture", { + enumerable: true, + get: function get() { + return _gesture["default"]; + } +}); +Object.defineProperty(_$actions_5, "resize", { + enumerable: true, + get: function get() { + return _resize["default"]; + } +}); +_$actions_5.id = void 0; + +var ___drag_5 = ___interopRequireDefault_5(_$drag_1); + +var _drop = ___interopRequireDefault_5(_$drop_3); + +var _gesture = ___interopRequireDefault_5(_$gesture_4); + +var _resize = ___interopRequireDefault_5(_$resize_6); + +function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_5(scope) { + scope.usePlugin(_gesture["default"]); + scope.usePlugin(_resize["default"]); + scope.usePlugin(___drag_5["default"]); + scope.usePlugin(_drop["default"]); +} + +var id = 'actions'; +_$actions_5.id = id; + +var _$autoScroll_7 = {}; +"use strict"; + +Object.defineProperty(_$autoScroll_7, "__esModule", { + value: true +}); +_$autoScroll_7.getContainer = getContainer; +_$autoScroll_7.getScroll = getScroll; +_$autoScroll_7.getScrollSize = getScrollSize; +_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; +_$autoScroll_7["default"] = void 0; + +var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); + +var __is_7 = ___interopRequireWildcard_7(_$is_57); + +var ___raf_7 = ___interopRequireDefault_7(_$raf_62); + +/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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, + defaults = scope.defaults, + actions = scope.actions; + scope.autoScroll = autoScroll; + + autoScroll.now = function () { + return scope.now(); + }; + + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.autoScroll = null; + }); + interactions.signals.on('destroy', function (_ref2) { + var interaction = _ref2.interaction; + interaction.autoScroll = null; + autoScroll.stop(); + + if (autoScroll.interaction) { + autoScroll.interaction = null; + } + }); + interactions.signals.on('stop', autoScroll.stop); + interactions.signals.on('action-move', function (arg) { + return autoScroll.onInteractionMove(arg); + }); + actions.eventTypes.push('autoscroll'); + defaults.perAction.autoScroll = autoScroll.defaults; +} + +var autoScroll = { + defaults: { + enabled: false, + margin: 60, + // the item that is scrolled (Window or HTMLElement) + container: null, + // the scroll speed in pixels per second + speed: 300 + }, + now: Date.now, + interaction: null, + i: null, + x: 0, + y: 0, + isScrolling: false, + prevTime: 0, + margin: 0, + speed: 0, + start: function start(interaction) { + autoScroll.isScrolling = true; + + ___raf_7["default"].cancel(autoScroll.i); + + interaction.autoScroll = autoScroll; + autoScroll.interaction = interaction; + autoScroll.prevTime = autoScroll.now(); + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + }, + stop: function stop() { + autoScroll.isScrolling = false; + + if (autoScroll.interaction) { + autoScroll.interaction.autoScroll = null; + } + + ___raf_7["default"].cancel(autoScroll.i); + }, + // scroll the window by the values in scroll.x/y + scroll: function scroll() { + var interaction = autoScroll.interaction; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + var now = autoScroll.now(); // change in time in seconds + + var dt = (now - autoScroll.prevTime) / 1000; // displacement + + var s = options.speed * dt; + + if (s >= 1) { + var scrollBy = { + x: autoScroll.x * s, + y: autoScroll.y * s + }; + + if (scrollBy.x || scrollBy.y) { + var prevScroll = getScroll(container); + + if (__is_7.window(container)) { + container.scrollBy(scrollBy.x, scrollBy.y); + } else if (container) { + container.scrollLeft += scrollBy.x; + container.scrollTop += scrollBy.y; + } + + var curScroll = getScroll(container); + var delta = { + x: curScroll.x - prevScroll.x, + y: curScroll.y - prevScroll.y + }; + + if (delta.x || delta.y) { + interactable.fire({ + type: 'autoscroll', + target: element, + interactable: interactable, + delta: delta, + interaction: interaction, + container: container + }); + } + } + + autoScroll.prevTime = now; + } + + if (autoScroll.isScrolling) { + ___raf_7["default"].cancel(autoScroll.i); + + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + } + }, + check: function check(interactable, actionName) { + var options = interactable.options; + return options[actionName].autoScroll && options[actionName].autoScroll.enabled; + }, + onInteractionMove: function onInteractionMove(_ref3) { + var interaction = _ref3.interaction, + pointer = _ref3.pointer; + + if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { + return; + } + + if (interaction.simulation) { + autoScroll.x = autoScroll.y = 0; + return; + } + + var top; + var right; + var bottom; + var left; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + + if (__is_7.window(container)) { + left = pointer.clientX < autoScroll.margin; + top = pointer.clientY < autoScroll.margin; + right = pointer.clientX > container.innerWidth - autoScroll.margin; + bottom = pointer.clientY > container.innerHeight - autoScroll.margin; + } else { + var rect = __domUtils_7.getElementClientRect(container); + left = pointer.clientX < rect.left + autoScroll.margin; + top = pointer.clientY < rect.top + autoScroll.margin; + right = pointer.clientX > rect.right - autoScroll.margin; + bottom = pointer.clientY > rect.bottom - autoScroll.margin; + } + + autoScroll.x = right ? 1 : left ? -1 : 0; + autoScroll.y = bottom ? 1 : top ? -1 : 0; + + if (!autoScroll.isScrolling) { + // set the autoScroll properties to those of the target + autoScroll.margin = options.margin; + autoScroll.speed = options.speed; + autoScroll.start(interaction); + } + } +}; + +function getContainer(value, interactable, element) { + return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); +} + +function getScroll(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollLeft, + y: container.scrollTop + }; +} + +function getScrollSize(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollWidth, + y: container.scrollHeight + }; +} + +function getScrollSizeDelta(_ref4, func) { + var interaction = _ref4.interaction, + element = _ref4.element; + var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; + + if (!scrollOptions || !scrollOptions.enabled) { + func(); + return { + x: 0, + y: 0 + }; + } + + var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); + var prevSize = getScroll(scrollContainer); + func(); + var curSize = getScroll(scrollContainer); + return { + x: curSize.x - prevSize.x, + y: curSize.y - prevSize.y + }; +} + +var ___default_7 = { + id: 'auto-scroll', + install: __install_7 +}; +_$autoScroll_7["default"] = ___default_7; + +var _$InteractableMethods_8 = {}; +"use strict"; + +Object.defineProperty(_$InteractableMethods_8, "__esModule", { + value: true +}); +_$InteractableMethods_8["default"] = void 0; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +var __is_8 = ___interopRequireWildcard_8(_$is_57); + +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, + actions = scope.actions; + Interactable.prototype.getAction = getAction; + /** + * ```js + * interact(element, { ignoreFrom: document.getElementById('no-action') }) + * // or + * interact(element).ignoreFrom('input, textarea, a') + * ``` + * @deprecated + * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any + * of it's parents match the given CSS selector or Element, no + * drag/resize/gesture is started. + * + * Don't use this method. Instead set the `ignoreFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .draggable({ + * ignoreFrom: 'input, textarea, a[href]'', + * }) + * .pointerEvents({ + * ignoreFrom: '[no-pointer]', + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to not ignore any elements + * @return {string | Element | object} The current ignoreFrom value or this + * Interactable + */ + + Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('ignoreFrom', newValue); + }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); + /** + * @deprecated + * + * A drag/resize/gesture is started only If the target of the `mousedown`, + * `pointerdown` or `touchstart` event or any of it's parents match the given + * CSS selector or Element. + * + * Don't use this method. Instead set the `allowFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .resizable({ + * allowFrom: '.resize-handle', + * .pointerEvents({ + * allowFrom: '.handle',, + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to allow from any element + * @return {string | Element | object} The current allowFrom value or this + * Interactable + */ + + Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('allowFrom', newValue); + }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); + /** + * ```js + * interact('.resize-drag') + * .resizable(true) + * .draggable(true) + * .actionChecker(function (pointer, event, action, interactable, element, interaction) { + * + * if (interact.matchesSelector(event.target, '.drag-handle')) { + * // force drag with handle target + * action.name = drag + * } + * else { + * // resize from the top and right edges + * action.name = 'resize' + * action.edges = { top: true, right: true } + * } + * + * return action + * }) + * ``` + * + * Returns or sets the function used to check action to be performed on + * pointerDown + * + * @param {function | null} [checker] A function which takes a pointer event, + * defaultAction string, interactable, element and interaction as parameters + * and returns an object with name property 'drag' 'resize' or 'gesture' and + * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right + * props. + * @return {Function | Interactable} The checker function or this Interactable + */ + + Interactable.prototype.actionChecker = actionChecker; + /** + * Returns or sets whether the the cursor should be changed depending on the + * action that would be performed if the mouse were pressed and dragged. + * + * @param {boolean} [newValue] + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.styleCursor = styleCursor; + + Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { + return defaultActionChecker(this, pointer, event, interaction, element, actions); + }; +} + +function getAction(pointer, event, interaction, element) { + var action = this.defaultActionChecker(pointer, event, interaction, element); + + if (this.options.actionChecker) { + return this.options.actionChecker(pointer, event, action, this, element, interaction); + } + + return action; +} + +function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { + var rect = interactable.getRect(element); + var buttons = event.buttons || { + 0: 1, + 1: 4, + 3: 8, + 4: 16 + }[event.button]; + var action = null; + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + + // check mouseButton setting if the pointer is down + if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { + continue; + } + + action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); + + if (action) { + return action; + } + } +} + +function styleCursor(newValue) { + if (__is_8.bool(newValue)) { + this.options.styleCursor = newValue; + return this; + } + + if (newValue === null) { + delete this.options.styleCursor; + return this; + } + + return this.options.styleCursor; +} + +function actionChecker(checker) { + if (__is_8.func(checker)) { + this.options.actionChecker = checker; + return this; + } + + if (checker === null) { + delete this.options.actionChecker; + return this; + } + + return this.options.actionChecker; +} + +var ___default_8 = { + id: 'auto-start/interactableMethods', + install: __install_8 +}; +_$InteractableMethods_8["default"] = ___default_8; + +var _$base_9 = {}; +"use strict"; + +Object.defineProperty(_$base_9, "__esModule", { + value: true +}); +_$base_9["default"] = void 0; + +var __utils_9 = ___interopRequireWildcard_9(_$utils_56); + +var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); + +function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown + + interactions.signals.on('down', function (_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget; + + if (interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); // set cursor style on mousemove + + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + pointer = _ref2.pointer, + event = _ref2.event, + eventTarget = _ref2.eventTarget; + + if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); + interactions.signals.on('move', function (arg) { + var interaction = arg.interaction; + + if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { + return; + } + + scope.autoStart.signals.fire('before-start', arg); + var interactable = interaction.interactable; + + if (interaction.prepared.name && interactable) { + // check manualStart and interaction limit + if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { + interaction.stop(); + } else { + interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); + } + } + }); + interactions.signals.on('stop', function (_ref3) { + var interaction = _ref3.interaction; + var interactable = interaction.interactable; + + if (interactable && interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + }); + defaults.base.actionChecker = null; + defaults.base.styleCursor = true; + __utils_9.extend(defaults.perAction, { + manualStart: false, + max: Infinity, + maxPerElement: 1, + allowFrom: null, + ignoreFrom: null, + // only allow left button by default + // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value + mouseButtons: 1 + }); + /** + * Returns or sets the maximum number of concurrent interactions allowed. By + * default only 1 interaction is allowed at a time (for backwards + * compatibility). To allow multiple interactions on the same Interactables and + * elements, you need to enable it in the draggable, resizable and gesturable + * `'max'` and `'maxPerElement'` options. + * + * @alias module:interact.maxInteractions + * + * @param {number} [newValue] Any number. newValue <= 0 means no interactions. + */ + + interact.maxInteractions = function (newValue) { + return maxInteractions(newValue, scope); + }; + + scope.autoStart = { + // Allow this many interactions to happen simultaneously + maxInteractions: Infinity, + withinInteractionLimit: withinInteractionLimit, + cursorElement: null, + signals: new __utils_9.Signals() + }; +} // Check if the current interactable supports the action. +// If so, return the validated action. Otherwise, return null + + +function validateAction(action, interactable, element, eventTarget, scope) { + if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { + return action; + } + + return null; +} + +function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { + for (var i = 0, len = matches.length; i < len; i++) { + var match = matches[i]; + var matchElement = matchElements[i]; + var matchAction = match.getAction(pointer, event, interaction, matchElement); + + if (!matchAction) { + continue; + } + + var action = validateAction(matchAction, match, matchElement, eventTarget, scope); + + if (action) { + return { + action: action, + interactable: match, + element: matchElement + }; + } + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function getActionInfo(interaction, pointer, event, eventTarget, scope) { + var matches = []; + var matchElements = []; + var element = eventTarget; + + function pushMatches(interactable) { + matches.push(interactable); + matchElements.push(element); + } + + while (__utils_9.is.element(element)) { + matches = []; + matchElements = []; + scope.interactables.forEachMatch(element, pushMatches); + var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); + + if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { + return actionInfo; + } + + element = __utils_9.dom.parentNode(element); + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function prepare(interaction, _ref4, scope) { + var action = _ref4.action, + interactable = _ref4.interactable, + element = _ref4.element; + action = action || { + name: null + }; // clear previous target element cursor + + if (interaction.interactable && interaction.interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + + interaction.interactable = interactable; + interaction.element = element; + __utils_9.copyAction(interaction.prepared, action); + interaction.rect = interactable && action.name ? interactable.getRect(element) : null; + setInteractionCursor(interaction, scope); + scope.autoStart.signals.fire('prepared', { + interaction: interaction + }); +} + +function withinInteractionLimit(interactable, element, action, scope) { + var options = interactable.options; + var maxActions = options[action.name].max; + var maxPerElement = options[action.name].maxPerElement; + var autoStartMax = scope.autoStart.maxInteractions; + var activeInteractions = 0; + var interactableCount = 0; + var elementCount = 0; // no actions if any of these values == 0 + + if (!(maxActions && maxPerElement && autoStartMax)) { + return false; + } + + for (var _i = 0; _i < scope.interactions.list.length; _i++) { + var _ref5; + + _ref5 = scope.interactions.list[_i]; + var interaction = _ref5; + var otherAction = interaction.prepared.name; + + if (!interaction.interacting()) { + continue; + } + + activeInteractions++; + + if (activeInteractions >= autoStartMax) { + return false; + } + + if (interaction.interactable !== interactable) { + continue; + } + + interactableCount += otherAction === action.name ? 1 : 0; + + if (interactableCount >= maxActions) { + return false; + } + + if (interaction.element === element) { + elementCount++; + + if (otherAction === action.name && elementCount >= maxPerElement) { + return false; + } + } + } + + return autoStartMax > 0; +} + +function maxInteractions(newValue, scope) { + if (__utils_9.is.number(newValue)) { + scope.autoStart.maxInteractions = newValue; + return this; + } + + return scope.autoStart.maxInteractions; +} + +function setCursor(element, cursor, scope) { + if (scope.autoStart.cursorElement) { + scope.autoStart.cursorElement.style.cursor = ''; + } + + element.ownerDocument.documentElement.style.cursor = cursor; + element.style.cursor = cursor; + 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, + maxInteractions: maxInteractions, + withinInteractionLimit: withinInteractionLimit, + validateAction: validateAction +}; +_$base_9["default"] = ___default_9; + +var _$dragAxis_10 = {}; +"use strict"; + +Object.defineProperty(_$dragAxis_10, "__esModule", { + value: true +}); +_$dragAxis_10["default"] = void 0; + +var ___scope_10 = _$scope_24({}); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var __is_10 = ___interopRequireWildcard_10(_$is_57); + +var _base = ___interopRequireDefault_10(_$base_9); + +function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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) { + var interaction = _ref.interaction, + eventTarget = _ref.eventTarget, + dx = _ref.dx, + dy = _ref.dy; + + if (interaction.prepared.name !== 'drag') { + return; + } // check if a drag is in the correct axis + + + var absX = Math.abs(dx); + var absY = Math.abs(dy); + var targetOptions = interaction.interactable.options.drag; + var startAxis = targetOptions.startAxis; + var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; + interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' + : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable + + if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { + // cancel the prepared action + interaction.prepared.name = null; // then try to get a drag from another ineractable + + var element = eventTarget; + + var getDraggable = function getDraggable(interactable) { + if (interactable === interaction.interactable) { + return; + } + + var options = interaction.interactable.options.drag; + + if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { + var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); + + if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { + return interactable; + } + } + }; // check all interactables + + + while (__is_10.element(element)) { + var interactable = scope.interactables.forEachMatch(element, getDraggable); + + if (interactable) { + interaction.prepared.name = ___scope_10.ActionName.Drag; + interaction.interactable = interactable; + interaction.element = element; + break; + } + + element = (0, _$domUtils_51.parentNode)(element); + } + } + }); + + function checkStartAxis(startAxis, interactable) { + if (!interactable) { + return false; + } + + var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; + return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; + } +} + +var ___default_10 = { + id: 'auto-start/dragAxis', + install: __install_10 +}; +_$dragAxis_10["default"] = ___default_10; + +var _$hold_11 = {}; +"use strict"; + +Object.defineProperty(_$hold_11, "__esModule", { + value: true +}); +_$hold_11["default"] = void 0; + +var ___base_11 = ___interopRequireDefault_11(_$base_9); + +function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_11(scope) { + var autoStart = scope.autoStart, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(___base_11["default"]); + defaults.perAction.hold = 0; + defaults.perAction.delay = 0; + interactions.signals.on('new', function (interaction) { + interaction.autoStartHoldTimer = null; + }); + autoStart.signals.on('prepared', function (_ref) { + var interaction = _ref.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.autoStartHoldTimer = setTimeout(function () { + interaction.start(interaction.prepared, interaction.interactable, interaction.element); + }, hold); + } + }); + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + duplicate = _ref2.duplicate; + + if (interaction.pointerWasMoved && !duplicate) { + clearTimeout(interaction.autoStartHoldTimer); + } + }); // prevent regular down->move autoStart + + autoStart.signals.on('before-start', function (_ref3) { + var interaction = _ref3.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.prepared.name = null; + } + }); +} + +function getHoldDuration(interaction) { + var actionName = interaction.prepared && interaction.prepared.name; + + if (!actionName) { + return null; + } + + var options = interaction.interactable.options; + return options[actionName].hold || options[actionName].delay; +} + +var ___default_11 = { + id: 'auto-start/hold', + install: __install_11, + getHoldDuration: getHoldDuration +}; +_$hold_11["default"] = ___default_11; + +var _$autoStart_12 = {}; +"use strict"; + +Object.defineProperty(_$autoStart_12, "__esModule", { + value: true +}); +_$autoStart_12.install = __install_12; +Object.defineProperty(_$autoStart_12, "autoStart", { + enumerable: true, + get: function get() { + return ___base_12["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "dragAxis", { + enumerable: true, + get: function get() { + return _dragAxis["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "hold", { + enumerable: true, + get: function get() { + return _hold["default"]; + } +}); +_$autoStart_12.id = void 0; + +var ___base_12 = ___interopRequireDefault_12(_$base_9); + +var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); + +var _hold = ___interopRequireDefault_12(_$hold_11); + +function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_12(scope) { + scope.usePlugin(___base_12["default"]); + scope.usePlugin(_hold["default"]); + scope.usePlugin(_dragAxis["default"]); +} + +var __id_12 = 'auto-start'; +_$autoStart_12.id = __id_12; + +var _$interactablePreventDefault_21 = {}; +"use strict"; + +Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { + value: true +}); +_$interactablePreventDefault_21.install = __install_21; +_$interactablePreventDefault_21["default"] = void 0; + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_21 = ___interopRequireDefault_21(_$events_52); + +var __is_21 = ___interopRequireWildcard_21(_$is_57); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +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 }; } + +function preventDefault(newValue) { + if (/^(always|never|auto)$/.test(newValue)) { + this.options.preventDefault = newValue; + return this; + } + + if (__is_21.bool(newValue)) { + this.options.preventDefault = newValue ? 'always' : 'never'; + return this; + } + + return this.options.preventDefault; +} + +function checkAndPreventDefault(interactable, scope, event) { + var setting = interactable.options.preventDefault; + + if (setting === 'never') { + return; + } + + if (setting === 'always') { + event.preventDefault(); + return; + } // setting === 'auto' + // if the browser supports passive event listeners and isn't running on iOS, + // don't preventDefault of touch{start,move} events. CSS touch-action and + // user-select should be used instead of calling event.preventDefault(). + + + if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { + var doc = (0, _$window_66.getWindow)(event.target).document; + var docOptions = scope.getDocOptions(doc); + + if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { + return; + } + } // don't preventDefault of pointerdown events + + + if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { + return; + } // don't preventDefault on editable elements + + + if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { + return; + } + + event.preventDefault(); +} + +function onInteractionEvent(_ref) { + var interaction = _ref.interaction, + event = _ref.event; + + if (interaction.interactable) { + interaction.interactable.checkAndPreventDefault(event); + } +} + +function __install_21(scope) { + /** @lends Interactable */ + var Interactable = scope.Interactable; + /** + * Returns or sets whether to prevent the browser's default behaviour in + * response to pointer events. Can be set to: + * - `'always'` to always prevent + * - `'never'` to never prevent + * - `'auto'` to let interact.js try to determine what would be best + * + * @param {string} [newValue] `'always'`, `'never'` or `'auto'` + * @return {string | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.preventDefault = preventDefault; + + Interactable.prototype.checkAndPreventDefault = function (event) { + return checkAndPreventDefault(this, scope, event); + }; + + var _arr = ['down', 'move', 'up', 'cancel']; + + for (var _i = 0; _i < _arr.length; _i++) { + var eventSignal = _arr[_i]; + scope.interactions.signals.on(eventSignal, onInteractionEvent); + } // prevent native HTML5 drag on interact.js target elements + + + scope.interactions.docEvents.push({ + type: 'dragstart', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + + if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { + interaction.interactable.checkAndPreventDefault(event); + return; + } + } + } + }); +} + +var ___default_21 = { + id: 'core/interactablePreventDefault', + install: __install_21 +}; +_$interactablePreventDefault_21["default"] = ___default_21; + +var _$devTools_25 = {}; +"use strict"; + +Object.defineProperty(_$devTools_25, "__esModule", { + value: true +}); +_$devTools_25["default"] = void 0; + +var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___extend_25 = ___interopRequireDefault_25(_$extend_53); + +var __is_25 = ___interopRequireWildcard_25(_$is_57); + +var ___window_25 = ___interopRequireDefault_25(_$window_66); + +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 }; } + +function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } + +function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___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; } } + +var CheckName; + +(function (CheckName) { + CheckName["touchAction"] = ""; + CheckName["boxSizing"] = ""; + CheckName["noListeners"] = ""; +})(CheckName || (CheckName = {})); + +var prefix = '[interact.js] '; +var links = { + touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', + boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' +}; +var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax + +function __install_25(scope) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + logger = _ref.logger; + + var interactions = scope.interactions, + Interactable = scope.Interactable, + defaults = scope.defaults; + logger = logger || console; + interactions.signals.on('action-start', function (_ref2) { + var interaction = _ref2.interaction; + + for (var _i = 0; _i < checks.length; _i++) { + var _ref3; + + _ref3 = checks[_i]; + var check = _ref3; + var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; + + if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { + var _logger; + + (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); + } + } + }); + defaults.base.devTools = { + ignore: {} + }; + + Interactable.prototype.devTools = function (options) { + if (options) { + (0, ___extend_25["default"])(this.options.devTools, options); + return this; + } + + return this.options.devTools; + }; +} + +var checks = [{ + name: 'touchAction', + perform: function perform(_ref4) { + var element = _ref4.element; + return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); + }, + getInfo: function getInfo(_ref5) { + var element = _ref5.element; + return [element, links.touchAction]; + }, + text: 'Consider adding CSS "touch-action: none" to this element\n' +}, { + name: 'boxSizing', + perform: function perform(interaction) { + var element = interaction.element; + return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); + }, + text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', + getInfo: function getInfo(_ref6) { + var element = _ref6.element; + return [element, links.boxSizing]; + } +}, { + name: 'noListeners', + perform: function perform(interaction) { + var actionName = interaction.prepared.name; + var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; + return !moveListeners.length; + }, + getInfo: function getInfo(interaction) { + return [interaction.prepared.name, interaction.interactable]; + }, + text: 'There are no listeners set for this action' +}]; + +function hasStyle(element, prop, styleRe) { + return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); +} + +function parentHasStyle(element, prop, styleRe) { + var parent = element; + + while (__is_25.element(parent)) { + if (hasStyle(parent, prop, styleRe)) { + return true; + } + + parent = (0, _$domUtils_51.parentNode)(parent); + } + + return false; +} + +var __id_25 = 'dev-tools'; +var defaultExport = isProduction ? { + id: __id_25, + install: function install() {} +} : { + id: __id_25, + install: __install_25, + checks: checks, + CheckName: CheckName, + links: links, + prefix: prefix +}; +var ___default_25 = defaultExport; +_$devTools_25["default"] = ___default_25; + +var _$base_30 = {}; +"use strict"; + +Object.defineProperty(_$base_30, "__esModule", { + value: true +}); +_$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; + +var ___extend_30 = ___interopRequireDefault_30(_$extend_53); + +function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } + +function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function __install_30(scope) { + var interactions = scope.interactions; + scope.defaults.perAction.modifiers = []; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.modifiers = { + startOffset: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + offsets: {}, + states: null, + result: null, + endPrevented: false, + startDelta: null + }; + }); + interactions.signals.on('before-action-start', function (arg) { + __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, arg.interaction.modifiers.result.coords); + __beforeMove_30(arg); + }); + interactions.signals.on('after-action-move', restoreCoords); + interactions.signals.on('before-action-move', __beforeMove_30); + interactions.signals.on('before-action-start', setCoords); + interactions.signals.on('after-action-start', restoreCoords); + interactions.signals.on('before-action-end', beforeEnd); + interactions.signals.on('stop', stop); +} + +function __start_30(_ref2, pageCoords, prevCoords) { + var interaction = _ref2.interaction, + phase = _ref2.phase; + var interactable = interaction.interactable, + element = interaction.element; + var modifierList = getModifierList(interaction); + var states = prepareStates(modifierList); + var rect = (0, ___extend_30["default"])({}, interaction.rect); + + if (!('width' in rect)) { + rect.width = rect.right - rect.left; + } + + if (!('height' in rect)) { + rect.height = rect.bottom - rect.top; + } + + var startOffset = getRectOffset(rect, pageCoords); + interaction.modifiers.startOffset = startOffset; + interaction.modifiers.startDelta = { + x: 0, + y: 0 + }; + var arg = { + interaction: interaction, + interactable: interactable, + element: element, + pageCoords: pageCoords, + phase: phase, + rect: rect, + startOffset: startOffset, + states: states, + preEnd: 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); + var result = interaction.modifiers.result = setAll(arg); + return result; +} + +function startAll(arg) { + var states = arg.states; + + for (var _i = 0; _i < states.length; _i++) { + var _ref3; + + _ref3 = states[_i]; + var state = _ref3; + + if (state.methods.start) { + arg.state = state; + state.methods.start(arg); + } + } +} + +function setAll(arg) { + var prevCoords = arg.prevCoords, + phase = arg.phase, + preEnd = arg.preEnd, + requireEndOnly = arg.requireEndOnly, + rect = arg.rect, + states = arg.states; + arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); + arg.rect = (0, ___extend_30["default"])({}, rect); + var result = { + delta: { + x: 0, + y: 0 + }, + rectDelta: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + coords: arg.coords, + changed: true + }; + + for (var _i2 = 0; _i2 < states.length; _i2++) { + var _ref4; + + _ref4 = states[_i2]; + var state = _ref4; + var options = state.options; + + if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { + continue; + } + + arg.state = state; + state.methods.set(arg); + } + + result.delta.x = arg.coords.x - arg.pageCoords.x; + result.delta.y = arg.coords.y - arg.pageCoords.y; + var rectChanged = false; + + if (rect) { + result.rectDelta.left = arg.rect.left - rect.left; + result.rectDelta.right = arg.rect.right - rect.right; + result.rectDelta.top = arg.rect.top - rect.top; + result.rectDelta.bottom = arg.rect.bottom - rect.bottom; + rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; + } + + result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; + return result; +} + +function __beforeMove_30(arg) { + var interaction = arg.interaction, + phase = arg.phase, + preEnd = arg.preEnd, + 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: arg.modifiedCoords || interaction.coords.cur.page, + prevCoords: prevCoords, + rect: interaction.rect, + 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 + + if (!modifierResult.changed && interaction.interacting()) { + 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); +} + +function beforeEnd(arg) { + var interaction = arg.interaction, + event = arg.event, + noPreEnd = arg.noPreEnd; + var states = interaction.modifiers.states; + + if (noPreEnd || !states || !states.length) { + return; + } + + var didPreEnd = false; + + for (var _i3 = 0; _i3 < states.length; _i3++) { + var _ref5; + + _ref5 = states[_i3]; + var state = _ref5; + arg.state = state; + var options = state.options, + methods = state.methods; + var endResult = methods.beforeEnd && methods.beforeEnd(arg); + + if (endResult === false) { + interaction.modifiers.endPrevented = true; + return false; + } // if the endOnly option is true for any modifier + + + if (!didPreEnd && shouldDo(options, true, true)) { + // fire a move event at the modified coordinates + interaction.move({ + event: event, + preEnd: true + }); + didPreEnd = true; + } + } +} + +function stop(arg) { + var interaction = arg.interaction; + var states = interaction.modifiers.states; + + if (!states || !states.length) { + return; + } + + var modifierArg = (0, ___extend_30["default"])({ + states: states, + interactable: interaction.interactable, + element: interaction.element, + rect: null + }, arg); + + for (var _i4 = 0; _i4 < states.length; _i4++) { + var _ref6; + + _ref6 = states[_i4]; + var state = _ref6; + modifierArg.state = state; + + if (state.methods.stop) { + state.methods.stop(modifierArg); + } + } + + arg.interaction.modifiers.states = null; + arg.interaction.modifiers.endPrevented = false; +} + +function getModifierList(interaction) { + var actionOptions = interaction.interactable.options[interaction.prepared.name]; + var actionModifiers = actionOptions.modifiers; + + if (actionModifiers && actionModifiers.length) { + return actionModifiers.filter(function (modifier) { + return !modifier.options || modifier.options.enabled !== false; + }); + } + + return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { + var options = actionOptions[type]; + return options && options.enabled && { + options: options, + methods: options._methods + }; + }).filter(function (m) { + return !!m; + }); +} + +function prepareStates(modifierList) { + var states = []; + + for (var index = 0; index < modifierList.length; index++) { + var _modifierList$index = modifierList[index], + options = _modifierList$index.options, + methods = _modifierList$index.methods, + name = _modifierList$index.name; + + if (options && options.enabled === false) { + continue; + } + + states.push({ + options: options, + methods: methods, + index: index, + name: name + }); + } + + return states; +} + +function setCoords(arg) { + var interaction = arg.interaction, + phase = arg.phase; + var curCoords = interaction.coords.cur; + var startCoords = interaction.coords.start; + var _interaction$modifier = interaction.modifiers, + result = _interaction$modifier.result, + startDelta = _interaction$modifier.startDelta; + var curDelta = result.delta; + + if (phase === 'start') { + (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); + } + + var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; + + for (var _i5 = 0; _i5 < _arr.length; _i5++) { + var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), + coordsSet = _arr$_i[0], + delta = _arr$_i[1]; + + coordsSet.page.x += delta.x; + coordsSet.page.y += delta.y; + coordsSet.client.x += delta.x; + coordsSet.client.y += delta.y; + } + + var rectDelta = interaction.modifiers.result.rectDelta; + var rect = arg.rect || interaction.rect; + rect.left += rectDelta.left; + rect.right += rectDelta.right; + rect.top += rectDelta.top; + rect.bottom += rectDelta.bottom; + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; +} + +function restoreCoords(_ref7) { + var _ref7$interaction = _ref7.interaction, + coords = _ref7$interaction.coords, + rect = _ref7$interaction.rect, + modifiers = _ref7$interaction.modifiers; + + if (!modifiers.result) { + return; + } + + var startDelta = modifiers.startDelta; + var _modifiers$result = modifiers.result, + curDelta = _modifiers$result.delta, + rectDelta = _modifiers$result.rectDelta; + var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; + + for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { + var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), + coordsSet = _coordsAndDeltas$_i[0], + delta = _coordsAndDeltas$_i[1]; + + coordsSet.page.x -= delta.x; + coordsSet.page.y -= delta.y; + coordsSet.client.x -= delta.x; + coordsSet.client.y -= delta.y; + } + + rect.left -= rectDelta.left; + rect.right -= rectDelta.right; + rect.top -= rectDelta.top; + rect.bottom -= rectDelta.bottom; +} + +function shouldDo(options, preEnd, requireEndOnly, phase) { + return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; +} + +function getRectOffset(rect, coords) { + return rect ? { + left: coords.x - rect.left, + top: coords.y - rect.top, + right: rect.right - coords.x, + bottom: rect.bottom - coords.y + } : { + left: 0, + top: 0, + right: 0, + bottom: 0 + }; +} + +function makeModifier(module, name) { + var defaults = module.defaults; + var methods = { + start: module.start, + set: module.set, + beforeEnd: module.beforeEnd, + stop: module.stop + }; + + var modifier = function modifier(_options) { + var options = _options || {}; + options.enabled = options.enabled !== false; // add missing defaults to options + + for (var prop in defaults) { + if (!(prop in options)) { + options[prop] = defaults[prop]; + } + } + + var m = { + options: options, + methods: methods, + name: name + }; + return m; + }; + + if (name && typeof name === 'string') { + // for backwrads compatibility + modifier._defaults = defaults; + modifier._methods = methods; + } + + return modifier; +} + +var ___default_30 = { + id: 'modifiers/base', + install: __install_30, + startAll: startAll, + setAll: setAll, + prepareStates: prepareStates, + start: __start_30, + beforeMove: __beforeMove_30, + beforeEnd: beforeEnd, + stop: stop, + shouldDo: shouldDo, + getModifierList: getModifierList, + getRectOffset: getRectOffset, + makeModifier: makeModifier +}; +_$base_30["default"] = ___default_30; + +var _$inertia_26 = {}; +"use strict"; + +Object.defineProperty(_$inertia_26, "__esModule", { + value: true +}); +_$inertia_26["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +var ___base_26 = ___interopRequireWildcard_26(_$base_30); + +var __utils_26 = ___interopRequireWildcard_26(_$utils_56); + +var ___raf_26 = ___interopRequireDefault_26(_$raf_62); + +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'; + +function __install_26(scope) { + var interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.inertia = { + active: false, + smoothEnd: false, + allowResume: false, + upCoords: {}, + timeout: null + }; + }); + 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', __stop_26); + defaults.perAction.inertia = { + enabled: false, + resistance: 10, + minSpeed: 100, + endSpeed: 10, + allowResume: true, + smoothEndDuration: 300 + }; + scope.usePlugin(___base_26["default"]); +} + +function resume(_ref2, scope) { + var interaction = _ref2.interaction, + event = _ref2.event, + pointer = _ref2.pointer, + eventTarget = _ref2.eventTarget; + var state = interaction.inertia; // Check if the down event hits the current inertia target + + if (state.active) { + var element = eventTarget; // climb up the DOM tree from the event target + + while (__utils_26.is.element(element)) { + // if interaction element is the current inertia target element + if (element === interaction.element) { + // stop inertia + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; // update pointers to the down event's coordinates + + interaction.updatePointer(pointer, event, eventTarget, true); + __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { + return p.pointer; + }), interaction._now()); // fire appropriate signals + + var signalArg = { + interaction: interaction, + phase: _$InteractEvent_15.EventPhase.Resume + }; + scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event + + var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); + + interaction._fireEvent(resumeEvent); + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); + break; + } + + element = __utils_26.dom.parentNode(element); + } + } +} + +function release(_ref3, scope) { + var interaction = _ref3.interaction, + event = _ref3.event, + noPreEnd = _ref3.noPreEnd; + var state = interaction.inertia; + + if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { + return null; + } + + var options = __getOptions_26(interaction); + + var now = interaction._now(); + + var velocityClient = interaction.coords.velocity.client; + var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); + var smoothEnd = false; + var modifierResult; // check if inertia should be started + + var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; + var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; + var modifierArg = { + interaction: interaction, + pageCoords: interaction.coords.cur.page, + states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { + return __utils_26.extend({}, modifierStatus); + }), + preEnd: true, + prevCoords: null, + requireEndOnly: null, + phase: _$InteractEvent_15.EventPhase.InertiaStart + }; // smoothEnd + + if (inertiaPossible && !inertia) { + modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; + modifierArg.requireEndOnly = false; + modifierResult = ___base_26["default"].setAll(modifierArg); + + if (modifierResult.changed) { + smoothEnd = true; + } + } + + if (!(inertia || smoothEnd)) { + return null; + } + + __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; + interaction.simulation = state; + interaction.interactable.fire(state.startEvent); + + if (inertia) { + state.vx0 = interaction.coords.velocity.client.x; + state.vy0 = interaction.coords.velocity.client.y; + state.v0 = pointerSpeed; + calcInertia(interaction, state); + __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); + modifierArg.pageCoords.x += state.xe; + modifierArg.pageCoords.y += state.ye; + modifierArg.prevCoords = null; + modifierArg.requireEndOnly = true; + modifierResult = ___base_26["default"].setAll(modifierArg); + state.modifiedXe += modifierResult.delta.x; + state.modifiedYe += modifierResult.delta.y; + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.smoothEnd = true; + state.xe = modifierResult.delta.x; + state.ye = modifierResult.delta.y; + state.sx = state.sy = 0; + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } + + return false; +} + +function __stop_26(_ref4) { + var interaction = _ref4.interaction; + var state = interaction.inertia; + + if (state.active) { + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; + } +} + +function calcInertia(interaction, state) { + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; + state.x0 = interaction.prevEvent.page.x; + state.y0 = interaction.prevEvent.page.y; + state.t0 = state.startEvent.timeStamp / 1000; + state.sx = state.sy = 0; + state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; + state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; + state.te = inertiaDur; + state.lambda_v0 = lambda / state.v0; + state.one_ve_v0 = 1 - options.endSpeed / state.v0; +} + +function inertiaTick(interaction) { + updateInertiaCoords(interaction); + __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); + __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); + var state = interaction.inertia; + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var t = interaction._now() / 1000 - state.t0; + + if (t < state.te) { + var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; + + if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { + state.sx = state.xe * progress; + state.sy = state.ye * progress; + } else { + var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); + state.sx = quadPoint.x; + state.sy = quadPoint.y; + } + + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.sx = state.modifiedXe; + state.sy = state.modifiedYe; + interaction.move(); + interaction.end(state.startEvent); + state.active = false; + interaction.simulation = null; + } + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); +} + +function smothEndTick(interaction) { + updateInertiaCoords(interaction); + var state = interaction.inertia; + var t = interaction._now() - state.t0; + + var _getOptions = __getOptions_26(interaction), + duration = _getOptions.smoothEndDuration; + + if (t < duration) { + state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); + state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } else { + state.sx = state.xe; + state.sy = state.ye; + interaction.move(); + interaction.end(state.startEvent); + state.smoothEnd = state.active = false; + interaction.simulation = null; + } +} + +function updateInertiaCoords(interaction) { + var state = interaction.inertia; // return if inertia isn't running + + if (!state.active) { + return; + } + + var pageUp = state.upCoords.page; + var clientUp = state.upCoords.client; + __utils_26.pointer.setCoords(interaction.coords.cur, [{ + pageX: pageUp.x + state.sx, + pageY: pageUp.y + state.sy, + clientX: clientUp.x + state.sx, + clientY: clientUp.y + state.sy + }], interaction._now()); +} + +function __getOptions_26(_ref5) { + var interactable = _ref5.interactable, + prepared = _ref5.prepared; + return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; +} + +var ___default_26 = { + id: 'inertia', + install: __install_26, + calcInertia: calcInertia, + inertiaTick: inertiaTick, + smothEndTick: smothEndTick, + updateInertiaCoords: updateInertiaCoords +}; +_$inertia_26["default"] = ___default_26; + +var _$pointer_33 = {}; +"use strict"; + +Object.defineProperty(_$pointer_33, "__esModule", { + value: true +}); +_$pointer_33["default"] = void 0; + +var ___extend_33 = ___interopRequireDefault_33(_$extend_53); + +var __is_33 = ___interopRequireWildcard_33(_$is_57); + +var ___rect_33 = ___interopRequireDefault_33(_$rect_63); + +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 }; } + +function __start_33(_ref) { + var rect = _ref.rect, + startOffset = _ref.startOffset, + state = _ref.state, + interaction = _ref.interaction, + pageCoords = _ref.pageCoords; + var options = state.options; + var elementRect = options.elementRect; + var offset = (0, ___extend_33["default"])({ + left: 0, + top: 0, + right: 0, + bottom: 0 + }, options.offset || {}); + + if (rect && elementRect) { + var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); + + if (restriction) { + var widthDiff = restriction.right - restriction.left - rect.width; + var heightDiff = restriction.bottom - restriction.top - rect.height; + + if (widthDiff < 0) { + offset.left += widthDiff; + offset.right += widthDiff; + } + + if (heightDiff < 0) { + offset.top += heightDiff; + offset.bottom += heightDiff; + } + } + + offset.left += startOffset.left - rect.width * elementRect.left; + offset.top += startOffset.top - rect.height * elementRect.top; + offset.right += startOffset.right - rect.width * (1 - elementRect.right); + offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); + } + + state.offset = offset; +} + +function set(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var options = state.options, + offset = state.offset; + var restriction = getRestrictionRect(options.restriction, interaction, coords); + + if (!restriction) { + return; + } + + var rect = ___rect_33["default"].xywhToTlbr(restriction); + + coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); + coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); +} + +function getRestrictionRect(value, interaction, coords) { + if (__is_33.func(value)) { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); + } else { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); + } +} + +var __defaults_33 = { + restriction: null, + elementRect: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrict = { + start: __start_33, + set: set, + getRestrictionRect: getRestrictionRect, + defaults: __defaults_33 +}; +var ___default_33 = restrict; +_$pointer_33["default"] = ___default_33; + +var _$edges_32 = {}; +"use strict"; + +Object.defineProperty(_$edges_32, "__esModule", { + value: true +}); +_$edges_32["default"] = void 0; + +var ___extend_32 = ___interopRequireDefault_32(_$extend_53); + +var ___rect_32 = ___interopRequireDefault_32(_$rect_63); + +var _pointer = ___interopRequireDefault_32(_$pointer_33); + +function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +// This module adds the options.resize.restrictEdges setting which sets min and +// max for the top, left, bottom and right edges of the target being resized. +// +// interact(target).resize({ +// edges: { top: true, left: true }, +// restrictEdges: { +// inner: { top: 200, left: 200, right: 400, bottom: 400 }, +// outer: { top: 0, left: 0, right: 600, bottom: 600 }, +// }, +// }) +var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; +var noInner = { + top: +Infinity, + left: +Infinity, + bottom: -Infinity, + right: -Infinity +}; +var noOuter = { + top: -Infinity, + left: -Infinity, + bottom: +Infinity, + right: +Infinity +}; + +function __start_32(_ref) { + var interaction = _ref.interaction, + state = _ref.state; + var options = state.options; + var startOffset = interaction.modifiers.startOffset; + var offset; + + if (options) { + var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); + offset = ___rect_32["default"].rectToXY(offsetRect); + } + + offset = offset || { + x: 0, + y: 0 + }; + state.offset = { + top: offset.y + startOffset.top, + left: offset.x + startOffset.left, + bottom: offset.y - startOffset.bottom, + right: offset.x - startOffset.right + }; +} + +function __set_32(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var offset = state.offset, + options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var page = (0, ___extend_32["default"])({}, coords); + var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; + var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; + fixRect(inner, noInner); + fixRect(outer, noOuter); + + if (edges.top) { + coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); + } else if (edges.bottom) { + coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); + } + + if (edges.left) { + coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); + } else if (edges.right) { + coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); + } +} + +function fixRect(rect, defaults) { + var _arr = ['top', 'left', 'bottom', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (!(edge in rect)) { + rect[edge] = defaults[edge]; + } + } + + return rect; +} + +var __defaults_32 = { + inner: null, + outer: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrictEdges = { + noInner: noInner, + noOuter: noOuter, + getRestrictionRect: __getRestrictionRect_32, + start: __start_32, + set: __set_32, + defaults: __defaults_32 +}; +var ___default_32 = restrictEdges; +_$edges_32["default"] = ___default_32; + +var _$rect_34 = {}; +"use strict"; + +Object.defineProperty(_$rect_34, "__esModule", { + value: true +}); +_$rect_34["default"] = void 0; + +var ___extend_34 = ___interopRequireDefault_34(_$extend_53); + +var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); + +function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __defaults_34 = (0, ___extend_34["default"])({ + get elementRect() { + return { + top: 0, + left: 0, + bottom: 1, + right: 1 + }; + }, + + set elementRect(_) {} + +}, ___pointer_34["default"].defaults); +var restrictRect = { + start: ___pointer_34["default"].start, + set: ___pointer_34["default"].set, + defaults: __defaults_34 +}; +var ___default_34 = restrictRect; +_$rect_34["default"] = ___default_34; + +var _$size_35 = {}; +"use strict"; + +Object.defineProperty(_$size_35, "__esModule", { + value: true +}); +_$size_35["default"] = void 0; + +var ___extend_35 = ___interopRequireDefault_35(_$extend_53); + +var ___rect_35 = ___interopRequireDefault_35(_$rect_63); + +var _edges = ___interopRequireDefault_35(_$edges_32); + +function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var noMin = { + width: -Infinity, + height: -Infinity +}; +var noMax = { + width: +Infinity, + height: +Infinity +}; + +function __start_35(arg) { + return _edges["default"].start(arg); +} + +function __set_35(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); + + var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; + var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; + state.options = { + endOnly: options.endOnly, + inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), + outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) + }; + + if (edges.top) { + state.options.inner.top = rect.bottom - minSize.height; + state.options.outer.top = rect.bottom - maxSize.height; + } else if (edges.bottom) { + state.options.inner.bottom = rect.top + minSize.height; + state.options.outer.bottom = rect.top + maxSize.height; + } + + if (edges.left) { + state.options.inner.left = rect.right - minSize.width; + state.options.outer.left = rect.right - maxSize.width; + } else if (edges.right) { + state.options.inner.right = rect.left + minSize.width; + state.options.outer.right = rect.left + maxSize.width; + } + + _edges["default"].set(arg); + + state.options = options; +} + +var __defaults_35 = { + min: null, + max: null, + endOnly: false, + enabled: false +}; +var restrictSize = { + start: __start_35, + set: __set_35, + defaults: __defaults_35 +}; +var ___default_35 = restrictSize; +_$size_35["default"] = ___default_35; + +var _$pointer_37 = {}; +"use strict"; + +Object.defineProperty(_$pointer_37, "__esModule", { + value: true +}); +_$pointer_37["default"] = void 0; + +var __utils_37 = ___interopRequireWildcard_37(_$utils_56); + +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, + interactable = arg.interactable, + element = arg.element, + rect = arg.rect, + state = arg.state, + startOffset = arg.startOffset; + var options = state.options; + var offsets = []; + var origin = options.offsetWithOrigin ? getOrigin(arg) : { + x: 0, + y: 0 + }; + var snapOffset; + + if (options.offset === 'startCoords') { + snapOffset = { + x: interaction.coords.start.page.x, + y: interaction.coords.start.page.y + }; + } else { + var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); + snapOffset = __utils_37.rect.rectToXY(offsetRect) || { + x: 0, + y: 0 + }; + snapOffset.x += origin.x; + snapOffset.y += origin.y; + } + + var relativePoints = options.relativePoints || []; + + if (rect && options.relativePoints && options.relativePoints.length) { + for (var index = 0; index < relativePoints.length; index++) { + var relativePoint = relativePoints[index]; + offsets.push({ + index: index, + relativePoint: relativePoint, + x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, + y: startOffset.top - rect.height * relativePoint.y + snapOffset.y + }); + } + } else { + offsets.push(__utils_37.extend({ + index: 0, + relativePoint: null + }, snapOffset)); + } + + state.offsets = offsets; +} + +function __set_37(arg) { + var interaction = arg.interaction, + coords = arg.coords, + state = arg.state; + var options = state.options, + offsets = state.offsets; + var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); + var page = __utils_37.extend({}, coords); + var targets = []; + var target; + + if (!options.offsetWithOrigin) { + page.x -= origin.x; + page.y -= origin.y; + } + + state.realX = page.x; + state.realY = page.y; + + for (var _i = 0; _i < offsets.length; _i++) { + var _ref; + + _ref = offsets[_i]; + var offset = _ref; + var relativeX = page.x - offset.x; + var relativeY = page.y - offset.y; + + for (var index = 0, _len = options.targets.length; index < _len; index++) { + var snapTarget = options.targets[index]; + + if (__utils_37.is.func(snapTarget)) { + target = snapTarget(relativeX, relativeY, interaction, offset, index); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + targets.push({ + x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, + y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, + range: __utils_37.is.number(target.range) ? target.range : options.range + }); + } + } + + var closest = { + target: null, + inRange: false, + distance: 0, + range: 0, + dx: 0, + dy: 0 + }; + + for (var i = 0, len = targets.length; i < len; i++) { + target = targets[i]; + var range = target.range; + var dx = target.x - page.x; + var dy = target.y - page.y; + var distance = __utils_37.hypot(dx, dy); + var inRange = distance <= range; // Infinite targets count as being out of range + // compared to non infinite ones that are in range + + if (range === Infinity && closest.inRange && closest.range !== Infinity) { + inRange = false; + } + + if (!closest.target || (inRange // is the closest target in range? + ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target + ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't + : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest + distance < closest.distance : // The other is not in range and the pointer is closer to this target + !closest.inRange && distance < closest.distance)) { + closest.target = target; + closest.distance = distance; + closest.range = range; + closest.inRange = inRange; + closest.dx = dx; + closest.dy = dy; + state.range = range; + } + } + + if (closest.inRange) { + coords.x = closest.target.x; + coords.y = closest.target.y; + } + + state.closest = closest; +} + +function getOrigin(arg) { + 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; +} + +var __defaults_37 = { + range: Infinity, + targets: null, + offset: null, + offsetWithOrigin: true, + origin: null, + relativePoints: null, + endOnly: false, + enabled: false +}; +var snap = { + start: __start_37, + set: __set_37, + defaults: __defaults_37 +}; +var ___default_37 = snap; +_$pointer_37["default"] = ___default_37; + +var _$size_38 = {}; +"use strict"; + +Object.defineProperty(_$size_38, "__esModule", { + value: true +}); +_$size_38["default"] = void 0; + +var ___extend_38 = ___interopRequireDefault_38(_$extend_53); + +var __is_38 = ___interopRequireWildcard_38(_$is_57); + +var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); + +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 }; } + +function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } + +function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function __start_38(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state = { + options: { + targets: null, + relativePoints: [{ + x: edges.left ? 0 : 1, + y: edges.top ? 0 : 1 + }], + offset: options.offset || 'self', + origin: { + x: 0, + y: 0 + }, + range: options.range + } + }; + state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; + + ___pointer_38["default"].start(arg); + + state.offsets = arg.state.offsets; + arg.state = state; +} + +function __set_38(arg) { + var interaction = arg.interaction, + state = arg.state, + coords = arg.coords; + var options = state.options, + offsets = state.offsets; + var relative = { + x: coords.x - offsets[0].x, + y: coords.y - offsets[0].y + }; + state.options = (0, ___extend_38["default"])({}, options); + state.options.targets = []; + + for (var _i = 0; _i < (options.targets || []).length; _i++) { + var _ref; + + _ref = (options.targets || [])[_i]; + var snapTarget = _ref; + var target = void 0; + + if (__is_38.func(snapTarget)) { + target = snapTarget(relative.x, relative.y, interaction); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { + var _ref2; + + _ref2 = state.targetFields[_i2]; + + var _ref3 = _ref2, + _ref4 = ___slicedToArray_38(_ref3, 2), + xField = _ref4[0], + yField = _ref4[1]; + + if (xField in target || yField in target) { + target.x = target[xField]; + target.y = target[yField]; + break; + } + } + + state.options.targets.push(target); + } + + ___pointer_38["default"].set(arg); + + state.options = options; +} + +var __defaults_38 = { + range: Infinity, + targets: null, + offset: null, + endOnly: false, + enabled: false +}; +var snapSize = { + start: __start_38, + set: __set_38, + defaults: __defaults_38 +}; +var ___default_38 = snapSize; +_$size_38["default"] = ___default_38; + +var _$edges_36 = {}; +"use strict"; + +Object.defineProperty(_$edges_36, "__esModule", { + value: true +}); +_$edges_36["default"] = void 0; + +var ___clone_36 = ___interopRequireDefault_36(_$clone_49); + +var ___extend_36 = ___interopRequireDefault_36(_$extend_53); + +var _size = ___interopRequireDefault_36(_$size_38); + +function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +/** + * @module modifiers/snapEdges + * + * @description + * This module allows snapping of the edges of targets during resize + * interactions. + * + * @example + * interact(target).resizable({ + * snapEdges: { + * targets: [interact.snappers.grid({ x: 100, y: 50 })], + * }, + * }) + * + * interact(target).resizable({ + * snapEdges: { + * targets: [ + * interact.snappers.grid({ + * top: 50, + * left: 50, + * bottom: 100, + * right: 100, + * }), + * ], + * }, + * }) + */ +function __start_36(arg) { + var edges = arg.interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; + return _size["default"].start(arg); +} + +function __set_36(arg) { + return _size["default"].set(arg); +} + +var snapEdges = { + start: __start_36, + set: __set_36, + defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { + offset: { + x: 0, + y: 0 + } + }) +}; +var ___default_36 = snapEdges; +_$edges_36["default"] = ___default_36; + +var _$modifiers_31 = {}; +"use strict"; + +Object.defineProperty(_$modifiers_31, "__esModule", { + value: true +}); +_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; + +var ___base_31 = ___interopRequireDefault_31(_$base_30); + +var ___edges_31 = ___interopRequireDefault_31(_$edges_32); + +var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); + +var ___rect_31 = ___interopRequireDefault_31(_$rect_34); + +var ___size_31 = ___interopRequireDefault_31(_$size_35); + +var _edges2 = ___interopRequireDefault_31(_$edges_36); + +var _pointer2 = ___interopRequireDefault_31(_$pointer_37); + +var _size2 = ___interopRequireDefault_31(_$size_38); + +function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __makeModifier_31 = ___base_31["default"].makeModifier; +var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); +_$modifiers_31.snap = __snap_31; +var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); +_$modifiers_31.snapSize = __snapSize_31; +var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); +_$modifiers_31.snapEdges = __snapEdges_31; +var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); +_$modifiers_31.restrict = __restrict_31; +var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); +_$modifiers_31.restrictRect = __restrictRect_31; +var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); +_$modifiers_31.restrictEdges = __restrictEdges_31; +var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); +_$modifiers_31.restrictSize = __restrictSize_31; + +var _$PointerEvent_39 = {}; +"use strict"; + +Object.defineProperty(_$PointerEvent_39, "__esModule", { + value: true +}); +_$PointerEvent_39["default"] = void 0; + +var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); + +var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); + +function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___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); } + +function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } + +function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } + +function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___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); } + +function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } + +/** */ +var PointerEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_39(PointerEvent, _BaseEvent); + + /** */ + function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { + var _this; + + ___classCallCheck_39(this, PointerEvent); + + _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); + + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); + + if (event !== pointer) { + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); + } + + _this.timeStamp = timeStamp; + _this.originalEvent = event; + _this.type = type; + _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); + _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); + _this.target = eventTarget; + _this.currentTarget = null; + + if (type === 'tap') { + var pointerIndex = interaction.getPointerIndex(pointer); + _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; + var interval = _this.timeStamp - interaction.tapTime; + _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); + } else if (type === 'doubletap') { + _this.dt = pointer.timeStamp - interaction.tapTime; + } + + return _this; + } + + ___createClass_39(PointerEvent, [{ + key: "_subtractOrigin", + value: function _subtractOrigin(_ref) { + var originX = _ref.x, + originY = _ref.y; + this.pageX -= originX; + this.pageY -= originY; + this.clientX -= originX; + this.clientY -= originY; + return this; + } + }, { + key: "_addOrigin", + value: function _addOrigin(_ref2) { + var originX = _ref2.x, + originY = _ref2.y; + this.pageX += originX; + this.pageY += originY; + this.clientX += originX; + this.clientY += originY; + return this; + } + /** + * Prevent the default behaviour of the original Event + */ + + }, { + key: "preventDefault", + value: function preventDefault() { + this.originalEvent.preventDefault(); + } + }]); + + return PointerEvent; +}(___BaseEvent2_39["default"]); + +_$PointerEvent_39["default"] = PointerEvent; + +var _$base_40 = {}; +"use strict"; + +Object.defineProperty(_$base_40, "__esModule", { + value: true +}); +_$base_40["default"] = void 0; + +var __utils_40 = ___interopRequireWildcard_40(_$utils_56); + +var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); + +function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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']; +var simpleEvents = ['down', 'up', 'cancel']; +var __defaults_40 = { + holdDuration: 600, + ignoreFrom: null, + allowFrom: null, + origin: { + x: 0, + y: 0 + } +}; +var pointerEvents = { + id: 'pointer-events/base', + install: __install_40, + signals: signals, + PointerEvent: _PointerEvent["default"], + fire: fire, + collectEventTargets: collectEventTargets, + createSignalListener: createSignalListener, + defaults: __defaults_40, + types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] +}; + +function fire(arg, scope) { + var interaction = arg.interaction, + pointer = arg.pointer, + event = arg.event, + eventTarget = arg.eventTarget, + _arg$type = arg.type, + type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, + _arg$targets = arg.targets, + targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; + var _arg$pointerEvent = arg.pointerEvent, + pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + targets: targets, + type: type, + pointerEvent: pointerEvent + }; + + for (var i = 0; i < targets.length; i++) { + var target = targets[i]; + + for (var prop in target.props || {}) { + pointerEvent[prop] = target.props[prop]; + } + + var origin = __utils_40.getOriginXY(target.eventable, target.node); + + pointerEvent._subtractOrigin(origin); + + pointerEvent.eventable = target.eventable; + pointerEvent.currentTarget = target.node; + target.eventable.fire(pointerEvent); + + pointerEvent._addOrigin(origin); + + if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { + break; + } + } + + signals.fire('fired', signalArg); + + if (type === 'tap') { + // if pointerEvent should make a double tap, create and fire a doubletap + // PointerEvent and use that as the prevTap + var prevTap = pointerEvent["double"] ? fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'doubletap' + }, scope) : pointerEvent; + interaction.prevTap = prevTap; + interaction.tapTime = prevTap.timeStamp; + } + + return pointerEvent; +} + +function collectEventTargets(_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget, + type = _ref.type; + var pointerIndex = interaction.getPointerIndex(pointer); + var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted + + if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target + !(pointerInfo && pointerInfo.downTarget === eventTarget))) { + return []; + } + + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: type, + path: path, + targets: [], + node: null + }; + + for (var _i = 0; _i < path.length; _i++) { + var _ref2; + + _ref2 = path[_i]; + var node = _ref2; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (type === 'hold') { + signalArg.targets = signalArg.targets.filter(function (target) { + return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; + }); + } + + return signalArg.targets; +} + +function __install_40(scope) { + var interactions = scope.interactions; + scope.pointerEvents = pointerEvents; + scope.defaults.actions.pointerEvents = pointerEvents.defaults; + interactions.signals.on('new', function (_ref3) { + var interaction = _ref3.interaction; + interaction.prevTap = null; // the most recent tap event on this interaction + + interaction.tapTime = 0; // time of the most recent tap event + }); + interactions.signals.on('update-pointer', function (_ref4) { + var down = _ref4.down, + pointerInfo = _ref4.pointerInfo; + + if (!down && pointerInfo.hold) { + return; + } + + pointerInfo.hold = { + duration: Infinity, + timeout: null + }; + }); + interactions.signals.on('move', function (_ref5) { + var interaction = _ref5.interaction, + pointer = _ref5.pointer, + event = _ref5.event, + eventTarget = _ref5.eventTarget, + duplicateMove = _ref5.duplicateMove; + var pointerIndex = interaction.getPointerIndex(pointer); + + if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { + if (interaction.pointerIsDown) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + + fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'move' + }, scope); + } + }); + interactions.signals.on('down', function (_ref6) { + var interaction = _ref6.interaction, + pointer = _ref6.pointer, + event = _ref6.event, + eventTarget = _ref6.eventTarget, + pointerIndex = _ref6.pointerIndex; + var timer = interaction.pointers[pointerIndex].hold; + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'hold', + targets: [], + path: path, + node: null + }; + + for (var _i2 = 0; _i2 < path.length; _i2++) { + var _ref7; + + _ref7 = path[_i2]; + var node = _ref7; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (!signalArg.targets.length) { + return; + } + + var minDuration = Infinity; + + for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { + var _ref8; + + _ref8 = signalArg.targets[_i3]; + var target = _ref8; + var holdDuration = target.eventable.options.holdDuration; + + if (holdDuration < minDuration) { + minDuration = holdDuration; + } + } + + timer.duration = minDuration; + timer.timeout = setTimeout(function () { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'hold' + }, scope); + }, minDuration); + }); + var _arr = ['up', 'cancel']; + + for (var _i4 = 0; _i4 < _arr.length; _i4++) { + var signalName = _arr[_i4]; + interactions.signals.on(signalName, function (_ref10) { + var interaction = _ref10.interaction, + pointerIndex = _ref10.pointerIndex; + + if (interaction.pointers[pointerIndex].hold) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + }); + } + + for (var i = 0; i < simpleSignals.length; i++) { + interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); + } + + interactions.signals.on('up', function (_ref9) { + var interaction = _ref9.interaction, + pointer = _ref9.pointer, + event = _ref9.event, + eventTarget = _ref9.eventTarget; + + if (!interaction.pointerWasMoved) { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'tap' + }, scope); + } + }); +} + +function createSignalListener(type, scope) { + return function (_ref11) { + var interaction = _ref11.interaction, + pointer = _ref11.pointer, + event = _ref11.event, + eventTarget = _ref11.eventTarget; + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: type + }, scope); + }; +} + +var ___default_40 = pointerEvents; +_$base_40["default"] = ___default_40; + +var _$holdRepeat_41 = {}; +"use strict"; + +Object.defineProperty(_$holdRepeat_41, "__esModule", { + value: true +}); +_$holdRepeat_41["default"] = void 0; + +var ___base_41 = ___interopRequireDefault_41(_$base_40); + +function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_41(scope) { + var pointerEvents = scope.pointerEvents, + interactions = scope.interactions; + scope.usePlugin(___base_41["default"]); + pointerEvents.signals.on('new', onNew); + pointerEvents.signals.on('fired', function (arg) { + return onFired(arg, scope); + }); + var _arr = ['move', 'up', 'cancel', 'endall']; + + for (var _i = 0; _i < _arr.length; _i++) { + var signal = _arr[_i]; + interactions.signals.on(signal, endHoldRepeat); + } // don't repeat by default + + + pointerEvents.defaults.holdRepeatInterval = 0; + pointerEvents.types.push('holdrepeat'); +} + +function onNew(_ref) { + var pointerEvent = _ref.pointerEvent; + + if (pointerEvent.type !== 'hold') { + return; + } + + pointerEvent.count = (pointerEvent.count || 0) + 1; +} + +function onFired(_ref2, scope) { + var interaction = _ref2.interaction, + pointerEvent = _ref2.pointerEvent, + eventTarget = _ref2.eventTarget, + targets = _ref2.targets; + + if (pointerEvent.type !== 'hold' || !targets.length) { + return; + } // get the repeat interval from the first eventable + + + var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less + + if (interval <= 0) { + return; + } // set a timeout to fire the holdrepeat event + + + interaction.holdIntervalHandle = setTimeout(function () { + scope.pointerEvents.fire({ + interaction: interaction, + eventTarget: eventTarget, + type: 'hold', + pointer: pointerEvent, + event: pointerEvent + }, scope); + }, interval); +} + +function endHoldRepeat(_ref3) { + var interaction = _ref3.interaction; + + // set the interaction's holdStopTime property + // to stop further holdRepeat events + if (interaction.holdIntervalHandle) { + clearInterval(interaction.holdIntervalHandle); + interaction.holdIntervalHandle = null; + } +} + +var ___default_41 = { + id: 'pointer-events/holdRepeat', + install: __install_41 +}; +_$holdRepeat_41["default"] = ___default_41; + +var _$interactableTargets_43 = {}; +"use strict"; + +Object.defineProperty(_$interactableTargets_43, "__esModule", { + value: true +}); +_$interactableTargets_43["default"] = void 0; + +/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; + +var ___extend_43 = ___interopRequireDefault_43(_$extend_53); + +function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_43(scope) { + var pointerEvents = scope.pointerEvents, + actions = scope.actions, + Interactable = scope.Interactable, + interactables = scope.interactables; + pointerEvents.signals.on('collect-targets', function (_ref) { + var targets = _ref.targets, + node = _ref.node, + type = _ref.type, + eventTarget = _ref.eventTarget; + scope.interactables.forEachMatch(node, function (interactable) { + var eventable = interactable.events; + var options = eventable.options; + + if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { + targets.push({ + node: node, + eventable: eventable, + props: { + interactable: interactable + } + }); + } + }); + }); + interactables.signals.on('new', function (_ref2) { + var interactable = _ref2.interactable; + + interactable.events.getRect = function (element) { + return interactable.getRect(element); + }; + }); + interactables.signals.on('set', function (_ref3) { + var interactable = _ref3.interactable, + options = _ref3.options; + (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); + (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); + }); + (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); + Interactable.prototype.pointerEvents = pointerEventsMethod; + var __backCompatOption = Interactable.prototype._backCompatOption; + + Interactable.prototype._backCompatOption = function (optionName, newValue) { + var ret = __backCompatOption.call(this, optionName, newValue); + + if (ret === this) { + this.events.options[optionName] = newValue; + } + + return ret; + }; +} + +function pointerEventsMethod(options) { + (0, ___extend_43["default"])(this.events.options, options); + return this; +} + +var ___default_43 = { + id: 'pointer-events/interactableTargets', + install: __install_43 +}; +_$interactableTargets_43["default"] = ___default_43; + +var _$pointerEvents_42 = {}; +"use strict"; + +Object.defineProperty(_$pointerEvents_42, "__esModule", { + value: true +}); +_$pointerEvents_42.install = __install_42; +Object.defineProperty(_$pointerEvents_42, "pointerEvents", { + enumerable: true, + get: function get() { + return ___base_42["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "holdRepeat", { + enumerable: true, + get: function get() { + return _holdRepeat["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "interactableTargets", { + enumerable: true, + get: function get() { + return _interactableTargets["default"]; + } +}); +_$pointerEvents_42.id = void 0; + +var ___base_42 = ___interopRequireDefault_42(_$base_40); + +var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); + +var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); + +function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_42(scope) { + scope.usePlugin(___base_42["default"]); + scope.usePlugin(_holdRepeat["default"]); + scope.usePlugin(_interactableTargets["default"]); +} + +var __id_42 = 'pointer-events'; +_$pointerEvents_42.id = __id_42; + +var _$reflow_44 = {}; +"use strict"; + +Object.defineProperty(_$reflow_44, "__esModule", { + value: true +}); +_$reflow_44.install = __install_44; +_$reflow_44["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +_$InteractEvent_15.EventPhase.Reflow = 'reflow'; + +function __install_44(scope) { + var actions = scope.actions, + interactions = scope.interactions, + Interactable = scope.Interactable; // add action reflow event types + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + actions.eventTypes.push("".concat(actionName, "reflow")); + } // remove completed reflow interactions + + + interactions.signals.on('stop', function (_ref2) { + var interaction = _ref2.interaction; + + if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { + if (interaction._reflowResolve) { + interaction._reflowResolve(); + } + + _$utils_56.arr.remove(scope.interactions.list, interaction); + } + }); + /** + * ```js + * const interactable = interact(target) + * const drag = { name: drag, axis: 'x' } + * const resize = { name: resize, edges: { left: true, bottom: true } + * + * interactable.reflow(drag) + * interactable.reflow(resize) + * ``` + * + * Start an action sequence to re-apply modifiers, check drops, etc. + * + * @param { Object } action The action to begin + * @param { string } action.name The name of the action + * @returns { Promise } + */ + + Interactable.prototype.reflow = function (action) { + return reflow(this, action, scope); + }; +} + +function reflow(interactable, action, scope) { + 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 + + var Promise = _$utils_56.win.window.Promise; + var promises = Promise ? [] : null; + + var _loop = function _loop() { + _ref3 = elements[_i2]; + var element = _ref3; + var rect = interactable.getRect(element); + + if (!rect) { + return "break"; + } + + var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { + return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; + }); + + var reflowPromise = void 0; + + if (runningInteraction) { + runningInteraction.move(); + + if (promises) { + reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { + runningInteraction._reflowResolve = resolve; + }); + } + } else { + var xywh = _$utils_56.rect.tlbrToXywh(rect); + + var coords = { + page: { + x: xywh.x, + y: xywh.y + }, + client: { + x: xywh.x, + y: xywh.y + }, + timeStamp: scope.now() + }; + + var event = _$utils_56.pointer.coordsToEvent(coords); + + reflowPromise = startReflow(scope, interactable, element, action, event); + } + + if (promises) { + promises.push(reflowPromise); + } + }; + + for (var _i2 = 0; _i2 < elements.length; _i2++) { + var _ref3; + + var _ret = _loop(); + + if (_ret === "break") break; + } + + return promises && Promise.all(promises).then(function () { + return interactable; + }); +} + +function startReflow(scope, interactable, element, action, event) { + var interaction = scope.interactions["new"]({ + pointerType: 'reflow' + }); + var signalArg = { + interaction: interaction, + event: event, + pointer: event, + eventTarget: element, + phase: _$InteractEvent_15.EventPhase.Reflow + }; + interaction.interactable = interactable; + interaction.element = element; + interaction.prepared = (0, _$utils_56.extend)({}, action); + interaction.prevEvent = event; + interaction.updatePointer(event, event, element, true); + + interaction._doPhase(signalArg); + + var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { + interaction._reflowResolve = resolve; + }) : null; + interaction._reflowPromise = reflowPromise; + interaction.start(action, interactable, element); + + if (interaction._interacting) { + interaction.move(signalArg); + interaction.end(event); + } else { + interaction.stop(); + } + + interaction.removePointer(event, event); + interaction.pointerIsDown = false; + return reflowPromise; +} + +var ___default_44 = { + id: 'reflow', + install: __install_44 +}; +_$reflow_44["default"] = ___default_44; + +var _$interact_28 = {}; +"use strict"; + +Object.defineProperty(_$interact_28, "__esModule", { + value: true +}); +_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; + +var ___scope_28 = _$scope_24({}); + +var __utils_28 = ___interopRequireWildcard_28(_$utils_56); + +var ___browser_28 = ___interopRequireDefault_28(_$browser_48); + +var ___events_28 = ___interopRequireDefault_28(_$events_52); + +function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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 = {}; +var scope = new ___scope_28.Scope(); +/** + * ```js + * interact('#draggable').draggable(true) + * + * var rectables = interact('rect') + * rectables + * .gesturable(true) + * .on('gesturemove', function (event) { + * // ... + * }) + * ``` + * + * The methods of this variable can be used to set elements as interactables + * and also to change various default settings. + * + * Calling it as a function and passing an element or a valid CSS selector + * string returns an Interactable object which has various methods to configure + * it. + * + * @global + * + * @param {Element | string} target The HTML or SVG Element to interact with + * or CSS selector + * @return {Interactable} + */ + +_$interact_28.scope = scope; + +var interact = function interact(target, options) { + var interactable = scope.interactables.get(target, options); + + if (!interactable) { + interactable = scope.interactables["new"](target, options); + interactable.events.global = globalEvents; + } + + return interactable; +}; +/** + * Use a plugin + * + * @alias module:interact.use + * + * @param {Object} plugin + * @param {function} plugin.install + * @return {interact} + */ + + +_$interact_28.interact = interact; +interact.use = use; + +function use(plugin, options) { + scope.usePlugin(plugin, options); + return interact; +} +/** + * Check if an element or selector has been set with the {@link interact} + * function + * + * @alias module:interact.isSet + * + * @param {Element} element The Element being searched for + * @return {boolean} Indicates if the element or CSS selector was previously + * passed to interact + */ + + +interact.isSet = isSet; + +function isSet(target, options) { + return !!scope.interactables.get(target, options && options.context); +} +/** + * Add a global listener for an InteractEvent or adds a DOM event to `document` + * + * @alias module:interact.on + * + * @param {string | array | object} type The types of events to listen for + * @param {function} listener The function event (s) + * @param {object | boolean} [options] object or useCapture flag for + * addEventListener + * @return {object} interact + */ + + +interact.on = on; + +function on(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i = 0; _i < type.length; _i++) { + var _ref; + + _ref = type[_i]; + var eventType = _ref; + interact.on(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.on(prop, type[prop], listener); + } + + return interact; + } // if it is an InteractEvent type, add listener to globalEvents + + + if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { + // if this type of event was never bound + if (!globalEvents[type]) { + globalEvents[type] = [listener]; + } else { + globalEvents[type].push(listener); + } + } // If non InteractEvent type, addEventListener to document + else { + ___events_28["default"].add(scope.document, type, listener, { + options: options + }); + } + + return interact; +} +/** + * Removes a global InteractEvent listener or DOM event from `document` + * + * @alias module:interact.off + * + * @param {string | array | object} type The types of events that were listened + * for + * @param {function} listener The listener function to be removed + * @param {object | boolean} options [options] object or useCapture flag for + * removeEventListener + * @return {object} interact + */ + + +interact.off = off; + +function off(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i2 = 0; _i2 < type.length; _i2++) { + var _ref2; + + _ref2 = type[_i2]; + var eventType = _ref2; + interact.off(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.off(prop, type[prop], listener); + } + + return interact; + } + + if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { + ___events_28["default"].remove(scope.document, type, listener, options); + } else { + var index; + + if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { + globalEvents[type].splice(index, 1); + } + } + + return interact; +} +/** + * Returns an object which exposes internal data + * @alias module:interact.debug + * + * @return {object} An object with properties that outline the current state + * and expose internal functions and variables + */ + + +interact.debug = debug; + +function debug() { + return scope; +} // expose the functions used to calculate multi-touch properties + + +interact.getPointerAverage = __utils_28.pointer.pointerAverage; +interact.getTouchBBox = __utils_28.pointer.touchBBox; +interact.getTouchDistance = __utils_28.pointer.touchDistance; +interact.getTouchAngle = __utils_28.pointer.touchAngle; +interact.getElementRect = __utils_28.dom.getElementRect; +interact.getElementClientRect = __utils_28.dom.getElementClientRect; +interact.matchesSelector = __utils_28.dom.matchesSelector; +interact.closest = __utils_28.dom.closest; +/** + * @alias module:interact.supportsTouch + * + * @return {boolean} Whether or not the browser supports touch input + */ + +interact.supportsTouch = supportsTouch; + +function supportsTouch() { + return ___browser_28["default"].supportsTouch; +} +/** + * @alias module:interact.supportsPointerEvent + * + * @return {boolean} Whether or not the browser supports PointerEvents + */ + + +interact.supportsPointerEvent = supportsPointerEvent; + +function supportsPointerEvent() { + return ___browser_28["default"].supportsPointerEvent; +} +/** + * Cancels all interactions (end events are not fired) + * + * @alias module:interact.stop + * + * @return {object} interact + */ + + +interact.stop = __stop_28; + +function __stop_28() { + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + interaction.stop(); + } + + return interact; +} +/** + * Returns or sets the distance the pointer must be moved before an action + * sequence occurs. This also affects tolerance for tap events. + * + * @alias module:interact.pointerMoveTolerance + * + * @param {number} [newValue] The movement from the start position must be greater than this value + * @return {interact | number} + */ + + +interact.pointerMoveTolerance = pointerMoveTolerance; + +function pointerMoveTolerance(newValue) { + if (__utils_28.is.number(newValue)) { + scope.interactions.pointerMoveTolerance = newValue; + return interact; + } + + return scope.interactions.pointerMoveTolerance; +} + +scope.interactables.signals.on('unset', function (_ref4) { + var interactable = _ref4.interactable; + scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref5; + + _ref5 = scope.interactions.list[_i4]; + var interaction = _ref5; + + if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { + interaction.stop(); + } + } +}); + +interact.addDocument = function (doc, options) { + return scope.addDocument(doc, options); +}; + +interact.removeDocument = function (doc) { + return scope.removeDocument(doc); +}; + +scope.interact = interact; +var ___default_28 = interact; +_$interact_28["default"] = ___default_28; + +var _$interact_27 = {}; +"use strict"; + +Object.defineProperty(_$interact_27, "__esModule", { + value: true +}); +_$interact_27.init = __init_27; +Object.defineProperty(_$interact_27, "autoScroll", { + enumerable: true, + get: function get() { + return _autoScroll["default"]; + } +}); +Object.defineProperty(_$interact_27, "interactablePreventDefault", { + enumerable: true, + get: function get() { + return _interactablePreventDefault["default"]; + } +}); +Object.defineProperty(_$interact_27, "inertia", { + enumerable: true, + get: function get() { + return _inertia["default"]; + } +}); +Object.defineProperty(_$interact_27, "modifiers", { + enumerable: true, + get: function get() { + return ___base_27["default"]; + } +}); +Object.defineProperty(_$interact_27, "reflow", { + enumerable: true, + get: function get() { + return _reflow["default"]; + } +}); +Object.defineProperty(_$interact_27, "interact", { + enumerable: true, + get: function get() { + return _interact["default"]; + } +}); +_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; + +var actions = ___interopRequireWildcard_27(_$actions_5); + +_$interact_27.actions = actions; + +var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); + +var autoStart = ___interopRequireWildcard_27(_$autoStart_12); + +var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); + +var _devTools = ___interopRequireDefault_27(_$devTools_25); + +var _inertia = ___interopRequireDefault_27(_$inertia_26); + +var modifiers = ___interopRequireWildcard_27(_$modifiers_31); + +var ___base_27 = ___interopRequireDefault_27(_$base_30); + +var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); + +_$interact_27.pointerEvents = __pointerEvents_27; + +var _reflow = ___interopRequireDefault_27(_$reflow_44); + +var _interact = ___interopRequireWildcard_27(_$interact_28); + +function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); + + _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents + + + _interact["default"].use(__pointerEvents_27); // inertia + + + _interact["default"].use(_inertia["default"]); // autoStart, hold + + + _interact["default"].use(autoStart); // drag and drop, resize, gesture + + + _interact["default"].use(actions); // snap, resize, etc. + + + _interact["default"].use(___base_27["default"]); // for backwrads compatibility + + + for (var type in modifiers) { + var _modifiers$type = modifiers[type], + _defaults = _modifiers$type._defaults, + _methods = _modifiers$type._methods; + _defaults._methods = _methods; + _interact.scope.defaults.perAction[type] = _defaults; + } // autoScroll + + + _interact["default"].use(_autoScroll["default"]); // reflow + + + _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef + + + if (false) {} + + return _interact["default"]; +} // eslint-disable-next-line no-undef + + +_interact["default"].version = "1.6.3"; +var ___default_27 = _interact["default"]; +_$interact_27["default"] = ___default_27; + +var _$types_45 = {}; +/// +"use strict"; + +var _$grid_64 = {}; +"use strict"; + +Object.defineProperty(_$grid_64, "__esModule", { + value: true +}); +_$grid_64["default"] = void 0; + +function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } + +function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function createGrid(grid) { + var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { + var _ref2 = ___slicedToArray_64(_ref, 2), + xField = _ref2[0], + yField = _ref2[1]; + + return xField in grid || yField in grid; + }); + return function (x, y) { + var range = grid.range, + _grid$limits = grid.limits, + limits = _grid$limits === void 0 ? { + left: -Infinity, + right: Infinity, + top: -Infinity, + bottom: Infinity + } : _grid$limits, + _grid$offset = grid.offset, + offset = _grid$offset === void 0 ? { + x: 0, + y: 0 + } : _grid$offset; + var result = { + range: range + }; + + for (var _i2 = 0; _i2 < coordFields.length; _i2++) { + var _ref3; + + _ref3 = coordFields[_i2]; + + var _ref4 = _ref3, + _ref5 = ___slicedToArray_64(_ref4, 2), + xField = _ref5[0], + yField = _ref5[1]; + + var gridx = Math.round((x - offset.x) / grid[xField]); + var gridy = Math.round((y - offset.y) / grid[yField]); + result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); + result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); + } + + return result; + }; +} + +var ___default_64 = createGrid; +_$grid_64["default"] = ___default_64; + +var _$snappers_65 = {}; +"use strict"; + +Object.defineProperty(_$snappers_65, "__esModule", { + value: true +}); +Object.defineProperty(_$snappers_65, "grid", { + enumerable: true, + get: function get() { + return _grid["default"]; + } +}); + +var _grid = ___interopRequireDefault_65(_$grid_64); + +function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var _$index_29 = { exports: {} }; +"use strict"; + +Object.defineProperty(_$index_29.exports, "__esModule", { + value: true +}); +_$index_29.exports.init = __init_29; +_$index_29.exports["default"] = void 0; + +var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); + +var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); + +_$types_45; + +var ___extend_29 = ___interopRequireDefault_29(_$extend_53); + +var snappers = ___interopRequireWildcard_29(_$snappers_65); + +function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { + __init_29(window); +} + +function __init_29(win) { + (0, ___interact_29.init)(win); + return ___interact_29["default"].use({ + id: 'interactjs', + install: function install() { + ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); + ___interact_29["default"].snappers = snappers; + ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; + } + }); +} + +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 + +if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { + _$index_29.exports = ___interact_29["default"]; +} + +_$index_29 = _$index_29.exports +return _$index_29; + +}); + + +//# sourceMappingURL=interact.js.map + + /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.common.js.map b/dist/vue-grid-layout.common.js.map index e9a0e75b..bbf56035 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/interactjs/dist/interact.min.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?a8b6","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?d677","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/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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A;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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;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;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;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;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;AAC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AO,CAAC,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;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;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,0CAA0C,OAAO,oDAAoD,cAAc,eAAe,oCAAoC,iGAAiG,cAAc,oEAAoE,oFAAoF,QAAQ,YAAY,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,eAAe,2BAA2B,IAAI,mBAAmB,8CAA8C,qBAAqB,6BAA6B,oCAAoC,yBAAyB,kB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A;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,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;AACA;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;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;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;;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;AACA;;;;;;;;ACppBA;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;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,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA,MAAM,eAAC;AACP,OAAO,eAAC,sCAAsC,eAAC,GAAG,eAAC;AACnD,IAAI,qBAAuB,GAAG,eAAC;AAC/B;AACA;;AAEA;AACe,sDAAI;;;;;;;;;;;;;;;;;;;ACdnB,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,4EAA4E,2DAA2D,4CAA4C;AAC7R;;;;;;;;;;;;;;;;;;;;;;ACDA;;;;;;;;;AAOA;;AACA;;;;;;;;AAQA;;;;AAEA;AAEA;;AACA;;;;;;;;;AAMO,SAASA,MAAT,CAAgBC;AAAhB;AAAA;AAAA;AAAwC;AAC7C,MAAIC,GAAG,GAAG,CAAV;AAAA,MAAaC,OAAb;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjDD,WAAO,GAAGF,MAAM,CAACG,CAAD,CAAN,CAAWG,CAAX,GAAeN,MAAM,CAACG,CAAD,CAAN,CAAUI,CAAnC;AACA,QAAIL,OAAO,GAAGD,GAAd,EAAmBA,GAAG,GAAGC,OAAN;AACpB;;AACD,SAAOD,GAAP;AACD;AAEM,SAASO,WAAT,CAAqBR;AAArB;AAAA;AAAA;AAA6C;AAClD,MAAMS,SAAS,GAAGC,KAAK,CAACV,MAAM,CAACK,MAAR,CAAvB;;AACA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjDM,aAAS,CAACN,CAAD,CAAT,GAAeQ,eAAe,CAACX,MAAM,CAACG,CAAD,CAAP,CAA9B;AACD;;AACD,SAAOM,SAAP;AACD,C,CAED;;AACO,SAASE,eAAT,CAAyBC;AAAzB;AAAA;AAAA;AAA6D;AAClE;;;;;;;AAOE,SAAOC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAeH,UAAf,CAAX,CAAP;AACH;AAED;;;;;;AAKO,SAASI,QAAT,CAAkBC;AAAlB;AAAA,EAAkCC;AAAlC;AAAA;AAAA;AAA2D;AAChE,MAAID,EAAE,KAAKC,EAAX,EAAe,OAAO,KAAP,CADiD,CACnC;;AAC7B,MAAID,EAAE,CAACE,CAAH,GAAOF,EAAE,CAACG,CAAV,IAAeF,EAAE,CAACC,CAAtB,EAAyB,OAAO,KAAP,CAFuC,CAEzB;;AACvC,MAAIF,EAAE,CAACE,CAAH,IAAQD,EAAE,CAACC,CAAH,GAAOD,EAAE,CAACE,CAAtB,EAAyB,OAAO,KAAP,CAHuC,CAGzB;;AACvC,MAAIH,EAAE,CAACX,CAAH,GAAOW,EAAE,CAACV,CAAV,IAAeW,EAAE,CAACZ,CAAtB,EAAyB,OAAO,KAAP,CAJuC,CAIzB;;AACvC,MAAIW,EAAE,CAACX,CAAH,IAAQY,EAAE,CAACZ,CAAH,GAAOY,EAAE,CAACX,CAAtB,EAAyB,OAAO,KAAP,CALuC,CAKzB;;AACvC,SAAO,IAAP,CANgE,CAMnD;AACd;AAED;;;;;;;;;;AASO,SAASc,OAAT,CAAiBrB;AAAjB;AAAA,EAAiCsB;AAAjC;AAAA;AAAA;AAAmE;AACtE;AACF,MAAMC,WAAW,GAAGC,UAAU,CAACxB,MAAD,CAA9B,CAFwE,CAGxE;;AACA,MAAMyB,MAAM,GAAGC,uBAAuB,CAAC1B,MAAD,CAAtC,CAJwE,CAKxE;;AACA,MAAM2B,GAAG,GAAGjB,KAAK,CAACV,MAAM,CAACK,MAAR,CAAjB;;AAEA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGqB,MAAM,CAACpB,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIyB,CAAC,GAAGH,MAAM,CAACtB,CAAD,CAAd,CADiD,CAGjD;;AACA,QAAI,CAACyB,CAAC,CAACC,MAAP,EAAe;AACbD,OAAC,GAAGE,WAAW,CAACP,WAAD,EAAcK,CAAd,EAAiBN,eAAjB,CAAf,CADa,CAGb;AACA;;AACAC,iBAAW,CAACQ,IAAZ,CAAiBH,CAAjB;AACD,KAVgD,CAYjD;;;AACAD,OAAG,CAAC3B,MAAM,CAACgC,OAAP,CAAeJ,CAAf,CAAD,CAAH,GAAyBA,CAAzB,CAbiD,CAejD;;AACAA,KAAC,CAACK,KAAF,GAAU,KAAV;AACD;;AAED,SAAON,GAAP;AACD;AAED;;;;AAGO,SAASG,WAAT,CAAqBP;AAArB;AAAA,EAA0CK;AAA1C;AAAA,EAAyDN;AAAzD;AAAA;AAAA;AAA+F;AACpG,MAAIA,eAAJ,EAAqB;AACnB;AACA,WAAOM,CAAC,CAACtB,CAAF,GAAM,CAAN,IAAW,CAAC4B,iBAAiB,CAACX,WAAD,EAAcK,CAAd,CAApC,EAAsD;AACpDA,OAAC,CAACtB,CAAF;AACD;AACF,GANmG,CAQpG;;;AACA,MAAIU,QAAJ;;AACA,SAAOA,QAAQ,GAAGkB,iBAAiB,CAACX,WAAD,EAAcK,CAAd,CAAnC,EAAsD;AACpDA,KAAC,CAACtB,CAAF,GAAMU,QAAQ,CAACV,CAAT,GAAaU,QAAQ,CAACT,CAA5B;AACD;;AACD,SAAOqB,CAAP;AACD;AAED;;;;;;;AAMO,SAASO,aAAT,CAAuBnC;AAAvB;AAAA,EAAuCoC;AAAvC;AAAA;AAAA;AAAuE;AAC5E,MAAMC,YAAY,GAAGb,UAAU,CAACxB,MAAD,CAA/B;;AACA,OAAK,IAAIG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAMyB,CAAC,GAAG5B,MAAM,CAACG,CAAD,CAAhB,CADiD,CAEjD;;AACA,QAAIyB,CAAC,CAACT,CAAF,GAAMS,CAAC,CAACR,CAAR,GAAYgB,MAAM,CAACE,IAAvB,EAA6BV,CAAC,CAACT,CAAF,GAAMiB,MAAM,CAACE,IAAP,GAAcV,CAAC,CAACR,CAAtB,CAHoB,CAIjD;;AACA,QAAIQ,CAAC,CAACT,CAAF,GAAM,CAAV,EAAa;AACXS,OAAC,CAACT,CAAF,GAAM,CAAN;AACAS,OAAC,CAACR,CAAF,GAAMgB,MAAM,CAACE,IAAb;AACD;;AACD,QAAI,CAACV,CAAC,CAACC,MAAP,EAAeQ,YAAY,CAACN,IAAb,CAAkBH,CAAlB,EAAf,KACK;AACH;AACA;AACA,aAAMM,iBAAiB,CAACG,YAAD,EAAeT,CAAf,CAAvB,EAA0C;AACxCA,SAAC,CAACtB,CAAF;AACD;AACF;AACF;;AACD,SAAON,MAAP;AACD;AAED;;;;;;;;AAOO,SAASuC,aAAT,CAAuBvC;AAAvB;AAAA,EAAuCwC;AAAvC;AAAA;AAAA;AAAgE;AACrE,OAAK,IAAIrC,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIH,MAAM,CAACG,CAAD,CAAN,CAAUA,CAAV,KAAgBqC,EAApB,EAAwB,OAAOxC,MAAM,CAACG,CAAD,CAAb;AACzB;AACF;AAED;;;;;;;;;AAQO,SAAS+B,iBAAT,CAA2BlC;AAA3B;AAAA,EAA2CY;AAA3C;AAAA;AAAA;AAAgF;AACrF,OAAK,IAAIT,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIa,QAAQ,CAAChB,MAAM,CAACG,CAAD,CAAP,EAAYS,UAAZ,CAAZ,EAAqC,OAAOZ,MAAM,CAACG,CAAD,CAAb;AACtC;AACF;AAEM,SAASsC,gBAAT,CAA0BzC;AAA1B;AAAA,EAA0CY;AAA1C;AAAA;AAAA;AAAqF;AAC1F,SAAOZ,MAAM,CAAC0C,MAAP,CAAc,UAACd,CAAD;AAAA,WAAOZ,QAAQ,CAACY,CAAD,EAAIhB,UAAJ,CAAf;AAAA,GAAd,CAAP;AACD;AAED;;;;;;AAKO,SAASY,UAAT,CAAoBxB;AAApB;AAAA;AAAA;AAAuD;AAC1D;AACA,SAAOA,MAAM,CAAC0C,MAAP,CAAc,UAACd,CAAD;AAAA,WAAOA,CAAC,CAACC,MAAT;AAAA,GAAd,CAAP;AACH;AAED;;;;;;;;;;;AAUO,SAASc,WAAT,CAAqB3C;AAArB;AAAA,EAAqC4B;AAArC;AAAA,EAAoDT;AAApD;AAAA,EAA+Db;AAA/D;AAAA,EAA0EsC;AAA1E;AAAA,EAAiGC;AAAjG;AAAA;AAAA;AAAoI;AACzI,MAAIjB,CAAC,CAACC,MAAN,EAAc,OAAO7B,MAAP,CAD2H,CAGzI;AACA;;AAEA,MAAM8C,IAAI,GAAGlB,CAAC,CAACT,CAAf;AACA,MAAM4B,IAAI,GAAGnB,CAAC,CAACtB,CAAf;AAEA,MAAM0C,QAAQ,GAAG1C,CAAC,IAAIsB,CAAC,CAACtB,CAAF,GAAMA,CAA5B,CATyI,CAUzI;;AACA,MAAI,OAAOa,CAAP,KAAa,QAAjB,EAA2BS,CAAC,CAACT,CAAF,GAAMA,CAAN;AAC3B,MAAI,OAAOb,CAAP,KAAa,QAAjB,EAA2BsB,CAAC,CAACtB,CAAF,GAAMA,CAAN;AAC3BsB,GAAC,CAACK,KAAF,GAAU,IAAV,CAbyI,CAezI;AACA;AACA;AACA;;AACA,MAAIR,MAAM,GAAGC,uBAAuB,CAAC1B,MAAD,CAApC;AACA,MAAIgD,QAAJ,EAAcvB,MAAM,GAAGA,MAAM,CAACwB,OAAP,EAAT;AACd,MAAMC,UAAU,GAAGT,gBAAgB,CAAChB,MAAD,EAASG,CAAT,CAAnC;;AAEA,MAAIiB,gBAAgB,IAAIK,UAAU,CAAC7C,MAAnC,EAA2C;AACzCuB,KAAC,CAACT,CAAF,GAAM2B,IAAN;AACAlB,KAAC,CAACtB,CAAF,GAAMyC,IAAN;AACAnB,KAAC,CAACK,KAAF,GAAU,KAAV;AACA,WAAOjC,MAAP;AACD,GA5BwI,CA8BzI;;;AACA,OAAK,IAAIG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAG8C,UAAU,CAAC7C,MAAjC,EAAyCF,CAAC,GAAGC,GAA7C,EAAkDD,CAAC,EAAnD,EAAuD;AACrD,QAAMgD,SAAS,GAAGD,UAAU,CAAC/C,CAAD,CAA5B,CADqD,CAErD;AAEA;;AACA,QAAIgD,SAAS,CAAClB,KAAd,EAAqB,SALgC,CAOrD;;AACA,QAAIL,CAAC,CAACtB,CAAF,GAAM6C,SAAS,CAAC7C,CAAhB,IAAqBsB,CAAC,CAACtB,CAAF,GAAM6C,SAAS,CAAC7C,CAAhB,GAAoB6C,SAAS,CAAC5C,CAAV,GAAc,CAA3D,EAA8D,SART,CAUrD;;AACA,QAAI4C,SAAS,CAACtB,MAAd,EAAsB;AACpB7B,YAAM,GAAGoD,4BAA4B,CAACpD,MAAD,EAASmD,SAAT,EAAoBvB,CAApB,EAAuBgB,YAAvB,CAArC;AACD,KAFD,MAEO;AACL5C,YAAM,GAAGoD,4BAA4B,CAACpD,MAAD,EAAS4B,CAAT,EAAYuB,SAAZ,EAAuBP,YAAvB,CAArC;AACD;AACF;;AAED,SAAO5C,MAAP;AACD;AAED;;;;;;;;;;;AAUO,SAASoD,4BAAT,CAAsCpD;AAAtC;AAAA,EAAsDqC;AAAtD;AAAA,EACsCgB;AADtC;AAAA,EAC8DT;AAD9D;AAAA;AAAA;AAC8F;AAEnG,MAAMC,gBAAgB,GAAG,KAAzB,CAFmG,CAEpE;AAC/B;AACA;AACA;;AACA,MAAID,YAAJ,EAAkB;AAChB;AACA,QAAMU;AAAoB;AAAA,MAAG;AAC3BnC,OAAC,EAAEkC,UAAU,CAAClC,CADa;AAE3Bb,OAAC,EAAE+C,UAAU,CAAC/C,CAFa;AAG3Bc,OAAC,EAAEiC,UAAU,CAACjC,CAHa;AAI3Bb,OAAC,EAAE8C,UAAU,CAAC9C,CAJa;AAK3BJ,OAAC,EAAE;AALwB,KAA7B;AAOAmD,YAAQ,CAAChD,CAAT,GAAaiD,IAAI,CAACtD,GAAL,CAASoC,YAAY,CAAC/B,CAAb,GAAiB+C,UAAU,CAAC9C,CAArC,EAAwC,CAAxC,CAAb;;AACA,QAAI,CAAC2B,iBAAiB,CAAClC,MAAD,EAASsD,QAAT,CAAtB,EAA0C;AACxC,aAAOX,WAAW,CAAC3C,MAAD,EAASqD,UAAT,EAAqBG,SAArB,EAAgCF,QAAQ,CAAChD,CAAzC,EAA4CuC,gBAA5C,CAAlB;AACD;AACF,GAnBkG,CAqBnG;AACA;;;AACA,SAAOF,WAAW,CAAC3C,MAAD,EAASqD,UAAT,EAAqBG,SAArB,EAAgCH,UAAU,CAAC/C,CAAX,GAAe,CAA/C,EAAkDuC,gBAAlD,CAAlB;AACD;AAED;;;;;;;AAMO,SAASY,IAAT,CAAcC;AAAd;AAAA;AAAA;AAAmC;AACxC,SAAOA,GAAG,GAAG,GAAN,GAAY,GAAnB;AACD;AAEM,SAASC,YAAT,CAAsBC,GAAtB,EAA2BC,IAA3B,EAAiCC,KAAjC,EAAwCC,MAAxC;AAAA;AAAwD;AAC7D;AACA,MAAMC,SAAS,GAAG,iBAAiBH,IAAjB,GAAwB,KAAxB,GAAgCD,GAAhC,GAAsC,QAAxD;AACA,SAAO;AACLK,aAAS,EAAED,SADN;AAELE,mBAAe,EAAEF,SAFZ;AAGLG,gBAAY,EAAEH,SAHT;AAILI,eAAW,EAAEJ,SAJR;AAKLK,cAAU,EAAEL,SALP;AAMLF,SAAK,EAAEA,KAAK,GAAG,IANV;AAOLC,UAAM,EAAEA,MAAM,GAAG,IAPZ;AAQLO,YAAQ,EAAE;AARL,GAAP;AAUD;AACD;;;;;;;;;;AASO,SAASC,eAAT,CAAyBX,GAAzB,EAA8BY,KAA9B,EAAqCV,KAArC,EAA4CC,MAA5C;AAAA;AAA4D;AAC/D;AACA,MAAMC,SAAS,GAAG,iBAAiBQ,KAAK,GAAG,CAAC,CAA1B,GAA8B,KAA9B,GAAsCZ,GAAtC,GAA4C,QAA9D;AACA,SAAO;AACHK,aAAS,EAAED,SADR;AAEHE,mBAAe,EAAEF,SAFd;AAGHG,gBAAY,EAAEH,SAHX;AAIHI,eAAW,EAAEJ,SAJV;AAKHK,cAAU,EAAEL,SALT;AAMHF,SAAK,EAAEA,KAAK,GAAG,IANZ;AAOHC,UAAM,EAAEA,MAAM,GAAG,IAPd;AAQHO,YAAQ,EAAE;AARP,GAAP;AAUH;AAEM,SAASG,UAAT,CAAoBb,GAApB,EAAyBC,IAAzB,EAA+BC,KAA/B,EAAsCC,MAAtC;AAAA;AAAsD;AACzD,SAAO;AACHH,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHC,QAAI,EAAEA,IAAI,GAAG,IAFV;AAGHC,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHC,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AACD;;;;;;;;;;AASO,SAASI,WAAT,CAAqBd,GAArB,EAA0BY,KAA1B,EAAiCV,KAAjC,EAAwCC,MAAxC;AAAA;AAAwD;AAC3D,SAAO;AACHH,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHY,SAAK,EAAEA,KAAK,GAAE,IAFX;AAGHV,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHC,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AAGD;;;;;;;AAMO,SAAS5C,uBAAT,CAAiC1B;AAAjC;AAAA;AAAA;AAAyD;AAC9D,SAAO,GAAG2E,MAAH,CAAU3E,MAAV,EAAkB4E,IAAlB,CAAuB,UAASC,CAAT,EAAYC,CAAZ,EAAe;AAC3C,QAAID,CAAC,CAACvE,CAAF,KAAQwE,CAAC,CAACxE,CAAV,IAAeuE,CAAC,CAAC1D,CAAF,KAAQ2D,CAAC,CAAC3D,CAA7B,EAAgC;AAC9B,aAAO,CAAP;AACD;;AAED,QAAI0D,CAAC,CAACvE,CAAF,GAAMwE,CAAC,CAACxE,CAAR,IAAcuE,CAAC,CAACvE,CAAF,KAAQwE,CAAC,CAACxE,CAAV,IAAeuE,CAAC,CAAC1D,CAAF,GAAM2D,CAAC,CAAC3D,CAAzC,EAA6C;AAC3C,aAAO,CAAP;AACD;;AAED,WAAO,CAAC,CAAR;AACD,GAVM,CAAP;AAWD;AAED;;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;;;;;;;AAOO,SAAS4D,cAAT,CAAwB/E;AAAxB;AAAA,EAAwCgF;AAAxC;AAAA;AAAA;AAAmE;AACxEA,aAAW,GAAGA,WAAW,IAAI,QAA7B;AACA,MAAMC,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAAjB;AACA,MAAI,CAACvE,KAAK,CAACwE,OAAN,CAAclF,MAAd,CAAL,EAA4B,MAAM,IAAImF,KAAJ,CAAUH,WAAW,GAAG,oBAAxB,CAAN;;AAC5B,OAAK,IAAI7E,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAMiF,IAAI,GAAGpF,MAAM,CAACG,CAAD,CAAnB;;AACA,SAAK,IAAIkF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,QAAQ,CAAC5E,MAA7B,EAAqCgF,CAAC,EAAtC,EAA0C;AACxC,UAAI,OAAOD,IAAI,CAACH,QAAQ,CAACI,CAAD,CAAT,CAAX,KAA6B,QAAjC,EAA2C;AACzC,cAAM,IAAIF,KAAJ,CAAU,oBAAoBH,WAApB,GAAkC,GAAlC,GAAwC7E,CAAxC,GAA4C,IAA5C,GAAmD8E,QAAQ,CAACI,CAAD,CAA3D,GAAiE,oBAA3E,CAAN;AACD;AACF;;AACD,QAAID,IAAI,CAACjF,CAAL,IAAU,OAAOiF,IAAI,CAACjF,CAAZ,KAAkB,QAAhC,EAA0C,CACxC;AACE;AACF;AACD;;AACD,QAAIiF,IAAI,CAACvD,MAAL,KAAgB2B,SAAhB,IAA6B,OAAO4B,IAAI,CAACvD,MAAZ,KAAuB,SAAxD,EAAmE;AACjE,YAAM,IAAIsD,KAAJ,CAAU,oBAAoBH,WAApB,GAAkC,GAAlC,GAAwC7E,CAAxC,GAA4C,6BAAtD,CAAN;AACD;AACF;AACF,C,CAED;;AACO,SAASmF,gBAAT,CAA0BC;AAA1B;AAAA,EAAsCC;AAAtC;AAAA;AAAA;AAAgE;AACrEA,KAAG,CAACC,OAAJ,CAAY,UAACC,GAAD;AAAA,WAASH,EAAE,CAACG,GAAD,CAAF,GAAUH,EAAE,CAACG,GAAD,CAAF,CAAQC,IAAR,CAAaJ,EAAb,CAAnB;AAAA,GAAZ;AACD;AAID;;;;;;AAKO,SAASK,YAAT,CAAsBC,GAAtB,EAA2B;AAC9B,MAAIC,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAYD,GAAZ,CAAX;AACA,MAAI,CAACC,IAAI,CAACzF,MAAV,EAAkB,OAAO,EAAP;AAClB,MAAIF,CAAJ;AAAA,MAAOC,GAAG,GAAG0F,IAAI,CAACzF,MAAlB;AACA,MAAI2F,MAAM,GAAG,EAAb;;AAEA,OAAK7F,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGC,GAAhB,EAAqBD,CAAC,EAAtB,EAA0B;AACtB,QAAIuF,GAAG,GAAGI,IAAI,CAAC3F,CAAD,CAAd;AACA,QAAI8F,GAAG,GAAGJ,GAAG,CAACH,GAAD,CAAb;AACAM,UAAM,IAAIE,SAAS,CAACR,GAAD,CAAT,GAAiB,GAAjB,GAAuBS,KAAK,CAACT,GAAD,EAAMO,GAAN,CAA5B,GAAyC,GAAnD;AACH;;AAED,SAAOD,MAAP;AACH;AAGD;;AACO,IAAII,WAAW,GAAG;AACrBC,yBAAuB,EAAE,IADJ;AAErBC,SAAO,EAAE,IAFY;AAGrBC,cAAY,EAAE,IAHO;AAIrBC,iBAAe,EAAE,IAJI;AAKrBC,aAAW,EAAE,IALQ;AAMrBC,MAAI,EAAE,IANe;AAOrBC,UAAQ,EAAE,IAPW;AAQrBC,cAAY,EAAE,IARO;AASrBC,YAAU,EAAE,IATS;AAUrBC,cAAY,EAAE,IAVO;AAWrBC,WAAS,EAAE,IAXU;AAYrBC,SAAO,EAAE,IAZY;AAarBC,YAAU,EAAE,IAbS;AAcrBC,YAAU,EAAE,IAdS;AAerBC,WAAS,EAAE,IAfU;AAgBrBC,YAAU,EAAE,IAhBS;AAiBrBC,SAAO,EAAE,IAjBY;AAkBrBC,OAAK,EAAE,IAlBc;AAmBrBC,SAAO,EAAE,IAnBY;AAoBrBC,SAAO,EAAE,IApBY;AAqBrBC,QAAM,EAAE,IArBa;AAsBrBC,QAAM,EAAE,IAtBa;AAuBrBC,MAAI,EAAE,IAvBe;AAyBrB;AACAC,aAAW,EAAE,IA1BQ;AA2BrBC,aAAW,EAAE,IA3BQ;AA4BrBC,kBAAgB,EAAE,IA5BG;AA6BrBC,eAAa,EAAE,IA7BM;AA8BrBC,aAAW,EAAE;AA9BQ,CAAlB;AAkCP;;;;;;;AAMO,SAAS7B,KAAT,CAAe8B,IAAf,EAAqBC,KAArB,EAA4B;AAC/B,MAAG,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAAC9B,WAAW,CAAE6B,IAAF,CAA5C,EAAsD;AAClD,WAAOC,KAAK,GAAG,IAAf;AACH,GAFD,MAEO;AACH,WAAOA,KAAP;AACH;AACJ;AAGD;;;;;;;AAOO,IAAIC,WAAW,GAAG,mBAAlB;AAEA,SAASjC,SAAT,CAAmBkC,GAAnB,EAAwB;AAC3B,SAAOA,GAAG,CAACC,OAAJ,CAAYF,WAAZ,EAAyB,OAAzB,EAAkCG,WAAlC,EAAP;AACH;AAGM,SAASC,eAAT,CAAyBC,KAAzB,EAAgCC,QAAhC,EAA0CP,KAA1C,EAAiD;AACpD,OAAK,IAAI/H,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAGqI,KAAK,CAACnI,MAAxB,EAAgCF,CAAC,EAAjC;AACI,QAAIqI,KAAK,CAACrI,CAAD,CAAL,CAASsI,QAAT,KAAsBP,KAA1B,EACI,OAAO,IAAP;AAFR;;AAIA,SAAO,KAAP;AACH;AAEM,SAASQ,aAAT,CAAuBF,KAAvB,EAA8BC,QAA9B,EAAwCP,KAAxC,EAA+C;AAClDM,OAAK,CAAC/C,OAAN,CAAc,UAAUO,MAAV,EAAkB2C,KAAlB,EAAyB;AACnC,QAAI3C,MAAM,CAACyC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;AC9kBD;AACO,SAASE,kBAAT,CAA4BC,CAA5B,EAA+B;AAClC,SAAOC,oBAAoB,CAACD,CAAD,CAA3B;AACH,C,CAGD;;AACO,SAASC,oBAAT,CAA8BC,GAA9B,EAAmC;AACtC,MAAMC,YAAY,GAAGD,GAAG,CAACE,MAAJ,CAAWD,YAAX,IAA2BE,QAAQ,CAACC,IAAzD;AACA,MAAMC,gBAAgB,GAAGL,GAAG,CAACC,YAAJ,KAAqBE,QAAQ,CAACC,IAA9B,GAAqC;AAACvF,QAAI,EAAE,CAAP;AAAUD,OAAG,EAAE;AAAf,GAArC,GAAyDqF,YAAY,CAACK,qBAAb,EAAlF;AAEA,MAAMnI,CAAC,GAAG6H,GAAG,CAACO,OAAJ,GAAcN,YAAY,CAACO,UAA3B,GAAwCH,gBAAgB,CAACxF,IAAnE;AACA,MAAMvD,CAAC,GAAG0I,GAAG,CAACS,OAAJ,GAAcR,YAAY,CAACS,SAA3B,GAAuCL,gBAAgB,CAACzF,GAAlE;AAEA;;;AAIA,SAAO;AAACzC,KAAC,EAADA,CAAD;AAAIb,KAAC,EAADA;AAAJ,GAAP;AACH,C,CAGD;;AACO,SAASqJ,cAAT,CAAwBC,KAAxB,EAA+BC,KAA/B,EAAsC1I,CAAtC,EAAyCb,CAAzC,EAA4C;AAC/C;AACA,MAAMwJ,OAAO,GAAG,CAACC,KAAK,CAACH,KAAD,CAAtB;;AAEA,MAAIE,OAAJ,EAAa;AACT;AACA,WAAO;AACHE,YAAM,EAAE,CADL;AACQC,YAAM,EAAE,CADhB;AAEHL,WAAK,EAAEzI,CAFJ;AAEO0I,WAAK,EAAEvJ,CAFd;AAGHa,OAAC,EAAEA,CAHA;AAGGb,OAAC,EAAEA;AAHN,KAAP;AAKH,GAPD,MAOO;AACH;AACA,WAAO;AACH0J,YAAM,EAAE7I,CAAC,GAAGyI,KADT;AACgBK,YAAM,EAAE3J,CAAC,GAAGuJ,KAD5B;AAEHD,WAAK,EAAEA,KAFJ;AAEWC,WAAK,EAAEA,KAFlB;AAGH1I,OAAC,EAAEA,CAHA;AAGGb,OAAC,EAAEA;AAHN,KAAP;AAKH;AACJ;;AAGD,SAASyJ,KAAT,CAAerG,GAAf,EAAqB;AACjB,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2B,CAACwG,KAAK,CAACxG,GAAD,CAAxC;AACH,C;;AC/CD,IAAIyG;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOjB,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASkB,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACH,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMK,SAAS,GAAI,OAAOrB,QAAQ,CAACsB,GAAhB,KAAwB,WAAzB,GACdtB,QAAQ,CAACsB,GADK,GAEdtB,QAAQ,CAACuB,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACL,WAAJ,EAAgB;AACZD,cAAU,GAAGM,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAG1B,QAAQ,CAACuB,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0CD;AACA;CAEA;;AAEA;;AAEA;AACA,kBADA;AAEA;AACA;;;;;AAIA;;;;;;;;;;;;;;;;AAiBA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KAtBA;AA2BA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KA3BA;;AAgCA;;;;;AAKA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KArCA;AA0CA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KA1CA;AA+CA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KA/CA;AAoDA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KApDA;AAyDA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAzDA;AA8DA;AACA,kBADA;AAEA;AAFA,KA9DA;AAkEA;AACA,kBADA;AAEA;AAFA,KAlEA;AAsEA;AACA,kBADA;AAEA;AAFA,KAtEA;AA0EA;AACA,kBADA;AAEA;AAFA,KA1EA;AA8EA;AACA;AADA,KA9EA;AAiFA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAjFA;AAsFA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAtFA;AA2FA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA;AA3FA,GAFA;AAmGA,sBAnGA;AAoGA;AACA;AACA,aADA;AAEA,yBAFA;AAGA,mBAHA;AAIA,sBAJA;AAKA,uBALA;AAMA,qBANA;AAOA,qBAPA;AAQA,4BARA;AAUA,uBAVA;AAWA,oBAXA;AAYA,uBAZA;AAaA,oBAbA;AAcA,gBAdA;AAeA,gBAfA;AAgBA,gBAhBA;AAiBA,gBAjBA;AAkBA,eAlBA;AAmBA,gBAnBA;AAqBA,yBArBA;AAsBA,2BAtBA;AAwBA,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAXA,CAWA;AACA,GAvMA;AAwMA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;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;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A,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;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;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;;;AClBwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;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 \n\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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=c806aad8&\"\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\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\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=5a186489&\"\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\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/_object-assign.js","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/modules/es6.object.assign.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?a307","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?f4e6","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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A;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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;;AAE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AiB;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA,MAAM,eAAC;AACP,OAAO,eAAC,sCAAsC,eAAC,GAAG,eAAC;AACnD,IAAI,qBAAuB,GAAG,eAAC;AAC/B;AACA;;AAEA;AACe,sDAAI;;;;;;;;;;;;;;;;;;;ACdnB,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,4EAA4E,2DAA2D,4CAA4C;AAC7R;;;;;;;;;;;;;;;;;;;;;;;ACDA;;;;;;;;;AAOA;;AACA;;;;;;;;AAQA;;;;AAEA;AAEA;;AACA;;;;;;;;;AAMO,SAASA,MAAT,CAAgBC;AAAhB;AAAA;AAAA;AAAwC;AAC7C,MAAIC,GAAG,GAAG,CAAV;AAAA,MAAaC,OAAb;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjDD,WAAO,GAAGF,MAAM,CAACG,CAAD,CAAN,CAAWG,CAAX,GAAeN,MAAM,CAACG,CAAD,CAAN,CAAUI,CAAnC;AACA,QAAIL,OAAO,GAAGD,GAAd,EAAmBA,GAAG,GAAGC,OAAN;AACpB;;AACD,SAAOD,GAAP;AACD;AAEM,SAASO,WAAT,CAAqBR;AAArB;AAAA;AAAA;AAA6C;AAClD,MAAMS,SAAS,GAAGC,KAAK,CAACV,MAAM,CAACK,MAAR,CAAvB;;AACA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjDM,aAAS,CAACN,CAAD,CAAT,GAAeQ,eAAe,CAACX,MAAM,CAACG,CAAD,CAAP,CAA9B;AACD;;AACD,SAAOM,SAAP;AACD,C,CAED;;AACO,SAASE,eAAT,CAAyBC;AAAzB;AAAA;AAAA;AAA6D;AAClE;;;;;;;AAOE,SAAOC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAeH,UAAf,CAAX,CAAP;AACH;AAED;;;;;;AAKO,SAASI,QAAT,CAAkBC;AAAlB;AAAA,EAAkCC;AAAlC;AAAA;AAAA;AAA2D;AAChE,MAAID,EAAE,KAAKC,EAAX,EAAe,OAAO,KAAP,CADiD,CACnC;;AAC7B,MAAID,EAAE,CAACE,CAAH,GAAOF,EAAE,CAACG,CAAV,IAAeF,EAAE,CAACC,CAAtB,EAAyB,OAAO,KAAP,CAFuC,CAEzB;;AACvC,MAAIF,EAAE,CAACE,CAAH,IAAQD,EAAE,CAACC,CAAH,GAAOD,EAAE,CAACE,CAAtB,EAAyB,OAAO,KAAP,CAHuC,CAGzB;;AACvC,MAAIH,EAAE,CAACX,CAAH,GAAOW,EAAE,CAACV,CAAV,IAAeW,EAAE,CAACZ,CAAtB,EAAyB,OAAO,KAAP,CAJuC,CAIzB;;AACvC,MAAIW,EAAE,CAACX,CAAH,IAAQY,EAAE,CAACZ,CAAH,GAAOY,EAAE,CAACX,CAAtB,EAAyB,OAAO,KAAP,CALuC,CAKzB;;AACvC,SAAO,IAAP,CANgE,CAMnD;AACd;AAED;;;;;;;;;;AASO,SAASc,OAAT,CAAiBrB;AAAjB;AAAA,EAAiCsB;AAAjC;AAAA;AAAA;AAAmE;AACtE;AACF,MAAMC,WAAW,GAAGC,UAAU,CAACxB,MAAD,CAA9B,CAFwE,CAGxE;;AACA,MAAMyB,MAAM,GAAGC,uBAAuB,CAAC1B,MAAD,CAAtC,CAJwE,CAKxE;;AACA,MAAM2B,GAAG,GAAGjB,KAAK,CAACV,MAAM,CAACK,MAAR,CAAjB;;AAEA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGqB,MAAM,CAACpB,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIyB,CAAC,GAAGH,MAAM,CAACtB,CAAD,CAAd,CADiD,CAGjD;;AACA,QAAI,CAACyB,CAAC,CAACC,MAAP,EAAe;AACbD,OAAC,GAAGE,WAAW,CAACP,WAAD,EAAcK,CAAd,EAAiBN,eAAjB,CAAf,CADa,CAGb;AACA;;AACAC,iBAAW,CAACQ,IAAZ,CAAiBH,CAAjB;AACD,KAVgD,CAYjD;;;AACAD,OAAG,CAAC3B,MAAM,CAACgC,OAAP,CAAeJ,CAAf,CAAD,CAAH,GAAyBA,CAAzB,CAbiD,CAejD;;AACAA,KAAC,CAACK,KAAF,GAAU,KAAV;AACD;;AAED,SAAON,GAAP;AACD;AAED;;;;AAGO,SAASG,WAAT,CAAqBP;AAArB;AAAA,EAA0CK;AAA1C;AAAA,EAAyDN;AAAzD;AAAA;AAAA;AAA+F;AACpG,MAAIA,eAAJ,EAAqB;AACnB;AACA,WAAOM,CAAC,CAACtB,CAAF,GAAM,CAAN,IAAW,CAAC4B,iBAAiB,CAACX,WAAD,EAAcK,CAAd,CAApC,EAAsD;AACpDA,OAAC,CAACtB,CAAF;AACD;AACF,GANmG,CAQpG;;;AACA,MAAIU,QAAJ;;AACA,SAAOA,QAAQ,GAAGkB,iBAAiB,CAACX,WAAD,EAAcK,CAAd,CAAnC,EAAsD;AACpDA,KAAC,CAACtB,CAAF,GAAMU,QAAQ,CAACV,CAAT,GAAaU,QAAQ,CAACT,CAA5B;AACD;;AACD,SAAOqB,CAAP;AACD;AAED;;;;;;;AAMO,SAASO,aAAT,CAAuBnC;AAAvB;AAAA,EAAuCoC;AAAvC;AAAA;AAAA;AAAuE;AAC5E,MAAMC,YAAY,GAAGb,UAAU,CAACxB,MAAD,CAA/B;;AACA,OAAK,IAAIG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAMyB,CAAC,GAAG5B,MAAM,CAACG,CAAD,CAAhB,CADiD,CAEjD;;AACA,QAAIyB,CAAC,CAACT,CAAF,GAAMS,CAAC,CAACR,CAAR,GAAYgB,MAAM,CAACE,IAAvB,EAA6BV,CAAC,CAACT,CAAF,GAAMiB,MAAM,CAACE,IAAP,GAAcV,CAAC,CAACR,CAAtB,CAHoB,CAIjD;;AACA,QAAIQ,CAAC,CAACT,CAAF,GAAM,CAAV,EAAa;AACXS,OAAC,CAACT,CAAF,GAAM,CAAN;AACAS,OAAC,CAACR,CAAF,GAAMgB,MAAM,CAACE,IAAb;AACD;;AACD,QAAI,CAACV,CAAC,CAACC,MAAP,EAAeQ,YAAY,CAACN,IAAb,CAAkBH,CAAlB,EAAf,KACK;AACH;AACA;AACA,aAAMM,iBAAiB,CAACG,YAAD,EAAeT,CAAf,CAAvB,EAA0C;AACxCA,SAAC,CAACtB,CAAF;AACD;AACF;AACF;;AACD,SAAON,MAAP;AACD;AAED;;;;;;;;AAOO,SAASuC,aAAT,CAAuBvC;AAAvB;AAAA,EAAuCwC;AAAvC;AAAA;AAAA;AAAgE;AACrE,OAAK,IAAIrC,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIH,MAAM,CAACG,CAAD,CAAN,CAAUA,CAAV,KAAgBqC,EAApB,EAAwB,OAAOxC,MAAM,CAACG,CAAD,CAAb;AACzB;AACF;AAED;;;;;;;;;AAQO,SAAS+B,iBAAT,CAA2BlC;AAA3B;AAAA,EAA2CY;AAA3C;AAAA;AAAA;AAAgF;AACrF,OAAK,IAAIT,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIa,QAAQ,CAAChB,MAAM,CAACG,CAAD,CAAP,EAAYS,UAAZ,CAAZ,EAAqC,OAAOZ,MAAM,CAACG,CAAD,CAAb;AACtC;AACF;AAEM,SAASsC,gBAAT,CAA0BzC;AAA1B;AAAA,EAA0CY;AAA1C;AAAA;AAAA;AAAqF;AAC1F,SAAOZ,MAAM,CAAC0C,MAAP,CAAc,UAACd,CAAD;AAAA,WAAOZ,QAAQ,CAACY,CAAD,EAAIhB,UAAJ,CAAf;AAAA,GAAd,CAAP;AACD;AAED;;;;;;AAKO,SAASY,UAAT,CAAoBxB;AAApB;AAAA;AAAA;AAAuD;AAC1D;AACA,SAAOA,MAAM,CAAC0C,MAAP,CAAc,UAACd,CAAD;AAAA,WAAOA,CAAC,CAACC,MAAT;AAAA,GAAd,CAAP;AACH;AAED;;;;;;;;;;;AAUO,SAASc,WAAT,CAAqB3C;AAArB;AAAA,EAAqC4B;AAArC;AAAA,EAAoDT;AAApD;AAAA,EAA+Db;AAA/D;AAAA,EAA0EsC;AAA1E;AAAA,EAAiGC;AAAjG;AAAA;AAAA;AAAoI;AACzI,MAAIjB,CAAC,CAACC,MAAN,EAAc,OAAO7B,MAAP,CAD2H,CAGzI;AACA;;AAEA,MAAM8C,IAAI,GAAGlB,CAAC,CAACT,CAAf;AACA,MAAM4B,IAAI,GAAGnB,CAAC,CAACtB,CAAf;AAEA,MAAM0C,QAAQ,GAAG1C,CAAC,IAAIsB,CAAC,CAACtB,CAAF,GAAMA,CAA5B,CATyI,CAUzI;;AACA,MAAI,OAAOa,CAAP,KAAa,QAAjB,EAA2BS,CAAC,CAACT,CAAF,GAAMA,CAAN;AAC3B,MAAI,OAAOb,CAAP,KAAa,QAAjB,EAA2BsB,CAAC,CAACtB,CAAF,GAAMA,CAAN;AAC3BsB,GAAC,CAACK,KAAF,GAAU,IAAV,CAbyI,CAezI;AACA;AACA;AACA;;AACA,MAAIR,MAAM,GAAGC,uBAAuB,CAAC1B,MAAD,CAApC;AACA,MAAIgD,QAAJ,EAAcvB,MAAM,GAAGA,MAAM,CAACwB,OAAP,EAAT;AACd,MAAMC,UAAU,GAAGT,gBAAgB,CAAChB,MAAD,EAASG,CAAT,CAAnC;;AAEA,MAAIiB,gBAAgB,IAAIK,UAAU,CAAC7C,MAAnC,EAA2C;AACzCuB,KAAC,CAACT,CAAF,GAAM2B,IAAN;AACAlB,KAAC,CAACtB,CAAF,GAAMyC,IAAN;AACAnB,KAAC,CAACK,KAAF,GAAU,KAAV;AACA,WAAOjC,MAAP;AACD,GA5BwI,CA8BzI;;;AACA,OAAK,IAAIG,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAG8C,UAAU,CAAC7C,MAAjC,EAAyCF,CAAC,GAAGC,GAA7C,EAAkDD,CAAC,EAAnD,EAAuD;AACrD,QAAMgD,SAAS,GAAGD,UAAU,CAAC/C,CAAD,CAA5B,CADqD,CAErD;AAEA;;AACA,QAAIgD,SAAS,CAAClB,KAAd,EAAqB,SALgC,CAOrD;;AACA,QAAIL,CAAC,CAACtB,CAAF,GAAM6C,SAAS,CAAC7C,CAAhB,IAAqBsB,CAAC,CAACtB,CAAF,GAAM6C,SAAS,CAAC7C,CAAhB,GAAoB6C,SAAS,CAAC5C,CAAV,GAAc,CAA3D,EAA8D,SART,CAUrD;;AACA,QAAI4C,SAAS,CAACtB,MAAd,EAAsB;AACpB7B,YAAM,GAAGoD,4BAA4B,CAACpD,MAAD,EAASmD,SAAT,EAAoBvB,CAApB,EAAuBgB,YAAvB,CAArC;AACD,KAFD,MAEO;AACL5C,YAAM,GAAGoD,4BAA4B,CAACpD,MAAD,EAAS4B,CAAT,EAAYuB,SAAZ,EAAuBP,YAAvB,CAArC;AACD;AACF;;AAED,SAAO5C,MAAP;AACD;AAED;;;;;;;;;;;AAUO,SAASoD,4BAAT,CAAsCpD;AAAtC;AAAA,EAAsDqC;AAAtD;AAAA,EACsCgB;AADtC;AAAA,EAC8DT;AAD9D;AAAA;AAAA;AAC8F;AAEnG,MAAMC,gBAAgB,GAAG,KAAzB,CAFmG,CAEpE;AAC/B;AACA;AACA;;AACA,MAAID,YAAJ,EAAkB;AAChB;AACA,QAAMU;AAAoB;AAAA,MAAG;AAC3BnC,OAAC,EAAEkC,UAAU,CAAClC,CADa;AAE3Bb,OAAC,EAAE+C,UAAU,CAAC/C,CAFa;AAG3Bc,OAAC,EAAEiC,UAAU,CAACjC,CAHa;AAI3Bb,OAAC,EAAE8C,UAAU,CAAC9C,CAJa;AAK3BJ,OAAC,EAAE;AALwB,KAA7B;AAOAmD,YAAQ,CAAChD,CAAT,GAAaiD,IAAI,CAACtD,GAAL,CAASoC,YAAY,CAAC/B,CAAb,GAAiB+C,UAAU,CAAC9C,CAArC,EAAwC,CAAxC,CAAb;;AACA,QAAI,CAAC2B,iBAAiB,CAAClC,MAAD,EAASsD,QAAT,CAAtB,EAA0C;AACxC,aAAOX,WAAW,CAAC3C,MAAD,EAASqD,UAAT,EAAqBG,SAArB,EAAgCF,QAAQ,CAAChD,CAAzC,EAA4CuC,gBAA5C,CAAlB;AACD;AACF,GAnBkG,CAqBnG;AACA;;;AACA,SAAOF,WAAW,CAAC3C,MAAD,EAASqD,UAAT,EAAqBG,SAArB,EAAgCH,UAAU,CAAC/C,CAAX,GAAe,CAA/C,EAAkDuC,gBAAlD,CAAlB;AACD;AAED;;;;;;;AAMO,SAASY,IAAT,CAAcC;AAAd;AAAA;AAAA;AAAmC;AACxC,SAAOA,GAAG,GAAG,GAAN,GAAY,GAAnB;AACD;AAEM,SAASC,YAAT,CAAsBC,GAAtB,EAA2BC,IAA3B,EAAiCC,KAAjC,EAAwCC,MAAxC;AAAA;AAAwD;AAC7D;AACA,MAAMC,SAAS,GAAG,iBAAiBH,IAAjB,GAAwB,KAAxB,GAAgCD,GAAhC,GAAsC,QAAxD;AACA,SAAO;AACLK,aAAS,EAAED,SADN;AAELE,mBAAe,EAAEF,SAFZ;AAGLG,gBAAY,EAAEH,SAHT;AAILI,eAAW,EAAEJ,SAJR;AAKLK,cAAU,EAAEL,SALP;AAMLF,SAAK,EAAEA,KAAK,GAAG,IANV;AAOLC,UAAM,EAAEA,MAAM,GAAG,IAPZ;AAQLO,YAAQ,EAAE;AARL,GAAP;AAUD;AACD;;;;;;;;;;AASO,SAASC,eAAT,CAAyBX,GAAzB,EAA8BY,KAA9B,EAAqCV,KAArC,EAA4CC,MAA5C;AAAA;AAA4D;AAC/D;AACA,MAAMC,SAAS,GAAG,iBAAiBQ,KAAK,GAAG,CAAC,CAA1B,GAA8B,KAA9B,GAAsCZ,GAAtC,GAA4C,QAA9D;AACA,SAAO;AACHK,aAAS,EAAED,SADR;AAEHE,mBAAe,EAAEF,SAFd;AAGHG,gBAAY,EAAEH,SAHX;AAIHI,eAAW,EAAEJ,SAJV;AAKHK,cAAU,EAAEL,SALT;AAMHF,SAAK,EAAEA,KAAK,GAAG,IANZ;AAOHC,UAAM,EAAEA,MAAM,GAAG,IAPd;AAQHO,YAAQ,EAAE;AARP,GAAP;AAUH;AAEM,SAASG,UAAT,CAAoBb,GAApB,EAAyBC,IAAzB,EAA+BC,KAA/B,EAAsCC,MAAtC;AAAA;AAAsD;AACzD,SAAO;AACHH,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHC,QAAI,EAAEA,IAAI,GAAG,IAFV;AAGHC,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHC,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AACD;;;;;;;;;;AASO,SAASI,WAAT,CAAqBd,GAArB,EAA0BY,KAA1B,EAAiCV,KAAjC,EAAwCC,MAAxC;AAAA;AAAwD;AAC3D,SAAO;AACHH,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHY,SAAK,EAAEA,KAAK,GAAE,IAFX;AAGHV,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHC,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AAGD;;;;;;;AAMO,SAAS5C,uBAAT,CAAiC1B;AAAjC;AAAA;AAAA;AAAyD;AAC9D,SAAO,GAAG2E,MAAH,CAAU3E,MAAV,EAAkB4E,IAAlB,CAAuB,UAASC,CAAT,EAAYC,CAAZ,EAAe;AAC3C,QAAID,CAAC,CAACvE,CAAF,KAAQwE,CAAC,CAACxE,CAAV,IAAeuE,CAAC,CAAC1D,CAAF,KAAQ2D,CAAC,CAAC3D,CAA7B,EAAgC;AAC9B,aAAO,CAAP;AACD;;AAED,QAAI0D,CAAC,CAACvE,CAAF,GAAMwE,CAAC,CAACxE,CAAR,IAAcuE,CAAC,CAACvE,CAAF,KAAQwE,CAAC,CAACxE,CAAV,IAAeuE,CAAC,CAAC1D,CAAF,GAAM2D,CAAC,CAAC3D,CAAzC,EAA6C;AAC3C,aAAO,CAAP;AACD;;AAED,WAAO,CAAC,CAAR;AACD,GAVM,CAAP;AAWD;AAED;;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;;;;;;;AAOO,SAAS4D,cAAT,CAAwB/E;AAAxB;AAAA,EAAwCgF;AAAxC;AAAA;AAAA;AAAmE;AACxEA,aAAW,GAAGA,WAAW,IAAI,QAA7B;AACA,MAAMC,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAAjB;AACA,MAAI,CAACvE,KAAK,CAACwE,OAAN,CAAclF,MAAd,CAAL,EAA4B,MAAM,IAAImF,KAAJ,CAAUH,WAAW,GAAG,oBAAxB,CAAN;;AAC5B,OAAK,IAAI7E,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAMiF,IAAI,GAAGpF,MAAM,CAACG,CAAD,CAAnB;;AACA,SAAK,IAAIkF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,QAAQ,CAAC5E,MAA7B,EAAqCgF,CAAC,EAAtC,EAA0C;AACxC,UAAI,OAAOD,IAAI,CAACH,QAAQ,CAACI,CAAD,CAAT,CAAX,KAA6B,QAAjC,EAA2C;AACzC,cAAM,IAAIF,KAAJ,CAAU,oBAAoBH,WAApB,GAAkC,GAAlC,GAAwC7E,CAAxC,GAA4C,IAA5C,GAAmD8E,QAAQ,CAACI,CAAD,CAA3D,GAAiE,oBAA3E,CAAN;AACD;AACF;;AACD,QAAID,IAAI,CAACjF,CAAL,IAAU,OAAOiF,IAAI,CAACjF,CAAZ,KAAkB,QAAhC,EAA0C,CACxC;AACE;AACF;AACD;;AACD,QAAIiF,IAAI,CAACvD,MAAL,KAAgB2B,SAAhB,IAA6B,OAAO4B,IAAI,CAACvD,MAAZ,KAAuB,SAAxD,EAAmE;AACjE,YAAM,IAAIsD,KAAJ,CAAU,oBAAoBH,WAApB,GAAkC,GAAlC,GAAwC7E,CAAxC,GAA4C,6BAAtD,CAAN;AACD;AACF;AACF,C,CAED;;AACO,SAASmF,gBAAT,CAA0BC;AAA1B;AAAA,EAAsCC;AAAtC;AAAA;AAAA;AAAgE;AACrEA,KAAG,CAACC,OAAJ,CAAY,UAACC,GAAD;AAAA,WAASH,EAAE,CAACG,GAAD,CAAF,GAAUH,EAAE,CAACG,GAAD,CAAF,CAAQC,IAAR,CAAaJ,EAAb,CAAnB;AAAA,GAAZ;AACD;AAID;;;;;;AAKO,SAASK,YAAT,CAAsBC,GAAtB,EAA2B;AAC9B,MAAIC,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAYD,GAAZ,CAAX;AACA,MAAI,CAACC,IAAI,CAACzF,MAAV,EAAkB,OAAO,EAAP;AAClB,MAAIF,CAAJ;AAAA,MAAOC,GAAG,GAAG0F,IAAI,CAACzF,MAAlB;AACA,MAAI2F,MAAM,GAAG,EAAb;;AAEA,OAAK7F,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGC,GAAhB,EAAqBD,CAAC,EAAtB,EAA0B;AACtB,QAAIuF,GAAG,GAAGI,IAAI,CAAC3F,CAAD,CAAd;AACA,QAAI8F,GAAG,GAAGJ,GAAG,CAACH,GAAD,CAAb;AACAM,UAAM,IAAIE,SAAS,CAACR,GAAD,CAAT,GAAiB,GAAjB,GAAuBS,KAAK,CAACT,GAAD,EAAMO,GAAN,CAA5B,GAAyC,GAAnD;AACH;;AAED,SAAOD,MAAP;AACH;AAGD;;AACO,IAAII,WAAW,GAAG;AACrBC,yBAAuB,EAAE,IADJ;AAErBC,SAAO,EAAE,IAFY;AAGrBC,cAAY,EAAE,IAHO;AAIrBC,iBAAe,EAAE,IAJI;AAKrBC,aAAW,EAAE,IALQ;AAMrBC,MAAI,EAAE,IANe;AAOrBC,UAAQ,EAAE,IAPW;AAQrBC,cAAY,EAAE,IARO;AASrBC,YAAU,EAAE,IATS;AAUrBC,cAAY,EAAE,IAVO;AAWrBC,WAAS,EAAE,IAXU;AAYrBC,SAAO,EAAE,IAZY;AAarBC,YAAU,EAAE,IAbS;AAcrBC,YAAU,EAAE,IAdS;AAerBC,WAAS,EAAE,IAfU;AAgBrBC,YAAU,EAAE,IAhBS;AAiBrBC,SAAO,EAAE,IAjBY;AAkBrBC,OAAK,EAAE,IAlBc;AAmBrBC,SAAO,EAAE,IAnBY;AAoBrBC,SAAO,EAAE,IApBY;AAqBrBC,QAAM,EAAE,IArBa;AAsBrBC,QAAM,EAAE,IAtBa;AAuBrBC,MAAI,EAAE,IAvBe;AAyBrB;AACAC,aAAW,EAAE,IA1BQ;AA2BrBC,aAAW,EAAE,IA3BQ;AA4BrBC,kBAAgB,EAAE,IA5BG;AA6BrBC,eAAa,EAAE,IA7BM;AA8BrBC,aAAW,EAAE;AA9BQ,CAAlB;AAkCP;;;;;;;AAMO,SAAS7B,KAAT,CAAe8B,IAAf,EAAqBC,KAArB,EAA4B;AAC/B,MAAG,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAAC9B,WAAW,CAAE6B,IAAF,CAA5C,EAAsD;AAClD,WAAOC,KAAK,GAAG,IAAf;AACH,GAFD,MAEO;AACH,WAAOA,KAAP;AACH;AACJ;AAGD;;;;;;;AAOO,IAAIC,WAAW,GAAG,mBAAlB;AAEA,SAASjC,SAAT,CAAmBkC,GAAnB,EAAwB;AAC3B,SAAOA,GAAG,CAACC,OAAJ,CAAYF,WAAZ,EAAyB,OAAzB,EAAkCG,WAAlC,EAAP;AACH;AAGM,SAASC,eAAT,CAAyBC,KAAzB,EAAgCC,QAAhC,EAA0CP,KAA1C,EAAiD;AACpD,OAAK,IAAI/H,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAGqI,KAAK,CAACnI,MAAxB,EAAgCF,CAAC,EAAjC;AACI,QAAIqI,KAAK,CAACrI,CAAD,CAAL,CAASsI,QAAT,KAAsBP,KAA1B,EACI,OAAO,IAAP;AAFR;;AAIA,SAAO,KAAP;AACH;AAEM,SAASQ,aAAT,CAAuBF,KAAvB,EAA8BC,QAA9B,EAAwCP,KAAxC,EAA+C;AAClDM,OAAK,CAAC/C,OAAN,CAAc,UAAUO,MAAV,EAAkB2C,KAAlB,EAAyB;AACnC,QAAI3C,MAAM,CAACyC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;AC9kBD;AACO,SAASE,kBAAT,CAA4BC,CAA5B,EAA+B;AAClC,SAAOC,oBAAoB,CAACD,CAAD,CAA3B;AACH,C,CAGD;;AACO,SAASC,oBAAT,CAA8BC,GAA9B,EAAmC;AACtC,MAAMC,YAAY,GAAGD,GAAG,CAACE,MAAJ,CAAWD,YAAX,IAA2BE,QAAQ,CAACC,IAAzD;AACA,MAAMC,gBAAgB,GAAGL,GAAG,CAACC,YAAJ,KAAqBE,QAAQ,CAACC,IAA9B,GAAqC;AAACvF,QAAI,EAAE,CAAP;AAAUD,OAAG,EAAE;AAAf,GAArC,GAAyDqF,YAAY,CAACK,qBAAb,EAAlF;AAEA,MAAMnI,CAAC,GAAG6H,GAAG,CAACO,OAAJ,GAAcN,YAAY,CAACO,UAA3B,GAAwCH,gBAAgB,CAACxF,IAAnE;AACA,MAAMvD,CAAC,GAAG0I,GAAG,CAACS,OAAJ,GAAcR,YAAY,CAACS,SAA3B,GAAuCL,gBAAgB,CAACzF,GAAlE;AAEA;;;AAIA,SAAO;AAACzC,KAAC,EAADA,CAAD;AAAIb,KAAC,EAADA;AAAJ,GAAP;AACH,C,CAGD;;AACO,SAASqJ,cAAT,CAAwBC,KAAxB,EAA+BC,KAA/B,EAAsC1I,CAAtC,EAAyCb,CAAzC,EAA4C;AAC/C;AACA,MAAMwJ,OAAO,GAAG,CAACC,KAAK,CAACH,KAAD,CAAtB;;AAEA,MAAIE,OAAJ,EAAa;AACT;AACA,WAAO;AACHE,YAAM,EAAE,CADL;AACQC,YAAM,EAAE,CADhB;AAEHL,WAAK,EAAEzI,CAFJ;AAEO0I,WAAK,EAAEvJ,CAFd;AAGHa,OAAC,EAAEA,CAHA;AAGGb,OAAC,EAAEA;AAHN,KAAP;AAKH,GAPD,MAOO;AACH;AACA,WAAO;AACH0J,YAAM,EAAE7I,CAAC,GAAGyI,KADT;AACgBK,YAAM,EAAE3J,CAAC,GAAGuJ,KAD5B;AAEHD,WAAK,EAAEA,KAFJ;AAEWC,WAAK,EAAEA,KAFlB;AAGH1I,OAAC,EAAEA,CAHA;AAGGb,OAAC,EAAEA;AAHN,KAAP;AAKH;AACJ;;AAGD,SAASyJ,KAAT,CAAerG,GAAf,EAAqB;AACjB,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2B,CAACwG,KAAK,CAACxG,GAAD,CAAxC;AACH,C;;AC/CD,IAAIyG;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOjB,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASkB,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACH,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMK,SAAS,GAAI,OAAOrB,QAAQ,CAACsB,GAAhB,KAAwB,WAAzB,GACdtB,QAAQ,CAACsB,GADK,GAEdtB,QAAQ,CAACuB,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACL,WAAJ,EAAgB;AACZD,cAAU,GAAGM,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAG1B,QAAQ,CAACuB,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0CD;AACA;CAEA;;AAEA;;AAEA;AACA,kBADA;AAEA;AACA;;;;;AAIA;;;;;;;;;;;;;;;;AAiBA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KAtBA;AA2BA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KA3BA;;AAgCA;;;;;AAKA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KArCA;AA0CA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KA1CA;AA+CA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KA/CA;AAoDA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KApDA;AAyDA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAzDA;AA8DA;AACA,kBADA;AAEA;AAFA,KA9DA;AAkEA;AACA,kBADA;AAEA;AAFA,KAlEA;AAsEA;AACA,kBADA;AAEA;AAFA,KAtEA;AA0EA;AACA,kBADA;AAEA;AAFA,KA1EA;AA8EA;AACA;AADA,KA9EA;AAiFA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAjFA;AAsFA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAtFA;AA2FA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA;AA3FA,GAFA;AAmGA,sBAnGA;AAoGA;AACA;AACA,aADA;AAEA,yBAFA;AAGA,mBAHA;AAIA,sBAJA;AAKA,uBALA;AAMA,qBANA;AAOA,qBAPA;AAQA,4BARA;AAUA,uBAVA;AAWA,oBAXA;AAYA,uBAZA;AAaA,oBAbA;AAcA,gBAdA;AAeA,gBAfA;AAgBA,gBAhBA;AAiBA,gBAjBA;AAkBA,eAlBA;AAmBA,gBAnBA;AAqBA,yBArBA;AAsBA,2BAtBA;AAwBA,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,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;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FA;;AAIA;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;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,KAjFA;AAkFA;AACA,6CADA,CAEA;;AACA;AACA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A;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;AA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D,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;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;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,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA,kBAAkB,uBAAuB;AACzC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,eAAe;AACjE;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;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,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA;;AAEA,kEAAkE;;AAElE;;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,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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA,oGAAoG,4CAA4C;;AAEhJ;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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;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;AA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A;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;A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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;;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;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,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,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;;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,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,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,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,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,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;;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,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,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;AACA;AACA,2CAA2C;;AAE3C,KAAK,MAAwB,GAAG,SAAW;AAC3C;AACA;;AAEA;AACA;;AAEA,CAAC;;;AAGD;;;;;;;;ACryTA;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=58da2a1f&\"\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=6594d2a5&\"\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 639ef276..6621e010 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -347,6 +347,10 @@ module.exports = function(options) { * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback. */ function addListener(element, listener) { + if(!getObject(element)) { + throw new Error("Element is not detectable by this strategy."); + } + function listenerProxy() { listener(element); } @@ -359,21 +363,10 @@ module.exports = function(options) { element.attachEvent("onresize", listenerProxy); } else { var object = getObject(element); - - if(!object) { - throw new Error("Element is not detectable by this strategy."); - } - object.contentDocument.defaultView.addEventListener("resize", listenerProxy); } } - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } - /** * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes. * @private @@ -392,7 +385,7 @@ module.exports = function(options) { var debug = options.debug; function injectObject(element, callback) { - var OBJECT_STYLE = buildCssTextString(["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"]); + var OBJECT_STYLE = "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;"; //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element. @@ -413,7 +406,7 @@ module.exports = function(options) { function mutateDom() { function alterPositionStyles() { if(style.position === "static") { - element.style.setProperty("position", "relative", options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -424,7 +417,7 @@ module.exports = function(options) { if(value !== "auto" && getNumericalValue(value) !== "0") { reporter.warn("An element that is positioned static has style." + property + "=" + value + " which is ignored due to the static positioning. The element will need to be positioned relative, so the style." + property + " will be set to 0. Element: ", element); - element.style.setProperty(property, "0", options.important ? "important" : ""); + element.style[property] = 0; } }; @@ -450,12 +443,7 @@ module.exports = function(options) { //So if it is not present, poll it with an timeout until it is present. //TODO: Could maybe be handled better with object.onreadystatechange or similar. if(!element.contentDocument) { - var state = getState(element); - if (state.checkForObjectDocumentTimeoutId) { - window.clearTimeout(state.checkForObjectDocumentTimeoutId); - } - state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() { - state.checkForObjectDocumentTimeoutId = 0; + setTimeout(function checkForObjectDocument() { getDocument(element, callback); }, 100); @@ -497,11 +485,6 @@ module.exports = function(options) { object.data = "about:blank"; } - if (!getState(element)) { - // The element has been uninstalled before the actual loading happened. - return; - } - element.appendChild(object); getState(element).object = object; @@ -539,26 +522,11 @@ module.exports = function(options) { } function uninstall(element) { - if (!getState(element)) { - return; - } - - var object = getObject(element); - - if (!object) { - return; - } - - if (browserDetector.isIE(8)) { - element.detachEvent("onresize", object.proxy); + if(browserDetector.isIE(8)) { + element.detachEvent("onresize", getState(element).object.proxy); } else { - element.removeChild(object); + element.removeChild(getObject(element)); } - - if (getState(element).checkForObjectDocumentTimeoutId) { - window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId); - } - delete getState(element).object; } @@ -1261,12 +1229,8 @@ __webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeC /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; }); - // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something @@ -1297,6 +1261,7 @@ function listToStyles (parentId, list) { } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra @@ -1601,16 +1566,6 @@ module.exports = function (it) { }; -/***/ }), - -/***/ "5014": -/***/ (function(module, exports, __webpack_require__) { - -/* interact.js 1.9.20 | https://raw.github.com/taye/interact.js/master/LICENSE */ -!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=r,e.getWindow=o,e.default=void 0;var n={realWindow:void 0,window:void 0,getWindow:o,init:r};function r(t){n.realWindow=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),n.window=t}function o(e){return(0,t.default)(e)?e:(e.ownerDocument||e).defaultView||n.window}"undefined"==typeof window?(n.window=void 0,n.realWindow=void 0):r(window),n.init=r;var i=n;e.default=i;var a={};function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var l=function(t){return!!t&&"object"===s(t)},u=function(t){return"function"==typeof t},c={window:function(n){return n===e.default.window||(0,t.default)(n)},docFrag:function(t){return l(t)&&11===t.nodeType},object:l,func:u,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==s(t))return!1;var n=e.default.getWindow(t)||e.default.window;return/object|function/.test(s(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return l(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return l(t)&&void 0!==t.length&&u(t.splice)}};a.default=c;var f={};function d(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function p(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var v={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=v.draggable,e.map.drag=v,e.methodDict.drag="draggable",r.actions.drag=v.defaults},listeners:{"interactions:before-action-move":d,"interactions:action-resume":d,"interactions:action-move":p,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return a.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):a.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:d,move:p,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},h=v;f.default=h;var g={};Object.defineProperty(g,"__esModule",{value:!0}),g.default=void 0;var y={init:function(t){var e=t;y.document=e.document,y.DocumentFragment=e.DocumentFragment||m,y.SVGElement=e.SVGElement||m,y.SVGSVGElement=e.SVGSVGElement||m,y.SVGElementInstance=e.SVGElementInstance||m,y.Element=e.Element||m,y.HTMLElement=e.HTMLElement||y.Element,y.Event=e.Event,y.Touch=e.Touch||m,y.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function m(){}var b=y;g.default=b;var x={};Object.defineProperty(x,"__esModule",{value:!0}),x.default=void 0;var w={init:function(t){var n=g.default.Element,r=e.default.window.navigator;w.supportsTouch="ontouchstart"in t||a.default.func(t.DocumentTouch)&&g.default.document instanceof t.DocumentTouch,w.supportsPointerEvent=!1!==r.pointerEnabled&&!!g.default.PointerEvent,w.isIOS=/iP(hone|od|ad)/.test(r.platform),w.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),w.isIe9=/MSIE 9/.test(r.userAgent),w.isOperaMobile="Opera"===r.appName&&w.supportsTouch&&/Presto/.test(r.userAgent),w.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",w.pEventTypes=w.supportsPointerEvent?g.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,w.wheelEvent="onmousewheel"in g.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var _=w;x.default=_;var S={};function P(t){var e=t.parentNode;if(a.default.docFrag(e)){for(;(e=e.host)&&a.default.docFrag(e););return e}return e}function O(t,n){return e.default.window!==e.default.realWindow&&(n=n.replace(/\/deep\//g," ")),t[x.default.prefixedMatchesSelector](n)}Object.defineProperty(S,"__esModule",{value:!0}),S.nodeContains=function(t,e){for(;e;){if(e===t)return!0;e=e.parentNode}return!1},S.closest=function(t,e){for(;a.default.element(t);){if(O(t,e))return t;t=P(t)}return null},S.parentNode=P,S.matchesSelector=O,S.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,h,y,m;return n},S.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},S.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},S.getScrollXY=M,S.getElementClientRect=j,S.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){var e=[];for(;t;)e.push(t),t=P(t);return e},S.trySelector=function(t){if(!a.default.string(t))return!1;return g.default.document.querySelector(t),!0};var E=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var I={};function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?$(e):e[0],o={};V(r,o),t.page.x=o.x,t.page.y=o.y,q(r,o),t.client.x=o.x,t.client.y=o.y,t.timeStamp=n},L.getTouchPair=N,L.pointerAverage=$,L.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=N(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},L.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,F.default)(i,a)},L.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},L.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},L.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},L.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},L.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(L,"pointerExtend",{enumerable:!0,get:function(){return X.default}});var G={};function H(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&a.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,i,r,o));return l}(this,t,e,n,r,o,i)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ft(e,n.element),o.events=pt(n,0,r),o.events.activate&&(ct(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":ht,"interactions:action-end":ht,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:vt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},yt=gt;ut.default=yt;var mt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),i="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],i)n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=1,n.ds=0,n.angle=L.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=L.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(mt,"__esModule",{value:!0}),mt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;mt.default=wt;var _t={};function St(t,e,n,r,o,i,s){if(!e)return!1;if(!0===e){var l=a.default.number(i.width)?i.width:i.right-i.left,u=a.default.number(i.height)?i.height:i.bottom-i.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?i.left:i.right)+s;if("top"===t)return n.y<(u>=0?i.top:i.bottom)+s;if("right"===t)return n.x>(l>=0?i.right:i.left)-s;if("bottom"===t)return n.y>(u>=0?i.bottom:i.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:S.matchesUpTo(r,e,o))}function Pt(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(a.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(a.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",o.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,k.default)({},o),corrected:(0,k.default)({},o),previous:(0,k.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Pt(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,k.default)(f,u),i){if((0,k.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),Pt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,i=t.buttons;if(o){var s=(0,k.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(i&l.mouseButtons))){if(a.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=St(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Ot.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-Ot.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Ot.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:Rt.x*u,y:Rt.y*u};if(c.x||c.y){var f=Xt(i);a.default.window(i)?i.scrollBy(c.x,c.y):i&&(i.scrollLeft+=c.x,i.scrollTop+=c.y);var d=Xt(i),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:i})}Rt.prevTime=s}Rt.isScrolling&&(kt.default.cancel(Rt.i),Rt.i=kt.default.request(Rt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Rt.check(e.interactable,e.prepared.name))if(e.simulation)Rt.x=Rt.y=0;else{var r,o,i,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ft(f.container,l,u);if(a.default.window(d))s=n.clientXd.innerWidth-Rt.margin,i=n.clientY>d.innerHeight-Rt.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-Rt.margin,i=n.clientY>p.bottom-Rt.margin}Rt.x=o?1:s?-1:0,Rt.y=i?1:r?-1:0,Rt.isScrolling||(Rt.margin=f.margin,Rt.speed=f.speed,Rt.start(e))}}};function Ft(t,n,r){return(a.default.string(t)?(0,I.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Xt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Rt,Rt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Rt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Rt.stop(),Rt.interaction&&(Rt.interaction=null)},"interactions:stop":Rt.stop,"interactions:action-move":function(t){return Rt.onInteractionMove(t)}}};Ct.default=Yt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Lt={};function Bt(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ut(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.default=void 0;var Vt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ut,e.prototype.styleCursor=Bt}};Lt.default=Vt;var qt={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Kt(e,n,t,o)?t:null}function $t(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Zt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var s=n.options[o.name].cursorChecker;i=a.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Jt(t.element,i||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Lt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Zt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Kt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Ht(n,Gt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ht(n,Gt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Kt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Zt,withinInteractionLimit:Kt,validateAction:Nt};qt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,i=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(i),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;oe(e)>0&&(e.prepared.name=null)}},getHoldDuration:oe};re.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(qt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var le={};Object.defineProperty(le,"__esModule",{value:!0}),le.default=void 0;le.default={};var ue={};function ce(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=ce,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var i=(0,e.getWindow)(r.target).document,s=n.getDocOptions(i);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Xe(e.prototype,n),r&&Xe(e,r),i}(G.BaseEvent);Re.InteractEvent=Ve,Object.defineProperties(Ve.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var qe={};Object.defineProperty(qe,"__esModule",{value:!0}),qe.PointerInfo=void 0;qe.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,$e,Ge={};function He(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||L.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&L.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||L.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=L.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=L.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new qe.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),L.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),L.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,L.pointerExtend(this.downPointer,t),this.interacting()||(L.copyCoords(this.coords.start,this.coords.cur),L.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Re.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(I.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Je;var Qe=Je;Ge.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),I.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,Ge._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var ln={};function un(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=fn(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,i=r.context,s=r.listeners;o===this.target&&i===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=Sn;var Pn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=jn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function i(t,n,r,i){var a=Dn(i),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=Dn(i),l=J.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Fn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Xn=Rn;Cn.default=Xn;var Yn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Kn,methodNames:Hn};Yn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function or(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var o=ar(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ir(this,n)}}function ir(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,k.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Ir(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function Dr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Er.aspectRatio=kr;var Ar=(0,De.makeModifier)(kr,"aspectRatio");Er.default=Ar;var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.default=void 0;var Cr=function(){};Cr._defaults={};var Rr=Cr;zr.default=Rr;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Object.defineProperty(Fr,"default",{enumerable:!0,get:function(){return zr.default}});var Xr={};function Yr(t,e,n){return a.default.func(t)?I.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):I.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.getRestrictionRect=Yr,Xr.restrict=Xr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Yr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Yr(o.restriction,n,e);if(a){var s=I.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Xr.restrict=Wr;var Lr=(0,De.makeModifier)(Wr,"restrict");Xr.default=Lr;var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.restrictEdges=Br.default=void 0;var Ur={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Vr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function qr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + /***/ }), /***/ "7726": @@ -2261,7 +2262,7 @@ NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { /***/ "8378": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.11' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -3154,32 +3155,21 @@ module.exports = function(options) { //TODO: Could this perhaps be done at installation time? var scrollbarSizes = getScrollbarSizes(); + // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. + // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). var styleId = "erd_scroll_detection_scrollbar_style"; var detectionContainerClass = "erd_scroll_detection_container"; - - function initDocument(targetDocument) { - // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. - // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). - injectScrollStyle(targetDocument, styleId, detectionContainerClass); - } - - initDocument(window.document); - - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } + injectScrollStyle(styleId, detectionContainerClass); function getScrollbarSizes() { var width = 500; var height = 500; var child = document.createElement("div"); - child.style.cssText = buildCssTextString(["position: absolute", "width: " + width*2 + "px", "height: " + height*2 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + child.style.cssText = "position: absolute; width: " + width*2 + "px; height: " + height*2 + "px; visibility: hidden; margin: 0; padding: 0;"; var container = document.createElement("div"); - container.style.cssText = buildCssTextString(["position: absolute", "width: " + width + "px", "height: " + height + "px", "overflow: scroll", "visibility: none", "top: " + -width*3 + "px", "left: " + -height*3 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "position: absolute; width: " + width + "px; height: " + height + "px; overflow: scroll; visibility: none; top: " + -width*3 + "px; left: " + -height*3 + "px; visibility: hidden; margin: 0; padding: 0;"; container.appendChild(child); @@ -3196,25 +3186,25 @@ module.exports = function(options) { }; } - function injectScrollStyle(targetDocument, styleId, containerClass) { + function injectScrollStyle(styleId, containerClass) { function injectStyle(style, method) { method = method || function (element) { - targetDocument.head.appendChild(element); + document.head.appendChild(element); }; - var styleElement = targetDocument.createElement("style"); + var styleElement = document.createElement("style"); styleElement.innerHTML = style; styleElement.id = styleId; method(styleElement); return styleElement; } - if (!targetDocument.getElementById(styleId)) { + if (!document.getElementById(styleId)) { var containerAnimationClass = containerClass + "_animation"; var containerAnimationActiveClass = containerClass + "_animation_active"; var style = "/* Created by the element-resize-detector library. */\n"; - style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; - style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { display: none; }\n\n"; + style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -3416,7 +3406,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -3440,7 +3430,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.setProperty("position", "relative",options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -3470,7 +3460,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; + return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; } debug("Injecting elements"); @@ -3498,12 +3488,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); - var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); - var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); - var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); + var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; + var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); + var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var expandChildStyle = "position: absolute; left: 0; top: 0;"; + var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -3554,17 +3544,14 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); - expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); + expandChild.style.width = expandWidth + "px"; + expandChild.style.height = expandHeight + "px"; } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; - // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. - var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; - debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -3575,10 +3562,6 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { - if (!sizeChanged) { - return; - } - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3602,9 +3585,6 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { - // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then - // been restored to the original size, which will have changed the scrollbar positions. - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3618,7 +3598,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (sizeChanged && done) { + if (done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -3648,7 +3628,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify if the current size is the start size, and this is the first notification. + // Don't notify the if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -3693,7 +3673,15 @@ module.exports = function(options) { return; } - updateDetectorElements(notifyListenersIfNeeded); + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { + debug("Element size changed."); + updateDetectorElements(notifyListenersIfNeeded); + } else { + debug("Element size has not changed (" + width + "x" + height + ")."); + } } debug("registerListenersAndPositionElements invoked."); @@ -3783,8 +3771,7 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4152,13 +4139,11 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); - var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler, - important: importantCssRules + idHandler: idHandler }; if(desiredStrategy === "scroll") { @@ -4273,7 +4258,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -4349,16 +4334,11 @@ module.exports = function(options) { }); } - function initDocument(targetDocument) { - detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); - } - return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4432,6 +4412,17 @@ module.exports = function (object, index, value) { })(document); +/***/ }), + +/***/ "f751": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__("5ca1"); + +$export($export.S + $export.F, 'Object', { assign: __webpack_require__("7333") }); + + /***/ }), /***/ "f772": @@ -4465,13 +4456,8 @@ module.exports = document && document.documentElement; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return /* reexport */ GridLayout; }); -__webpack_require__.d(__webpack_exports__, "GridItem", function() { return /* reexport */ GridItem; }); - // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -4505,12 +4491,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":"0ce4569b-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=c806aad8& +// 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=58da2a1f& 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=c806aad8& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=58da2a1f& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -4529,6 +4515,7 @@ var es6_array_sort = __webpack_require__("55dd"); + // @flow /*:: export type LayoutItemRequired = {w: number, h: number, x: number, y: number, i: string};*/ @@ -5444,7 +5431,7 @@ function removeWindowEventListener(event // var eventBus = require('./eventBus'); -var interact = __webpack_require__("5014"); +var interact = __webpack_require__("fb3a"); /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -5643,7 +5630,10 @@ var interact = __webpack_require__("5014"); this.eventBus.$off('setMaxRows', self.setMaxRowsHandler); this.eventBus.$off('directionchange', self.directionchangeHandler); this.eventBus.$off('setColNum', self.setColNum); - this.interactObj.unset(); // destroy interact intance + + if (this.interactObj) { + this.interactObj.unset(); // destroy interact intance + } }, mounted: function mounted() { this.cols = this.$parent.colNum; @@ -5730,6 +5720,17 @@ var interact = __webpack_require__("5014"); }, maxW: function maxW() { this.tryMakeResizable(); + }, + "$parent.margin": function $parentMargin(margin) { + if (!margin || margin[0] == this.margin[0] && margin[1] == this.margin[1]) { + return; + } + + this.margin = margin.map(function (m) { + return Number(m); + }); + this.createStyle(); + this.emitContainerResized(); } }, computed: { @@ -6307,12 +6308,7 @@ function normalizeComponent ( options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode - ? function () { - injectStyles.call( - this, - (options.functional ? this.parent : this).$root.$options.shadowRoot - ) - } + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } : injectStyles } @@ -6321,7 +6317,7 @@ function normalizeComponent ( // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook - // register for functional component in vue file + // register for functioal component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) @@ -6363,16 +6359,19 @@ 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":"0ce4569b-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=5a186489& -var GridLayoutvue_type_template_id_5a186489_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_5a186489_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=6594d2a5& +var GridLayoutvue_type_template_id_6594d2a5_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_6594d2a5_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js +var es6_object_assign = __webpack_require__("f751"); + // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.is-finite.js var es6_number_is_finite = __webpack_require__("fca0"); @@ -6400,6 +6399,7 @@ function _defineProperty(obj, key, value) { + // @flow @@ -6575,9 +6575,11 @@ function sortBreakpoints(breakpoints + + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // @@ -6668,6 +6670,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); type: Boolean, default: false }, + responsiveLayouts: { + type: Object, + default: function _default() { + return {}; + } + }, breakpoints: { type: Object, default: function _default() { @@ -6758,6 +6766,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); addWindowEventListener('resize', self.onWindowResize); compact(self.layout, self.verticalCompact); + self.$emit('layout-updated', self.layout); self.updateHeight(); self.$nextTick(function () { this.erd = elementResizeDetectorMaker({ @@ -6834,6 +6843,9 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, maxRows: function maxRows() { this.eventBus.$emit("setMaxRows", this.maxRows); + }, + margin: function margin() { + this.updateHeight(); } }, methods: { @@ -6863,6 +6875,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); compact(this.layout, this.verticalCompact); this.eventBus.$emit("updateWidth", this.width); this.updateHeight(); + this.$emit('layout-updated', this.layout); } }, updateHeight: function updateHeight() { @@ -6878,8 +6891,11 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); this.eventBus.$emit("resizeEvent"); }, containerHeight: function containerHeight() { - if (!this.autoSize) return; - return bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + if (!this.autoSize) return; // console.log("bottom: " + bottom(this.layout)) + // console.log("rowHeight + margins: " + (this.rowHeight + this.margin[1]) + this.margin[1]) + + var containerHeight = bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + return containerHeight; }, dragEvent: function dragEvent(eventName, id, x, y, h, w) { //console.log(eventName + " id=" + id + ", x=" + x + ", y=" + y); @@ -6930,7 +6946,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var hasCollisions; if (this.preventCollision) { - var collisions = getAllCollisions(this.layout, _objectSpread(_objectSpread({}, l), {}, { + var collisions = getAllCollisions(this.layout, _objectSpread({}, l, { w: w, h: h })).filter(function (layoutItem) { @@ -6989,7 +7005,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var layout = findOrGenerateResponsiveLayout(this.originalLayout, this.layouts, this.breakpoints, newBreakpoint, this.lastBreakpoint, newCols, this.verticalCompact); // Store the new layout. - this.layouts[newBreakpoint] = layout; // new prop sync + this.layouts[newBreakpoint] = layout; + + if (this.lastBreakpoint !== newBreakpoint) { + this.$emit('breakpoint-changed', newBreakpoint, layout); + } // new prop sync + this.$emit('update:layout', layout); this.lastBreakpoint = newBreakpoint; @@ -6998,7 +7019,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); // clear all responsive layouts initResponsiveFeatures: function initResponsiveFeatures() { // clear layouts - this.layouts = {}; + this.layouts = Object.assign({}, this.responsiveLayouts); }, // find difference in layouts findDifference: function findDifference(layout, originalLayout) { @@ -7035,8 +7056,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_5a186489_render, - GridLayoutvue_type_template_id_5a186489_staticRenderFns, + GridLayoutvue_type_template_id_6594d2a5_render, + GridLayoutvue_type_template_id_6594d2a5_staticRenderFns, false, null, null, @@ -7066,12 +7087,10041 @@ Object.keys(VueGridLayout).forEach(function (name) { /* harmony default export */ var components = (VueGridLayout); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js +/* concated harmony reexport GridLayout */__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return GridLayout; }); +/* concated harmony reexport GridItem */__webpack_require__.d(__webpack_exports__, "GridItem", function() { return GridItem; }); /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); +/***/ }), + +/***/ "fb3a": +/***/ (function(module, exports, __webpack_require__) { + +/** + * interact.js 1.6.3 + * + * Copyright (c) 2012-2019 Taye Adeyemi + * Released under the MIT License. + * https://raw.github.com/taye/interact.js/master/LICENSE + */ +(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; +var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; +var _$scope_24 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +/* common-shake removed: exports.createScope = */ void createScope; +/* common-shake removed: exports.initScope = */ void initScope; +exports.Scope = exports.ActionName = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); + +var _Eventable = _interopRequireDefault(_$Eventable_14); + +var _Interactable = _interopRequireDefault(_$Interactable_16); + +var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); + +var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); + +var _interactions = _interopRequireDefault(_$interactions_23({})); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _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); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var win = utils.win, + browser = utils.browser, + raf = utils.raf, + Signals = utils.Signals, + events = utils.events; +var ActionName; +exports.ActionName = ActionName; + +(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); + +function createScope() { + return new Scope(); +} + +var Scope = +/*#__PURE__*/ +function () { + function Scope() { + var _this = this; + + _classCallCheck(this, Scope); + + this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); + this.signals = new Signals(); + this.browser = browser; + this.events = events; + this.utils = utils; + this.defaults = utils.clone(_defaultOptions["default"]); + this.Eventable = _Eventable["default"]; + this.actions = { + names: [], + methodDict: {}, + eventTypes: [] + }; + this.InteractEvent = _InteractEvent["default"]; + this.interactables = new _InteractableSet["default"](this); // all documents being listened to + + this.documents = []; + this._plugins = []; + this._pluginMap = {}; + + this.onWindowUnload = function (event) { + return _this.removeDocument(event.target); + }; + + var scope = this; + + this.Interactable = + /*#__PURE__*/ + function (_InteractableBase) { + _inherits(Interactable, _InteractableBase); + + function Interactable() { + _classCallCheck(this, Interactable); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); + } + + _createClass(Interactable, [{ + key: "set", + value: function set(options) { + _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); + + scope.interactables.signals.fire('set', { + options: options, + interactable: this + }); + return this; + } + }, { + key: "unset", + value: function unset() { + _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); + + for (var i = scope.interactions.list.length - 1; i >= 0; i--) { + var interaction = scope.interactions.list[i]; + + if (interaction.interactable === this) { + interaction.stop(); + scope.interactions.signals.fire('destroy', { + interaction: interaction + }); + interaction.destroy(); + + if (scope.interactions.list.length > 2) { + scope.interactions.list.splice(i, 1); + } + } + } + + scope.interactables.signals.fire('unset', { + interactable: this + }); + } + }, { + key: "_defaults", + get: function get() { + return scope.defaults; + } + }]); + + return Interactable; + }(_Interactable["default"]); + } + + _createClass(Scope, [{ + key: "init", + value: function init(window) { + return initScope(this, window); + } + }, { + key: "pluginIsInstalled", + value: function pluginIsInstalled(plugin) { + return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; + } + }, { + key: "usePlugin", + value: function usePlugin(plugin, options) { + if (this.pluginIsInstalled(plugin)) { + return this; + } + + if (plugin.id) { + this._pluginMap[plugin.id] = plugin; + } + + plugin.install(this, options); + + this._plugins.push(plugin); + + return this; + } + }, { + key: "addDocument", + value: function addDocument(doc, options) { + // do nothing if document is already known + if (this.getDocIndex(doc) !== -1) { + return false; + } + + var window = win.getWindow(doc); + options = options ? utils.extend({}, options) : {}; + this.documents.push({ + doc: doc, + options: options + }); + events.documents.push(doc); // don't add an unload event for the main document + // so that the page may be cached in browser history + + if (doc !== this.document) { + events.add(window, 'unload', this.onWindowUnload); + } + + this.signals.fire('add-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "removeDocument", + value: function removeDocument(doc) { + var index = this.getDocIndex(doc); + var window = win.getWindow(doc); + var options = this.documents[index].options; + events.remove(window, 'unload', this.onWindowUnload); + this.documents.splice(index, 1); + events.documents.splice(index, 1); + this.signals.fire('remove-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "getDocIndex", + value: function getDocIndex(doc) { + for (var i = 0; i < this.documents.length; i++) { + if (this.documents[i].doc === doc) { + return i; + } + } + + return -1; + } + }, { + key: "getDocOptions", + value: function getDocOptions(doc) { + var docIndex = this.getDocIndex(doc); + return docIndex === -1 ? null : this.documents[docIndex].options; + } + }, { + key: "now", + value: function now() { + return (this.window.Date || Date).now(); + } + }]); + + return Scope; +}(); + +exports.Scope = Scope; + +function initScope(scope, window) { + win.init(window); + + _domObjects["default"].init(window); + + browser.init(window); + raf.init(window); + events.init(window); + scope.usePlugin(_interactions["default"]); + scope.document = window.document; + scope.window = window; + return scope; +} + +}); +var _$interactions_23 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _browser = _interopRequireDefault(_$browser_48); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var _events = _interopRequireDefault(_$events_52); + +var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); + +var _Signals = _interopRequireDefault(_$Signals_46); + +var _Interaction = _interopRequireDefault(_$Interaction_18({})); + +var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; + +function install(scope) { + var signals = new _Signals["default"](); + var listeners = {}; + + for (var _i = 0; _i < methodNames.length; _i++) { + var _ref; + + _ref = methodNames[_i]; + var method = _ref; + listeners[method] = doOnInteractions(method, scope); + } + + var pEventTypes = _browser["default"].pEventTypes; + var docEvents; + + if (_domObjects["default"].PointerEvent) { + docEvents = [{ + type: pEventTypes.down, + listener: releasePointersOnRemovedEls + }, { + type: pEventTypes.down, + listener: listeners.pointerDown + }, { + type: pEventTypes.move, + listener: listeners.pointerMove + }, { + type: pEventTypes.up, + listener: listeners.pointerUp + }, { + type: pEventTypes.cancel, + listener: listeners.pointerUp + }]; + } else { + docEvents = [{ + type: 'mousedown', + listener: listeners.pointerDown + }, { + type: 'mousemove', + listener: listeners.pointerMove + }, { + type: 'mouseup', + listener: listeners.pointerUp + }, { + type: 'touchstart', + listener: releasePointersOnRemovedEls + }, { + type: 'touchstart', + listener: listeners.pointerDown + }, { + type: 'touchmove', + listener: listeners.pointerMove + }, { + type: 'touchend', + listener: listeners.pointerUp + }, { + type: 'touchcancel', + listener: listeners.pointerUp + }]; + } + + docEvents.push({ + type: 'blur', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + interaction.documentBlur(event); + } + } + }); + scope.signals.on('add-document', onDocSignal); + scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events + + scope.prevTouchTime = 0; + + scope.Interaction = + /*#__PURE__*/ + function (_InteractionBase) { + _inherits(Interaction, _InteractionBase); + + function Interaction() { + _classCallCheck(this, Interaction); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); + } + + _createClass(Interaction, [{ + key: "_now", + value: function _now() { + return scope.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return scope.interactions.pointerMoveTolerance; + }, + set: function set(value) { + scope.interactions.pointerMoveTolerance = value; + } + }]); + + return Interaction; + }(_Interaction["default"]); + + scope.interactions = { + signals: signals, + // all active and idle interactions + list: [], + "new": function _new(options) { + options.signals = signals; + var interaction = new scope.Interaction(options); + scope.interactions.list.push(interaction); + return interaction; + }, + listeners: listeners, + docEvents: docEvents, + pointerMoveTolerance: 1 + }; + + function releasePointersOnRemovedEls() { + // for all inactive touch interactions with pointers down + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + + if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { + continue; + } // if a pointer is down on an element that is no longer in the DOM tree + + + var _loop = function _loop() { + _ref4 = interaction.pointers[_i4]; + var pointer = _ref4; + + if (!scope.documents.some(function (_ref5) { + var doc = _ref5.doc; + return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); + })) { + // remove the pointer from the interaction + interaction.removePointer(pointer.pointer, pointer.event); + } + }; + + for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { + var _ref4; + + _loop(); + } + } + } +} + +function doOnInteractions(method, scope) { + return function (event) { + var interactions = scope.interactions.list; + + var pointerType = _pointerUtils["default"].getPointerType(event); + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), + eventTarget = _pointerUtils$getEven2[0], + curEventTarget = _pointerUtils$getEven2[1]; + + var matches = []; // [ [pointer, interaction], ...] + + if (/^touch/.test(event.type)) { + scope.prevTouchTime = scope.now(); + + for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { + var _ref6; + + _ref6 = event.changedTouches[_i5]; + var changedTouch = _ref6; + var pointer = changedTouch; + + var pointerId = _pointerUtils["default"].getPointerId(pointer); + + var searchDetails = { + pointer: pointer, + pointerId: pointerId, + pointerType: pointerType, + eventType: event.type, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + scope: scope + }; + var interaction = getInteraction(searchDetails); + matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); + } + } else { + var invalidPointer = false; + + if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { + // ignore mouse events while touch interactions are active + for (var i = 0; i < interactions.length && !invalidPointer; i++) { + invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; + } // try to ignore mouse events that are simulated by the browser + // after a touch event + + + invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated + event.timeStamp === 0; + } + + if (!invalidPointer) { + var _searchDetails = { + pointer: event, + pointerId: _pointerUtils["default"].getPointerId(event), + pointerType: pointerType, + eventType: event.type, + curEventTarget: curEventTarget, + eventTarget: eventTarget, + scope: scope + }; + + var _interaction = getInteraction(_searchDetails); + + matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); + } + } // eslint-disable-next-line no-shadow + + + for (var _i6 = 0; _i6 < matches.length; _i6++) { + var _matches$_i = _slicedToArray(matches[_i6], 4), + _pointer = _matches$_i[0], + _eventTarget = _matches$_i[1], + _curEventTarget = _matches$_i[2], + _interaction2 = _matches$_i[3]; + + _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); + } + }; +} + +function getInteraction(searchDetails) { + var pointerType = searchDetails.pointerType, + scope = searchDetails.scope; + + var foundInteraction = _interactionFinder["default"].search(searchDetails); + + var signalArg = { + interaction: foundInteraction, + searchDetails: searchDetails + }; + scope.interactions.signals.fire('find', signalArg); + return signalArg.interaction || scope.interactions["new"]({ + pointerType: pointerType + }); +} + +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; + + if (scope.browser.isIOS && !options.events) { + options.events = { + passive: false + }; + } // delegate event listener + + + for (var eventType in _events["default"].delegatedEvents) { + eventMethod(doc, eventType, _events["default"].delegateListener); + eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); + } + + var eventOptions = options && options.events; + + for (var _i7 = 0; _i7 < docEvents.length; _i7++) { + var _ref8; + + _ref8 = docEvents[_i7]; + var _ref9 = _ref8, + type = _ref9.type, + listener = _ref9.listener; + eventMethod(doc, type, listener, eventOptions); + } +} + +var _default = { + id: 'core/interactions', + install: install, + onDocSignal: onDocSignal, + doOnInteractions: doOnInteractions, + methodNames: methodNames +}; +exports["default"] = _default; + +}); +var _$Interaction_18 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "PointerInfo", { + enumerable: true, + get: function get() { + return _PointerInfo["default"]; + } +}); +exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); + +var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); + +var _scope = _$scope_24({}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var _ProxyValues; + +exports._ProxyValues = _ProxyValues; + +(function (_ProxyValues) { + _ProxyValues["interactable"] = ""; + _ProxyValues["element"] = ""; + _ProxyValues["prepared"] = ""; + _ProxyValues["pointerIsDown"] = ""; + _ProxyValues["pointerWasMoved"] = ""; + _ProxyValues["_proxy"] = ""; +})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); + +var _ProxyMethods; + +exports._ProxyMethods = _ProxyMethods; + +(function (_ProxyMethods) { + _ProxyMethods["start"] = ""; + _ProxyMethods["move"] = ""; + _ProxyMethods["end"] = ""; + _ProxyMethods["stop"] = ""; + _ProxyMethods["interacting"] = ""; +})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); + +var Interaction = +/*#__PURE__*/ +function () { + /** */ + function Interaction(_ref) { + var _this = this; + + var pointerType = _ref.pointerType, + signals = _ref.signals; + + _classCallCheck(this, Interaction); + + // current interactable being interacted with + this.interactable = null; // the target element of the interactable + + this.element = null; // action that's ready to be fired on next move event + + this.prepared = { + name: null, + axis: null, + edges: null + }; // keep track of added pointers + + this.pointers = []; // pointerdown/mousedown/touchstart event + + this.downEvent = null; + this.downPointer = {}; + this._latestPointer = { + pointer: null, + event: null, + eventTarget: null + }; // previous action event + + this.prevEvent = null; + this.pointerIsDown = false; + this.pointerWasMoved = false; + this._interacting = false; + this._ending = false; + this._stopped = true; + this._proxy = null; + this.simulation = null; + /** + * @alias Interaction.prototype.move + */ + + this.doMove = utils.warnOnce(function (signalArg) { + this.move(signalArg); + }, 'The interaction.doMove() method has been renamed to interaction.move()'); + this.coords = { + // Starting InteractEvent pointer coordinates + start: utils.pointer.newCoords(), + // Previous native pointer move event coordinates + prev: utils.pointer.newCoords(), + // current native pointer move event coordinates + cur: utils.pointer.newCoords(), + // Change in coordinates and time of the pointer + delta: utils.pointer.newCoords(), + // pointer velocity + velocity: utils.pointer.newCoords() + }; + this._signals = signals; + this.pointerType = pointerType; + var that = this; + this._proxy = {}; + + var _loop = function _loop(key) { + Object.defineProperty(_this._proxy, key, { + get: function get() { + return that[key]; + } + }); + }; + + for (var key in _ProxyValues) { + _loop(key); + } + + var _loop2 = function _loop2(_key) { + Object.defineProperty(_this._proxy, _key, { + value: function value() { + return that[_key].apply(that, arguments); + } + }); + }; + + for (var _key in _ProxyMethods) { + _loop2(_key); + } + + this._signals.fire('new', { + interaction: this + }); + } + + _createClass(Interaction, [{ + key: "pointerDown", + value: function pointerDown(pointer, event, eventTarget) { + var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); + + this._signals.fire('down', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + pointerIndex: pointerIndex, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable({ + * // disable the default drag start by down->move + * manualStart: true + * }) + * // start dragging after the user holds the pointer down + * .on('hold', function (event) { + * var interaction = event.interaction + * + * if (!interaction.interacting()) { + * interaction.start({ name: 'drag' }, + * event.interactable, + * event.currentTarget) + * } + * }) + * ``` + * + * Start an action with the given Interactable and Element as tartgets. The + * action must be enabled for the target Interactable and an appropriate + * number of pointers must be held down - 1 for drag/resize, 2 for gesture. + * + * Use it with `interactable.able({ manualStart: false })` to always + * [start actions manually](https://github.com/taye/interact.js/issues/114) + * + * @param {object} action The action to be performed - drag, resize, etc. + * @param {Interactable} target The Interactable to target + * @param {Element} element The DOM Element to target + * @return {object} interact + */ + + }, { + key: "start", + value: function start(action, interactable, element) { + if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { + return false; + } + + utils.copyAction(this.prepared, action); + this.interactable = interactable; + this.element = element; + this.rect = interactable.getRect(element); + this.edges = this.prepared.edges; + this._stopped = false; + this._interacting = this._doPhase({ + interaction: this, + event: this.downEvent, + phase: _InteractEvent.EventPhase.Start + }) && !this._stopped; + return this._interacting; + } + }, { + key: "pointerMove", + value: function pointerMove(pointer, event, eventTarget) { + if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { + this.updatePointer(pointer, event, eventTarget, false); + utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + } + + 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; + var dx; + var dy; // register movement greater than pointerMoveTolerance + + if (this.pointerIsDown && !this.pointerWasMoved) { + dx = this.coords.cur.client.x - this.coords.start.client.x; + dy = this.coords.cur.client.y - this.coords.start.client.y; + this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; + } + + var signalArg = { + pointer: pointer, + pointerIndex: this.getPointerIndex(pointer), + event: event, + eventTarget: eventTarget, + dx: dx, + dy: dy, + duplicate: duplicateMove, + interaction: this + }; + + if (!duplicateMove) { + // set pointer coordinate, time changes and velocity + utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); + utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); + } + + this._signals.fire('move', signalArg); + + if (!duplicateMove) { + // if interacting, fire an 'action-move' signal etc + if (this.interacting()) { + this.move(signalArg); + } + + if (this.pointerWasMoved) { + utils.pointer.copyCoords(this.coords.prev, this.coords.cur); + } + } + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('dragmove', function (event) { + * if (someCondition) { + * // change the snap settings + * event.interactable.draggable({ snap: { targets: [] }}) + * // fire another move event with re-calculated snap + * event.interaction.move() + * } + * }) + * ``` + * + * Force a move of the current action at the same coordinates. Useful if + * snap/restrict has been changed and you want a movement with the new + * settings. + */ + + }, { + key: "move", + value: function move(signalArg) { + signalArg = utils.extend({ + pointer: this._latestPointer.pointer, + event: this._latestPointer.event, + eventTarget: this._latestPointer.eventTarget, + interaction: this + }, signalArg || {}); + signalArg.phase = _InteractEvent.EventPhase.Move; + + this._doPhase(signalArg); + } // End interact move events and stop auto-scroll unless simulation is running + + }, { + key: "pointerUp", + value: function pointerUp(pointer, event, eventTarget, curEventTarget) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + pointerIndex = this.updatePointer(pointer, event, eventTarget, false); + } + + this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { + pointer: pointer, + pointerIndex: pointerIndex, + event: event, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + interaction: this + }); + + if (!this.simulation) { + this.end(event); + } + + this.pointerIsDown = false; + this.removePointer(pointer, event); + } + }, { + key: "documentBlur", + value: function documentBlur(event) { + this.end(event); + + this._signals.fire('blur', { + event: event, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('move', function (event) { + * if (event.pageX > 1000) { + * // end the current action + * event.interaction.end() + * // stop all further listeners from being called + * event.stopImmediatePropagation() + * } + * }) + * ``` + * + * @param {PointerEvent} [event] + */ + + }, { + key: "end", + value: function end(event) { + this._ending = true; + event = event || this._latestPointer.event; + var endPhaseResult; + + if (this.interacting()) { + endPhaseResult = this._doPhase({ + event: event, + interaction: this, + phase: _InteractEvent.EventPhase.End + }); + } + + this._ending = false; + + if (endPhaseResult === true) { + this.stop(); + } + } + }, { + key: "currentAction", + value: function currentAction() { + return this._interacting ? this.prepared.name : null; + } + }, { + key: "interacting", + value: function interacting() { + return this._interacting; + } + /** */ + + }, { + key: "stop", + value: function stop() { + this._signals.fire('stop', { + interaction: this + }); + + this.interactable = this.element = null; + this._interacting = false; + this._stopped = true; + this.prepared.name = this.prevEvent = null; + } + }, { + key: "getPointerIndex", + value: function getPointerIndex(pointer) { + var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer + + return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { + return curPointer.id === pointerId; + }); + } + }, { + key: "getPointerInfo", + value: function getPointerInfo(pointer) { + return this.pointers[this.getPointerIndex(pointer)]; + } + }, { + key: "updatePointer", + value: function updatePointer(pointer, event, eventTarget, down) { + var id = utils.pointer.getPointerId(pointer); + var pointerIndex = this.getPointerIndex(pointer); + var pointerInfo = this.pointers[pointerIndex]; + down = down === false ? false : down || /(down|start)$/i.test(event.type); + + if (!pointerInfo) { + pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); + pointerIndex = this.pointers.length; + this.pointers.push(pointerInfo); + } else { + pointerInfo.pointer = pointer; + } + + if (down) { + this.pointerIsDown = true; + + if (!this.interacting()) { + utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + utils.pointer.copyCoords(this.coords.cur, this.coords.start); + utils.pointer.copyCoords(this.coords.prev, this.coords.start); + utils.pointer.pointerExtend(this.downPointer, pointer); + this.downEvent = event; + pointerInfo.downTime = this.coords.cur.timeStamp; + pointerInfo.downTarget = eventTarget; + this.pointerWasMoved = false; + } + } + + this._updateLatestPointer(pointer, event, eventTarget); + + this._signals.fire('update-pointer', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + down: down, + pointerInfo: pointerInfo, + pointerIndex: pointerIndex, + interaction: this + }); + + return pointerIndex; + } + }, { + key: "removePointer", + value: function removePointer(pointer, event) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + return; + } + + var pointerInfo = this.pointers[pointerIndex]; + + this._signals.fire('remove-pointer', { + pointer: pointer, + event: event, + pointerIndex: pointerIndex, + pointerInfo: pointerInfo, + interaction: this + }); + + this.pointers.splice(pointerIndex, 1); + } + }, { + key: "_updateLatestPointer", + value: function _updateLatestPointer(pointer, event, eventTarget) { + this._latestPointer.pointer = pointer; + this._latestPointer.event = event; + this._latestPointer.eventTarget = eventTarget; + } + }, { + key: "destroy", + value: function destroy() { + this._latestPointer.pointer = null; + this._latestPointer.event = null; + this._latestPointer.eventTarget = null; + } + }, { + key: "_createPreparedEvent", + value: function _createPreparedEvent(event, phase, preEnd, type) { + var actionName = this.prepared.name; + return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); + } + }, { + key: "_fireEvent", + value: function _fireEvent(iEvent) { + this.interactable.fire(iEvent); + + if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { + this.prevEvent = iEvent; + } + } + }, { + key: "_doPhase", + value: function _doPhase(signalArg) { + var event = signalArg.event, + phase = signalArg.phase, + preEnd = signalArg.preEnd, + type = signalArg.type; + + var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); + + if (beforeResult === false) { + return false; + } + + var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); + + var rect = this.rect; + + if (rect) { + // update the rect modifications + var edges = this.edges || this.prepared.edges || { + left: true, + right: true, + top: true, + bottom: true + }; + + if (edges.top) { + rect.top += iEvent.delta.y; + } + + if (edges.bottom) { + rect.bottom += iEvent.delta.y; + } + + if (edges.left) { + rect.left += iEvent.delta.x; + } + + if (edges.right) { + rect.right += iEvent.delta.x; + } + + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + this._signals.fire("action-".concat(phase), signalArg); + + this._fireEvent(iEvent); + + this._signals.fire("after-action-".concat(phase), signalArg); + + return true; + } + }, { + key: "_now", + value: function _now() { + return Date.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return 1; + } + }]); + + return Interaction; +}(); + +exports.Interaction = Interaction; +var _default = Interaction; +exports["default"] = _default; + +}); +var _$arr_47 = {}; +"use strict"; + +Object.defineProperty(_$arr_47, "__esModule", { + value: true +}); +_$arr_47.contains = contains; +_$arr_47.remove = remove; +_$arr_47.merge = merge; +_$arr_47.from = from; +_$arr_47.findIndex = findIndex; +_$arr_47.find = find; + +function contains(array, target) { + return array.indexOf(target) !== -1; +} + +function remove(array, target) { + return array.splice(array.indexOf(target), 1); +} + +function merge(target, source) { + for (var _i = 0; _i < source.length; _i++) { + var _ref; + + _ref = source[_i]; + var item = _ref; + target.push(item); + } + + return target; +} + +function from(source) { + return merge([], source); +} + +function findIndex(array, func) { + for (var i = 0; i < array.length; i++) { + if (func(array[i], i, array)) { + return i; + } + } + + return -1; +} + +function find(array, func) { + return array[findIndex(array, func)]; +} + +var _$domObjects_50 = {}; +"use strict"; + +Object.defineProperty(_$domObjects_50, "__esModule", { + value: true +}); +_$domObjects_50["default"] = void 0; +var domObjects = { + init: init, + document: null, + DocumentFragment: null, + SVGElement: null, + SVGSVGElement: null, + // eslint-disable-next-line no-undef + SVGElementInstance: null, + Element: null, + HTMLElement: null, + Event: null, + Touch: null, + PointerEvent: null +}; + +function blank() {} + +var _default = domObjects; +_$domObjects_50["default"] = _default; + +function init(window) { + var win = window; + domObjects.document = win.document; + domObjects.DocumentFragment = win.DocumentFragment || blank; + domObjects.SVGElement = win.SVGElement || blank; + domObjects.SVGSVGElement = win.SVGSVGElement || blank; + domObjects.SVGElementInstance = win.SVGElementInstance || blank; + domObjects.Element = win.Element || blank; + domObjects.HTMLElement = win.HTMLElement || domObjects.Element; + domObjects.Event = win.Event; + domObjects.Touch = win.Touch || blank; + domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; +} + +var _$isWindow_58 = {}; +"use strict"; + +Object.defineProperty(_$isWindow_58, "__esModule", { + value: true +}); +_$isWindow_58["default"] = void 0; + +var ___default_58 = function _default(thing) { + return !!(thing && thing.Window) && thing instanceof thing.Window; +}; + +_$isWindow_58["default"] = ___default_58; + +var _$window_66 = {}; +"use strict"; + +Object.defineProperty(_$window_66, "__esModule", { + value: true +}); +_$window_66.init = __init_66; +_$window_66.getWindow = getWindow; +_$window_66["default"] = void 0; + +var _isWindow = _interopRequireDefault(_$isWindow_58); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var win = { + realWindow: undefined, + window: undefined, + getWindow: getWindow, + init: __init_66 +}; + +function __init_66(window) { + // get wrapped window if using Shadow DOM polyfill + win.realWindow = window; // create a TextNode + + var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill + + if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { + // use wrapped window + window = window.wrap(window); + } + + win.window = window; +} + +if (typeof window === 'undefined') { + win.window = undefined; + win.realWindow = undefined; +} else { + __init_66(window); +} + +function getWindow(node) { + if ((0, _isWindow["default"])(node)) { + return node; + } + + var rootNode = node.ownerDocument || node; + return rootNode.defaultView || win.window; +} + +win.init = __init_66; +var ___default_66 = win; +_$window_66["default"] = ___default_66; + +var _$is_57 = {}; +"use strict"; + +Object.defineProperty(_$is_57, "__esModule", { + value: true +}); +_$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; + +var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); + +var _window2 = ___interopRequireDefault_57(_$window_66); + +function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +var __window_57 = function window(thing) { + return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); +}; + +_$is_57.window = __window_57; + +var docFrag = function docFrag(thing) { + return object(thing) && thing.nodeType === 11; +}; + +_$is_57.docFrag = docFrag; + +var object = function object(thing) { + return !!thing && _typeof(thing) === 'object'; +}; + +_$is_57.object = object; + +var func = function func(thing) { + return typeof thing === 'function'; +}; + +_$is_57.func = func; + +var number = function number(thing) { + return typeof thing === 'number'; +}; + +_$is_57.number = number; + +var bool = function bool(thing) { + return typeof thing === 'boolean'; +}; + +_$is_57.bool = bool; + +var string = function string(thing) { + return typeof thing === 'string'; +}; + +_$is_57.string = string; + +var element = function element(thing) { + if (!thing || _typeof(thing) !== 'object') { + return false; + } + + var _window = _window2["default"].getWindow(thing) || _window2["default"].window; + + return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 + : thing.nodeType === 1 && typeof thing.nodeName === 'string'; +}; + +_$is_57.element = element; + +var plainObject = function plainObject(thing) { + return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); +}; + +_$is_57.plainObject = plainObject; + +var array = function array(thing) { + return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); +}; + +_$is_57.array = array; + +var _$browser_48 = {}; +"use strict"; + +Object.defineProperty(_$browser_48, "__esModule", { + value: true +}); +_$browser_48["default"] = void 0; + +var _domObjects = ___interopRequireDefault_48(_$domObjects_50); + +var is = _interopRequireWildcard(_$is_57); + +var _window = ___interopRequireDefault_48(_$window_66); + +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 }; } + +var browser = { + init: __init_48, + supportsTouch: null, + supportsPointerEvent: null, + isIOS7: null, + isIOS: null, + isIe9: null, + isOperaMobile: null, + prefixedMatchesSelector: null, + pEventTypes: null, + wheelEvent: null +}; + +function __init_48(window) { + var Element = _domObjects["default"].Element; + var navigator = _window["default"].window.navigator; // Does the browser support touch input? + + browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents + + browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; + browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 + + browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); + browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently + + browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector + + browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; + browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { + up: 'MSPointerUp', + down: 'MSPointerDown', + over: 'mouseover', + out: 'mouseout', + move: 'MSPointerMove', + cancel: 'MSPointerCancel' + } : { + up: 'pointerup', + down: 'pointerdown', + over: 'pointerover', + out: 'pointerout', + move: 'pointermove', + cancel: 'pointercancel' + } : null; // because Webkit and Opera still use 'mousewheel' event type + + browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; +} + +var ___default_48 = browser; +_$browser_48["default"] = ___default_48; + +var _$domUtils_51 = {}; +"use strict"; + +Object.defineProperty(_$domUtils_51, "__esModule", { + value: true +}); +_$domUtils_51.nodeContains = nodeContains; +_$domUtils_51.closest = closest; +_$domUtils_51.parentNode = parentNode; +_$domUtils_51.matchesSelector = matchesSelector; +_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; +_$domUtils_51.matchesUpTo = matchesUpTo; +_$domUtils_51.getActualElement = getActualElement; +_$domUtils_51.getScrollXY = getScrollXY; +_$domUtils_51.getElementClientRect = getElementClientRect; +_$domUtils_51.getElementRect = getElementRect; +_$domUtils_51.getPath = getPath; +_$domUtils_51.trySelector = trySelector; + +var _browser = ___interopRequireDefault_51(_$browser_48); + +var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); + +var __is_51 = ___interopRequireWildcard_51(_$is_57); + +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; } 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 }; } + +function nodeContains(parent, child) { + while (child) { + if (child === parent) { + return true; + } + + child = child.parentNode; + } + + return false; +} + +function closest(element, selector) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return element; + } + + element = parentNode(element); + } + + return null; +} + +function parentNode(node) { + var parent = node.parentNode; + + if (__is_51.docFrag(parent)) { + // skip past #shado-root fragments + // tslint:disable-next-line + while ((parent = parent.host) && __is_51.docFrag(parent)) { + continue; + } + + return parent; + } + + return parent; +} + +function matchesSelector(element, selector) { + // remove /deep/ from selectors if shadowDOM polyfill is used + if (___window_51["default"].window !== ___window_51["default"].realWindow) { + selector = selector.replace(/\/deep\//g, ' '); + } + + return element[_browser["default"].prefixedMatchesSelector](selector); +} + +var getParent = function getParent(el) { + return el.parentNode ? el.parentNode : el.host; +}; // Test for the element that's "above" all other qualifiers + + +function indexOfDeepestElement(elements) { + var deepestZoneParents = []; + var deepestZone = elements[0]; + var index = deepestZone ? 0 : -1; + var i; + var n; + + for (i = 1; i < elements.length; i++) { + var dropzone = elements[i]; // an element might belong to multiple selector dropzones + + if (!dropzone || dropzone === deepestZone) { + continue; + } + + if (!deepestZone) { + deepestZone = dropzone; + index = i; + continue; + } // check if the deepest or current are document.documentElement or document.rootElement + // - if the current dropzone is, do nothing and continue + + + if (dropzone.parentNode === dropzone.ownerDocument) { + continue; + } // - if deepest is, update with the current dropzone and continue to next + else if (deepestZone.parentNode === dropzone.ownerDocument) { + 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) { + var _parent = deepestZone; + var parentParent = void 0; + + while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { + deepestZoneParents.unshift(_parent); + _parent = parentParent; + } + } + + 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) { + continue; + } + + parent = dropzone.ownerSVGElement; + } else { + parent = dropzone; + } + + var dropzoneParents = []; + + while (parent.parentNode !== parent.ownerDocument) { + dropzoneParents.unshift(parent); + parent = getParent(parent); + } + + n = 0; // get (position of last common ancestor) + 1 + + while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { + n++; + } + + var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; + var child = parents[0].lastChild; + + while (child) { + if (child === parents[1]) { + deepestZone = dropzone; + index = i; + deepestZoneParents = dropzoneParents; + break; + } else if (child === parents[2]) { + break; + } + + child = child.previousSibling; + } + } + + return index; +} + +function matchesUpTo(element, selector, limit) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return true; + } + + element = parentNode(element); + + if (element === limit) { + return matchesSelector(element, selector); + } + } + + return false; +} + +function getActualElement(element) { + return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; +} + +function getScrollXY(relevantWindow) { + relevantWindow = relevantWindow || ___window_51["default"].window; + return { + x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, + y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop + }; +} + +function getElementClientRect(element) { + var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; + return clientRect && { + left: clientRect.left, + right: clientRect.right, + top: clientRect.top, + bottom: clientRect.bottom, + width: clientRect.width || clientRect.right - clientRect.left, + height: clientRect.height || clientRect.bottom - clientRect.top + }; +} + +function getElementRect(element) { + var clientRect = getElementClientRect(element); + + if (!_browser["default"].isIOS7 && clientRect) { + var scroll = getScrollXY(___window_51["default"].getWindow(element)); + clientRect.left += scroll.x; + clientRect.right += scroll.x; + clientRect.top += scroll.y; + clientRect.bottom += scroll.y; + } + + return clientRect; +} + +function getPath(node) { + var path = []; + + while (node) { + path.push(node); + node = parentNode(node); + } + + return path; +} + +function trySelector(value) { + if (!__is_51.string(value)) { + return false; + } // an exception will be raised if it is invalid + + + ___domObjects_51["default"].document.querySelector(value); + + return true; +} + +var _$clone_49 = {}; +"use strict"; + +Object.defineProperty(_$clone_49, "__esModule", { + value: true +}); +_$clone_49["default"] = clone; + +var arr = ___interopRequireWildcard_49(_$arr_47); + +var __is_49 = ___interopRequireWildcard_49(_$is_57); + +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 = {}; + + for (var prop in source) { + var value = source[prop]; + + if (__is_49.plainObject(value)) { + dest[prop] = clone(value); + } else if (__is_49.array(value)) { + dest[prop] = arr.from(value); + } else { + dest[prop] = value; + } + } + + return dest; +} + +var _$pointerExtend_60 = {}; +"use strict"; + +Object.defineProperty(_$pointerExtend_60, "__esModule", { + value: true +}); +_$pointerExtend_60["default"] = void 0; + +function pointerExtend(dest, source) { + for (var prop in source) { + var prefixedPropREs = pointerExtend.prefixedPropREs; + var deprecated = false; // skip deprecated prefixed properties + + for (var vendor in prefixedPropREs) { + if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { + deprecated = true; + break; + } + } + + if (!deprecated && typeof source[prop] !== 'function') { + dest[prop] = source[prop]; + } + } + + return dest; +} + +pointerExtend.prefixedPropREs = { + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ +}; +var ___default_60 = pointerExtend; +_$pointerExtend_60["default"] = ___default_60; + +var _$hypot_55 = {}; +"use strict"; + +Object.defineProperty(_$hypot_55, "__esModule", { + value: true +}); +_$hypot_55["default"] = void 0; + +var ___default_55 = function _default(x, y) { + return Math.sqrt(x * x + y * y); +}; + +_$hypot_55["default"] = ___default_55; + +var _$pointerUtils_61 = {}; +"use strict"; + +Object.defineProperty(_$pointerUtils_61, "__esModule", { + value: true +}); +_$pointerUtils_61["default"] = void 0; + +var ___browser_61 = ___interopRequireDefault_61(_$browser_48); + +var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); + +var domUtils = ___interopRequireWildcard_61(_$domUtils_51); + +var _hypot = ___interopRequireDefault_61(_$hypot_55); + +var __is_61 = ___interopRequireWildcard_61(_$is_57); + +var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); + +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 }; } + +var pointerUtils = { + copyCoords: function copyCoords(dest, src) { + dest.page = dest.page || {}; + dest.page.x = src.page.x; + dest.page.y = src.page.y; + dest.client = dest.client || {}; + dest.client.x = src.client.x; + dest.client.y = src.client.y; + dest.timeStamp = src.timeStamp; + }, + setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { + targetObj.page.x = cur.page.x - prev.page.x; + targetObj.page.y = cur.page.y - prev.page.y; + targetObj.client.x = cur.client.x - prev.client.x; + targetObj.client.y = cur.client.y - prev.client.y; + targetObj.timeStamp = cur.timeStamp - prev.timeStamp; + }, + setCoordVelocity: function setCoordVelocity(targetObj, delta) { + var dt = Math.max(delta.timeStamp / 1000, 0.001); + targetObj.page.x = delta.page.x / dt; + targetObj.page.y = delta.page.y / dt; + targetObj.client.x = delta.client.x / dt; + targetObj.client.y = delta.client.y / dt; + targetObj.timeStamp = dt; + }, + isNativePointer: function isNativePointer(pointer) { + return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; + }, + // Get specified X/Y coords for mouse or event.touches[0] + getXY: function getXY(type, pointer, xy) { + xy = xy || {}; + type = type || 'page'; + xy.x = pointer[type + 'X']; + xy.y = pointer[type + 'Y']; + return xy; + }, + getPageXY: function getPageXY(pointer, page) { + page = page || { + x: 0, + y: 0 + }; // Opera Mobile handles the viewport and scrolling oddly + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + pointerUtils.getXY('screen', pointer, page); + page.x += window.scrollX; + page.y += window.scrollY; + } else { + pointerUtils.getXY('page', pointer, page); + } + + return page; + }, + getClientXY: function getClientXY(pointer, client) { + client = client || {}; + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + // Opera Mobile handles the viewport and scrolling oddly + pointerUtils.getXY('screen', pointer, client); + } else { + pointerUtils.getXY('client', pointer, client); + } + + return client; + }, + getPointerId: function getPointerId(pointer) { + return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; + }, + setCoords: function setCoords(targetObj, pointers, timeStamp) { + var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; + var tmpXY = {}; + pointerUtils.getPageXY(pointer, tmpXY); + targetObj.page.x = tmpXY.x; + targetObj.page.y = tmpXY.y; + pointerUtils.getClientXY(pointer, tmpXY); + targetObj.client.x = tmpXY.x; + targetObj.client.y = tmpXY.y; + targetObj.timeStamp = timeStamp; + }, + pointerExtend: _pointerExtend["default"], + getTouchPair: function getTouchPair(event) { + var touches = []; // array of touches is supplied + + if (__is_61.array(event)) { + touches[0] = event[0]; + touches[1] = event[1]; + } // an event + else { + if (event.type === 'touchend') { + if (event.touches.length === 1) { + touches[0] = event.touches[0]; + touches[1] = event.changedTouches[0]; + } else if (event.touches.length === 0) { + touches[0] = event.changedTouches[0]; + touches[1] = event.changedTouches[1]; + } + } else { + touches[0] = event.touches[0]; + touches[1] = event.touches[1]; + } + } + + return touches; + }, + pointerAverage: function pointerAverage(pointers) { + var average = { + pageX: 0, + pageY: 0, + clientX: 0, + clientY: 0, + screenX: 0, + screenY: 0 + }; + + for (var _i = 0; _i < pointers.length; _i++) { + var _ref; + + _ref = pointers[_i]; + var pointer = _ref; + + for (var _prop in average) { + average[_prop] += pointer[_prop]; + } + } + + for (var prop in average) { + average[prop] /= pointers.length; + } + + return average; + }, + touchBBox: function touchBBox(event) { + if (!event.length && !(event.touches && event.touches.length > 1)) { + return null; + } + + var touches = pointerUtils.getTouchPair(event); + var minX = Math.min(touches[0].pageX, touches[1].pageX); + var minY = Math.min(touches[0].pageY, touches[1].pageY); + var maxX = Math.max(touches[0].pageX, touches[1].pageX); + var maxY = Math.max(touches[0].pageY, touches[1].pageY); + return { + x: minX, + y: minY, + left: minX, + top: minY, + right: maxX, + bottom: maxY, + width: maxX - minX, + height: maxY - minY + }; + }, + touchDistance: function touchDistance(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[0][sourceX] - touches[1][sourceX]; + var dy = touches[0][sourceY] - touches[1][sourceY]; + return (0, _hypot["default"])(dx, dy); + }, + touchAngle: function touchAngle(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[1][sourceX] - touches[0][sourceX]; + var dy = touches[1][sourceY] - touches[0][sourceY]; + var angle = 180 * Math.atan2(dy, dx) / Math.PI; + return angle; + }, + getPointerType: function getPointerType(pointer) { + 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 + // be either a MouseEvent, TouchEvent, or Touch object + : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; + }, + // [ event.target, event.currentTarget ] + getEventTargets: function getEventTargets(event) { + var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; + return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; + }, + newCoords: function newCoords() { + return { + page: { + x: 0, + y: 0 + }, + client: { + x: 0, + y: 0 + }, + timeStamp: 0 + }; + }, + coordsToEvent: function coordsToEvent(coords) { + var event = { + coords: coords, + + 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 event; + } +}; +var ___default_61 = pointerUtils; +_$pointerUtils_61["default"] = ___default_61; + +var _$events_52 = {}; +"use strict"; + +Object.defineProperty(_$events_52, "__esModule", { + value: true +}); +_$events_52["default"] = _$events_52.FakeEvent = void 0; + +/* removed: var _$arr_47 = require("./arr"); */; + +var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); + +var __is_52 = ___interopRequireWildcard_52(_$is_57); + +var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); + +var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); + +function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +var elements = []; +var targets = []; +var delegatedEvents = {}; +var documents = []; + +function add(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target) { + target = { + events: {}, + typeCount: 0 + }; + elementIndex = elements.push(element) - 1; + targets.push(target); + } + + if (!target.events[type]) { + target.events[type] = []; + target.typeCount++; + } + + if (!(0, _$arr_47.contains)(target.events[type], listener)) { + element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].push(listener); + } +} + +function __remove_52(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target || !target.events) { + return; + } + + if (type === 'all') { + for (type in target.events) { + if (target.events.hasOwnProperty(type)) { + __remove_52(element, type, 'all'); + } + } + + return; + } + + if (target.events[type]) { + var len = target.events[type].length; + + if (listener === 'all') { + for (var i = 0; i < len; i++) { + __remove_52(element, type, target.events[type][i], options); + } + + return; + } else { + for (var _i = 0; _i < len; _i++) { + if (target.events[type][_i] === listener) { + element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].splice(_i, 1); + break; + } + } + } + + if (target.events[type] && target.events[type].length === 0) { + target.events[type] = null; + target.typeCount--; + } + } + + if (!target.typeCount) { + targets.splice(elementIndex, 1); + elements.splice(elementIndex, 1); + } +} + +function addDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + + if (!delegatedEvents[type]) { + delegatedEvents[type] = { + contexts: [], + listeners: [], + selectors: [] + }; // add delegate listener functions + + for (var _i2 = 0; _i2 < documents.length; _i2++) { + var _ref; + + _ref = documents[_i2]; + var doc = _ref; + add(doc, type, delegateListener); + add(doc, type, delegateUseCapture, true); + } + } + + var delegated = delegatedEvents[type]; + var index; + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + break; + } + } + + if (index === -1) { + index = delegated.selectors.length; + delegated.selectors.push(selector); + delegated.contexts.push(context); + delegated.listeners.push([]); + } // keep listener and capture and passive flags + + + delegated.listeners[index].push([listener, !!options.capture, options.passive]); +} + +function removeDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var delegated = delegatedEvents[type]; + var matchFound = false; + var index; + + if (!delegated) { + return; + } // count from last index of delegated to 0 + + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + // look for matching selector and context Node + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] + + for (var i = listeners.length - 1; i >= 0; i--) { + var _listeners$i = _slicedToArray(listeners[i], 3), + fn = _listeners$i[0], + capture = _listeners$i[1], + passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match + + + if (fn === listener && capture === !!options.capture && passive === options.passive) { + // remove the listener from the array of listeners + listeners.splice(i, 1); // if all listeners for this interactable have been removed + // remove the interactable from the delegated arrays + + if (!listeners.length) { + delegated.selectors.splice(index, 1); + delegated.contexts.splice(index, 1); + delegated.listeners.splice(index, 1); // remove delegate function from context + + __remove_52(context, type, delegateListener); + __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegatedEvents[type] = null; + } + } // only remove one listener + + + matchFound = true; + break; + } + } + + if (matchFound) { + break; + } + } + } +} // bound to the interactable context when a DOM event +// listener is added to a selector interactable + + +function delegateListener(event, optionalArg) { + var options = getOptions(optionalArg); + var fakeEvent = new FakeEvent(event); + var delegated = delegatedEvents[event.type]; + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), + eventTarget = _pointerUtils$getEven2[0]; + + var element = eventTarget; // climb up document tree looking for selector matches + + while (__is_52.element(element)) { + for (var i = 0; i < delegated.selectors.length; i++) { + var selector = delegated.selectors[i]; + var context = delegated.contexts[i]; + + if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { + var listeners = delegated.listeners[i]; + fakeEvent.currentTarget = element; + + for (var _i3 = 0; _i3 < listeners.length; _i3++) { + var _ref2; + + _ref2 = listeners[_i3]; + + 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); + } + } + } + } + + element = __domUtils_52.parentNode(element); + } +} + +function delegateUseCapture(event) { + return delegateListener.call(this, event, true); +} + +function getOptions(param) { + return __is_52.object(param) ? param : { + capture: param + }; +} + +var FakeEvent = +/*#__PURE__*/ +function () { + function FakeEvent(originalEvent) { + _classCallCheck(this, FakeEvent); + + this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed + + (0, ___pointerExtend_52["default"])(this, originalEvent); + } + + _createClass(FakeEvent, [{ + key: "preventOriginalDefault", + value: function preventOriginalDefault() { + this.originalEvent.preventDefault(); + } + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.originalEvent.stopPropagation(); + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.originalEvent.stopImmediatePropagation(); + } + }]); + + return FakeEvent; +}(); + +_$events_52.FakeEvent = FakeEvent; +var events = { + add: add, + remove: __remove_52, + addDelegate: addDelegate, + removeDelegate: removeDelegate, + delegateListener: delegateListener, + delegateUseCapture: delegateUseCapture, + delegatedEvents: delegatedEvents, + documents: documents, + supportsOptions: false, + supportsPassive: false, + _elements: elements, + _targets: targets, + init: function init(window) { + window.document.createElement('div').addEventListener('test', null, { + get capture() { + return events.supportsOptions = true; + }, + + get passive() { + return events.supportsPassive = true; + } + + }); + } +}; +var ___default_52 = events; +_$events_52["default"] = ___default_52; + +var _$extend_53 = {}; +"use strict"; + +Object.defineProperty(_$extend_53, "__esModule", { + value: true +}); +_$extend_53["default"] = extend; + +function extend(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + + return dest; +} + +var _$rect_63 = {}; +"use strict"; + +Object.defineProperty(_$rect_63, "__esModule", { + value: true +}); +_$rect_63.getStringOptionResult = getStringOptionResult; +_$rect_63.resolveRectLike = resolveRectLike; +_$rect_63.rectToXY = rectToXY; +_$rect_63.xywhToTlbr = xywhToTlbr; +_$rect_63.tlbrToXywh = tlbrToXywh; +_$rect_63["default"] = void 0; + +/* removed: var _$domUtils_51 = require("./domUtils"); */; + +var _extend = ___interopRequireDefault_63(_$extend_53); + +var __is_63 = ___interopRequireWildcard_63(_$is_57); + +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 }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +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, target, element) { + if (value === 'parent') { + return (0, _$domUtils_51.parentNode)(element); + } + + if (value === 'self') { + return target.getRect(element); + } + + return (0, _$domUtils_51.closest)(element, value); +} + +function resolveRectLike(value, target, element, functionArgs) { + if (__is_63.string(value)) { + value = getStringOptionResult(value, target, element); + } else if (__is_63.func(value)) { + value = value.apply(void 0, _toConsumableArray(functionArgs)); + } + + if (__is_63.element(value)) { + value = (0, _$domUtils_51.getElementRect)(value); + } + + return value; +} + +function rectToXY(rect) { + return rect && { + x: 'x' in rect ? rect.x : rect.left, + y: 'y' in rect ? rect.y : rect.top + }; +} + +function xywhToTlbr(rect) { + if (rect && !('left' in rect && 'top' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.left = rect.x || 0; + rect.top = rect.y || 0; + rect.right = rect.right || rect.left + rect.width; + rect.bottom = rect.bottom || rect.top + rect.height; + } + + return rect; +} + +function tlbrToXywh(rect) { + if (rect && !('x' in rect && 'y' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.x = rect.left || 0; + rect.y = rect.top || 0; + rect.width = rect.width || rect.right - rect.x; + rect.height = rect.height || rect.bottom - rect.y; + } + + return rect; +} + +var ___default_63 = { + getStringOptionResult: getStringOptionResult, + resolveRectLike: resolveRectLike, + rectToXY: rectToXY, + xywhToTlbr: xywhToTlbr, + tlbrToXywh: tlbrToXywh +}; +_$rect_63["default"] = ___default_63; + +var _$getOriginXY_54 = {}; +"use strict"; + +Object.defineProperty(_$getOriginXY_54, "__esModule", { + value: true +}); +_$getOriginXY_54["default"] = ___default_54; + +/* removed: var _$rect_63 = require("./rect"); */; + +function ___default_54(target, element, action) { + var actionOptions = target.options[action]; + var actionOrigin = actionOptions && actionOptions.origin; + var origin = actionOrigin || target.options.origin; + var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); + return (0, _$rect_63.rectToXY)(originRect) || { + x: 0, + y: 0 + }; +} + +var _$normalizeListeners_59 = {}; +"use strict"; + +Object.defineProperty(_$normalizeListeners_59, "__esModule", { + value: true +}); +_$normalizeListeners_59["default"] = normalize; + +var ___extend_59 = ___interopRequireDefault_59(_$extend_53); + +var __is_59 = ___interopRequireWildcard_59(_$is_57); + +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 }; } + +function normalize(type, listeners, result) { + result = result || {}; + + if (__is_59.string(type) && type.search(' ') !== -1) { + type = split(type); + } + + if (__is_59.array(type)) { + return type.reduce(function (acc, t) { + return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); + }, result); + } // ({ type: fn }) -> ('', { type: fn }) + + + if (__is_59.object(type)) { + listeners = type; + type = ''; + } + + if (__is_59.func(listeners)) { + result[type] = result[type] || []; + result[type].push(listeners); + } else if (__is_59.array(listeners)) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var l = _ref; + normalize(type, l, result); + } + } else if (__is_59.object(listeners)) { + for (var prefix in listeners) { + var combinedTypes = split(prefix).map(function (p) { + return "".concat(type).concat(p); + }); + normalize(combinedTypes, listeners[prefix], result); + } + } + + return result; +} + +function split(type) { + return type.trim().split(/ +/); +} + +var _$raf_62 = {}; +"use strict"; + +Object.defineProperty(_$raf_62, "__esModule", { + value: true +}); +_$raf_62["default"] = void 0; +var lastTime = 0; + +var _request; + +var _cancel; + +function __init_62(window) { + _request = window.requestAnimationFrame; + _cancel = window.cancelAnimationFrame; + + if (!_request) { + var vendors = ['ms', 'moz', 'webkit', 'o']; + + for (var _i = 0; _i < vendors.length; _i++) { + var vendor = vendors[_i]; + _request = window["".concat(vendor, "RequestAnimationFrame")]; + _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; + } + } + + if (!_request) { + _request = function request(callback) { + var currTime = Date.now(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal + + var token = setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return token; + }; + + _cancel = function cancel(token) { + return clearTimeout(token); + }; + } +} + +var ___default_62 = { + request: function request(callback) { + return _request(callback); + }, + cancel: function cancel(token) { + return _cancel(token); + }, + init: __init_62 +}; +_$raf_62["default"] = ___default_62; + +var _$Signals_46 = {}; +"use strict"; + +Object.defineProperty(_$Signals_46, "__esModule", { + value: true +}); +_$Signals_46["default"] = void 0; + +function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } + +var Signals = +/*#__PURE__*/ +function () { + function Signals() { + ___classCallCheck_46(this, Signals); + + this.listeners = {}; + } + + ___createClass_46(Signals, [{ + key: "on", + value: function on(name, listener) { + if (!this.listeners[name]) { + this.listeners[name] = [listener]; + return; + } + + this.listeners[name].push(listener); + } + }, { + key: "off", + value: function off(name, listener) { + if (!this.listeners[name]) { + return; + } + + var index = this.listeners[name].indexOf(listener); + + if (index !== -1) { + this.listeners[name].splice(index, 1); + } + } + }, { + key: "fire", + value: function fire(name, arg) { + var targetListeners = this.listeners[name]; + + if (!targetListeners) { + return; + } + + for (var _i = 0; _i < targetListeners.length; _i++) { + var _ref; + + _ref = targetListeners[_i]; + var listener = _ref; + + if (listener(arg, name) === false) { + return false; + } + } + } + }]); + + return Signals; +}(); + +var ___default_46 = Signals; +_$Signals_46["default"] = ___default_46; + +var _$utils_56 = {}; +"use strict"; + +Object.defineProperty(_$utils_56, "__esModule", { + value: true +}); +_$utils_56.warnOnce = warnOnce; +_$utils_56._getQBezierValue = _getQBezierValue; +_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; +_$utils_56.easeOutQuad = easeOutQuad; +_$utils_56.copyAction = copyAction; +Object.defineProperty(_$utils_56, "win", { + enumerable: true, + get: function get() { + return ___window_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "browser", { + enumerable: true, + get: function get() { + return ___browser_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "clone", { + enumerable: true, + get: function get() { + return _clone["default"]; + } +}); +Object.defineProperty(_$utils_56, "events", { + enumerable: true, + get: function get() { + return _events["default"]; + } +}); +Object.defineProperty(_$utils_56, "extend", { + enumerable: true, + get: function get() { + return ___extend_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "getOriginXY", { + enumerable: true, + get: function get() { + return _getOriginXY["default"]; + } +}); +Object.defineProperty(_$utils_56, "hypot", { + enumerable: true, + get: function get() { + return ___hypot_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "normalizeListeners", { + enumerable: true, + get: function get() { + return _normalizeListeners["default"]; + } +}); +Object.defineProperty(_$utils_56, "pointer", { + enumerable: true, + get: function get() { + return ___pointerUtils_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "raf", { + enumerable: true, + get: function get() { + return _raf["default"]; + } +}); +Object.defineProperty(_$utils_56, "rect", { + enumerable: true, + get: function get() { + return ___rect_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "Signals", { + enumerable: true, + get: function get() { + return _Signals["default"]; + } +}); +_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; + +var __arr_56 = ___interopRequireWildcard_56(_$arr_47); + +_$utils_56.arr = __arr_56; + +var dom = ___interopRequireWildcard_56(_$domUtils_51); + +_$utils_56.dom = dom; + +var __is_56 = ___interopRequireWildcard_56(_$is_57); + +_$utils_56.is = __is_56; + +var ___window_56 = ___interopRequireDefault_56(_$window_66); + +var ___browser_56 = ___interopRequireDefault_56(_$browser_48); + +var _clone = ___interopRequireDefault_56(_$clone_49); + +var _events = ___interopRequireDefault_56(_$events_52); + +var ___extend_56 = ___interopRequireDefault_56(_$extend_53); + +var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); + +var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); + +var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); + +var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); + +var _raf = ___interopRequireDefault_56(_$raf_62); + +var ___rect_56 = ___interopRequireDefault_56(_$rect_63); + +var _Signals = ___interopRequireDefault_56(_$Signals_46); + +function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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 + + return function () { + if (!warned) { + ___window_56["default"].window.console.warn(message); + + warned = true; + } + + return method.apply(this, arguments); + }; +} // http://stackoverflow.com/a/5634528/2280888 + + +function _getQBezierValue(t, p1, p2, p3) { + var iT = 1 - t; + return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; +} + +function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { + return { + x: _getQBezierValue(position, startX, cpX, endX), + y: _getQBezierValue(position, startY, cpY, endY) + }; +} // http://gizma.com/easing/ + + +function easeOutQuad(t, b, c, d) { + t /= d; + return -c * t * (t - 2) + b; +} + +function copyAction(dest, src) { + dest.name = src.name; + dest.axis = src.axis; + dest.edges = src.edges; + return dest; +} + +var _$defaultOptions_20 = {}; +"use strict"; + +Object.defineProperty(_$defaultOptions_20, "__esModule", { + value: true +}); +_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; +// tslint:disable no-empty-interface +var defaults = { + base: { + preventDefault: 'auto', + deltaSource: 'page' + }, + perAction: { + enabled: false, + origin: { + x: 0, + y: 0 + } + }, + actions: {} +}; +_$defaultOptions_20.defaults = defaults; +var ___default_20 = defaults; +_$defaultOptions_20["default"] = ___default_20; + +var _$Eventable_14 = {}; +"use strict"; + +Object.defineProperty(_$Eventable_14, "__esModule", { + value: true +}); +_$Eventable_14["default"] = void 0; + +var __arr_14 = ___interopRequireWildcard_14(_$arr_47); + +var ___extend_14 = ___interopRequireDefault_14(_$extend_53); + +var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); + +function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function ___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); } } + +function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } + +function fireUntilImmediateStopped(event, listeners) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var listener = _ref; + + if (event.immediatePropagationStopped) { + break; + } + + listener(event); + } +} + +var Eventable = +/*#__PURE__*/ +function () { + function Eventable(options) { + ___classCallCheck_14(this, Eventable); + + this.types = {}; + this.propagationStopped = false; + this.immediatePropagationStopped = false; + this.options = (0, ___extend_14["default"])({}, options || {}); + } + + ___createClass_14(Eventable, [{ + key: "fire", + value: function fire(event) { + var listeners; + var global = this.global; // Interactable#on() listeners + // tslint:disable no-conditional-assignment + + if (listeners = this.types[event.type]) { + fireUntilImmediateStopped(event, listeners); + } // interact.on() listeners + + + if (!event.propagationStopped && global && (listeners = global[event.type])) { + fireUntilImmediateStopped(event, listeners); + } + } + }, { + key: "on", + value: function on(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); + } + } + }, { + key: "off", + value: function off(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + var eventList = this.types[type]; + + if (!eventList || !eventList.length) { + continue; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var subListener = _ref2; + var index = eventList.indexOf(subListener); + + if (index !== -1) { + eventList.splice(index, 1); + } + } + } + } + }, { + key: "getRect", + value: function getRect(_element) { + return null; + } + }]); + + return Eventable; +}(); + +var ___default_14 = Eventable; +_$Eventable_14["default"] = ___default_14; + +var _$Interactable_16 = {}; +"use strict"; + +Object.defineProperty(_$Interactable_16, "__esModule", { + value: true +}); +_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; + +var __arr_16 = ___interopRequireWildcard_16(_$arr_47); + +var ___browser_16 = ___interopRequireDefault_16(_$browser_48); + +var ___clone_16 = ___interopRequireDefault_16(_$clone_49); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_16 = ___interopRequireDefault_16(_$events_52); + +var ___extend_16 = ___interopRequireDefault_16(_$extend_53); + +var __is_16 = ___interopRequireWildcard_16(_$is_57); + +var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +var _Eventable = ___interopRequireDefault_16(_$Eventable_14); + +function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function ___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); } } + +function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } + +/** */ +var Interactable = +/*#__PURE__*/ +function () { + /** */ + function Interactable(target, options, defaultContext) { + ___classCallCheck_16(this, Interactable); + + this.events = new _Eventable["default"](); + this._actions = options.actions; + this.target = target; + this._context = options.context || defaultContext; + this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); + this._doc = this._win.document; + this.set(options); + } + + ___createClass_16(Interactable, [{ + key: "setOnEvents", + value: function setOnEvents(actionName, phases) { + if (__is_16.func(phases.onstart)) { + this.on("".concat(actionName, "start"), phases.onstart); + } + + if (__is_16.func(phases.onmove)) { + this.on("".concat(actionName, "move"), phases.onmove); + } + + if (__is_16.func(phases.onend)) { + this.on("".concat(actionName, "end"), phases.onend); + } + + if (__is_16.func(phases.oninertiastart)) { + this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); + } + + return this; + } + }, { + key: "updatePerActionListeners", + value: function updatePerActionListeners(actionName, prev, cur) { + if (__is_16.array(prev) || __is_16.object(prev)) { + this.off(actionName, prev); + } + + if (__is_16.array(cur) || __is_16.object(cur)) { + this.on(actionName, cur); + } + } + }, { + key: "setPerAction", + value: function setPerAction(actionName, options) { + var defaults = this._defaults; // for all the default per-action options + + for (var optionName in options) { + var actionOptions = this.options[actionName]; + var optionValue = options[optionName]; + var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones + + if (optionName === 'listeners') { + this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); + } // if the option value is an array + + + if (isArray) { + actionOptions[optionName] = __arr_16.from(optionValue); + } // if the option value is an object + else if (!isArray && __is_16.plainObject(optionValue)) { + // copy the object + actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults + + if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { + actionOptions[optionName].enabled = optionValue.enabled !== false; + } + } // if the option value is a boolean and the default is an object + else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { + actionOptions[optionName].enabled = optionValue; + } // if it's anything else, do a plain assignment + else { + actionOptions[optionName] = optionValue; + } + } + } + /** + * The default function to get an Interactables bounding rect. Can be + * overridden using {@link Interactable.rectChecker}. + * + * @param {Element} [element] The element to measure. + * @return {object} The object's bounding rectangle. + */ + + }, { + key: "getRect", + value: function getRect(element) { + element = element || (__is_16.element(this.target) ? this.target : null); + + if (__is_16.string(this.target)) { + element = element || this._context.querySelector(this.target); + } + + return (0, _$domUtils_51.getElementRect)(element); + } + /** + * Returns or sets the function used to calculate the interactable's + * element's rectangle + * + * @param {function} [checker] A function which returns this Interactable's + * bounding rectangle. See {@link Interactable.getRect} + * @return {function | object} The checker function or this Interactable + */ + + }, { + key: "rectChecker", + value: function rectChecker(checker) { + if (__is_16.func(checker)) { + this.getRect = checker; + return this; + } + + if (checker === null) { + delete this.getRect; + return this; + } + + return this.getRect; + } + }, { + key: "_backCompatOption", + value: function _backCompatOption(optionName, newValue) { + if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { + this.options[optionName] = newValue; + + for (var _i = 0; _i < this._actions.names.length; _i++) { + var _ref; + + _ref = this._actions.names[_i]; + var action = _ref; + this.options[action][optionName] = newValue; + } + + return this; + } + + return this.options[optionName]; + } + /** + * Gets or sets the origin of the Interactable's element. The x and y + * of the origin will be subtracted from action event coordinates. + * + * @param {Element | object | string} [origin] An HTML or SVG Element whose + * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' + * or any CSS selector + * + * @return {object} The current origin or this Interactable + */ + + }, { + key: "origin", + value: function origin(newValue) { + return this._backCompatOption('origin', newValue); + } + /** + * Returns or sets the mouse coordinate types used to calculate the + * movement of the pointer. + * + * @param {string} [newValue] Use 'client' if you will be scrolling while + * interacting; Use 'page' if you want autoScroll to work + * @return {string | object} The current deltaSource or this Interactable + */ + + }, { + key: "deltaSource", + value: function deltaSource(newValue) { + if (newValue === 'page' || newValue === 'client') { + this.options.deltaSource = newValue; + return this; + } + + return this.options.deltaSource; + } + /** + * Gets the selector context Node of the Interactable. The default is + * `window.document`. + * + * @return {Node} The context Node of this Interactable + */ + + }, { + key: "context", + value: function context() { + return this._context; + } + }, { + key: "inContext", + value: function inContext(element) { + return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); + } + }, { + key: "testIgnoreAllow", + value: function testIgnoreAllow(options, targetNode, eventTarget) { + return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); + } + }, { + key: "testAllow", + value: function testAllow(allowFrom, targetNode, element) { + if (!allowFrom) { + return true; + } + + if (!__is_16.element(element)) { + return false; + } + + if (__is_16.string(allowFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); + } else if (__is_16.element(allowFrom)) { + return (0, _$domUtils_51.nodeContains)(allowFrom, element); + } + + return false; + } + }, { + key: "testIgnore", + value: function testIgnore(ignoreFrom, targetNode, element) { + if (!ignoreFrom || !__is_16.element(element)) { + return false; + } + + if (__is_16.string(ignoreFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); + } else if (__is_16.element(ignoreFrom)) { + return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); + } + + return false; + } + /** + * Calls listeners for the given InteractEvent type bound globally + * and directly to this Interactable + * + * @param {InteractEvent} iEvent The InteractEvent object to be fired on this + * Interactable + * @return {Interactable} this Interactable + */ + + }, { + key: "fire", + value: function fire(iEvent) { + this.events.fire(iEvent); + return this; + } + }, { + key: "_onOff", + value: function _onOff(method, typeArg, listenerArg, options) { + if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { + options = listenerArg; + listenerArg = null; + } + + var addRemove = method === 'on' ? 'add' : 'remove'; + var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); + + for (var type in listeners) { + if (type === 'wheel') { + type = ___browser_16["default"].wheelEvent; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var listener = _ref2; + + // if it is an action event type + if (__arr_16.contains(this._actions.eventTypes, type)) { + this.events[method](type, listener); + } // 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 Interactable's element + else { + ___events_16["default"][addRemove](this.target, type, listener, options); + } + } + } + + return this; + } + /** + * Binds a listener for an InteractEvent, pointerEvent or DOM event. + * + * @param {string | array | object} types The types of events to listen + * for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * addEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "on", + value: function on(types, listener, options) { + return this._onOff('on', types, listener, options); + } + /** + * Removes an InteractEvent, pointerEvent or DOM event listener. + * + * @param {string | array | object} types The types of events that were + * listened for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * removeEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "off", + value: function off(types, listener, options) { + return this._onOff('off', types, listener, options); + } + /** + * Reset the options of this Interactable + * + * @param {object} options The new settings to apply + * @return {object} This Interactable + */ + + }, { + key: "set", + value: function set(options) { + var defaults = this._defaults; + + if (!__is_16.object(options)) { + options = {}; + } + + this.options = (0, ___clone_16["default"])(defaults.base); + + for (var actionName in this._actions.methodDict) { + var methodName = this._actions.methodDict[actionName]; + this.options[actionName] = {}; + this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); + this[methodName](options[actionName]); + } + + for (var setting in options) { + if (__is_16.func(this[setting])) { + this[setting](options[setting]); + } + } + + return this; + } + /** + * Remove this interactable from the list of interactables and remove it's + * action capabilities and event listeners + * + * @return {interact} + */ + + }, { + key: "unset", + value: function unset() { + ___events_16["default"].remove(this.target, 'all'); + + if (__is_16.string(this.target)) { + // remove delegated events + for (var type in ___events_16["default"].delegatedEvents) { + var delegated = ___events_16["default"].delegatedEvents[type]; + + if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { + delegated.selectors.splice(0, 1); + delegated.contexts.splice(0, 1); + delegated.listeners.splice(0, 1); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegated[type] = null; + } + } + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); + } + } else { + ___events_16["default"].remove(this.target, 'all'); + } + } + }, { + key: "_defaults", + get: function get() { + return { + base: {}, + perAction: {}, + actions: {} + }; + } + }]); + + return Interactable; +}(); + +_$Interactable_16.Interactable = Interactable; +var ___default_16 = Interactable; +_$Interactable_16["default"] = ___default_16; + +var _$InteractableSet_17 = {}; +"use strict"; + +Object.defineProperty(_$InteractableSet_17, "__esModule", { + value: true +}); +_$InteractableSet_17["default"] = void 0; + +var __arr_17 = ___interopRequireWildcard_17(_$arr_47); + +var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); + +var ___extend_17 = ___interopRequireDefault_17(_$extend_53); + +var __is_17 = ___interopRequireWildcard_17(_$is_57); + +var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); + +function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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"); } } + +function ___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); } } + +function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } + +var InteractableSet = +/*#__PURE__*/ +function () { + function InteractableSet(scope) { + var _this = this; + + ___classCallCheck_17(this, InteractableSet); + + this.scope = scope; + this.signals = new ___Signals_17["default"](); // all set interactables + + this.list = []; + this.selectorMap = {}; + this.signals.on('unset', function (_ref) { + var interactable = _ref.interactable; + var target = interactable.target, + context = interactable._context; + var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; + var targetIndex = targetMappings.findIndex(function (m) { + return m.context === context; + }); + + if (targetMappings[targetIndex]) { + // Destroying mappingInfo's context and interactable + targetMappings[targetIndex].context = null; + targetMappings[targetIndex].interactable = null; + } + + targetMappings.splice(targetIndex, 1); + }); + } + + ___createClass_17(InteractableSet, [{ + key: "new", + value: function _new(target, options) { + options = (0, ___extend_17["default"])(options || {}, { + actions: this.scope.actions + }); + var interactable = new this.scope.Interactable(target, options, this.scope.document); + var mappingInfo = { + context: interactable._context, + interactable: interactable + }; + this.scope.addDocument(interactable._doc); + this.list.push(interactable); + + if (__is_17.string(target)) { + if (!this.selectorMap[target]) { + this.selectorMap[target] = []; + } + + this.selectorMap[target].push(mappingInfo); + } else { + if (!interactable.target[this.scope.id]) { + Object.defineProperty(target, this.scope.id, { + value: [], + configurable: true + }); + } + + target[this.scope.id].push(mappingInfo); + } + + this.signals.fire('new', { + target: target, + options: options, + interactable: interactable, + win: this.scope._win + }); + return interactable; + } + }, { + key: "get", + value: function get(target, options) { + var context = options && options.context || this.scope.document; + var isSelector = __is_17.string(target); + var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; + + if (!targetMappings) { + return null; + } + + var found = __arr_17.find(targetMappings, function (m) { + return m.context === context && (isSelector || m.interactable.inContext(target)); + }); + return found && found.interactable; + } + }, { + key: "forEachMatch", + value: function forEachMatch(node, callback) { + for (var _i = 0; _i < this.list.length; _i++) { + var _ref2; + + _ref2 = this.list[_i]; + var interactable = _ref2; + var ret = void 0; + + if ((__is_17.string(interactable.target) // target is a selector and the element matches + ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element + node === interactable.target) && // the element is in context + interactable.inContext(node)) { + ret = callback(interactable); + } + + if (ret !== undefined) { + return ret; + } + } + } + }]); + + return InteractableSet; +}(); + +_$InteractableSet_17["default"] = InteractableSet; + +var _$BaseEvent_13 = {}; +"use strict"; + +Object.defineProperty(_$BaseEvent_13, "__esModule", { + value: true +}); +_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; + +function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } + +var EventPhase; +_$BaseEvent_13.EventPhase = EventPhase; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); + +var BaseEvent = +/*#__PURE__*/ +function () { + function BaseEvent(interaction) { + ___classCallCheck_13(this, BaseEvent); + + this.immediatePropagationStopped = false; + this.propagationStopped = false; + this._interaction = interaction; + } + + ___createClass_13(BaseEvent, [{ + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }, { + key: "interaction", + get: function get() { + return this._interaction._proxy; + } + }]); + + return BaseEvent; +}(); + +_$BaseEvent_13.BaseEvent = BaseEvent; +var ___default_13 = BaseEvent; +_$BaseEvent_13["default"] = ___default_13; + +var _$InteractEvent_15 = {}; +"use strict"; + +Object.defineProperty(_$InteractEvent_15, "__esModule", { + value: true +}); +_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; + +var ___extend_15 = ___interopRequireDefault_15(_$extend_53); + +var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); + +var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); + +var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); + +var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); + +function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___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); } + +function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var __EventPhase_15; +_$InteractEvent_15.EventPhase = __EventPhase_15; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); + +var InteractEvent = +/*#__PURE__*/ +function (_BaseEvent) { + _inherits(InteractEvent, _BaseEvent); + + /** */ + function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { + var _this; + + ___classCallCheck_15(this, InteractEvent); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); + element = element || interaction.element; + var target = interaction.interactable; + var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; + var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); + var starting = phase === 'start'; + var ending = phase === 'end'; + var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; + var coords = starting ? interaction.coords.start : ending ? { + page: prevEvent.page, + client: prevEvent.client, + timeStamp: interaction.coords.cur.timeStamp + } : interaction.coords.cur; + _this.page = (0, ___extend_15["default"])({}, coords.page); + _this.client = (0, ___extend_15["default"])({}, coords.client); + _this.rect = (0, ___extend_15["default"])({}, interaction.rect); + _this.timeStamp = coords.timeStamp; + + if (!ending) { + _this.page.x -= origin.x; + _this.page.y -= origin.y; + _this.client.x -= origin.x; + _this.client.y -= origin.y; + } + + _this.ctrlKey = event.ctrlKey; + _this.altKey = event.altKey; + _this.shiftKey = event.shiftKey; + _this.metaKey = event.metaKey; + _this.button = event.button; + _this.buttons = event.buttons; + _this.target = element; + _this.currentTarget = element; + _this.relatedTarget = related || null; + _this.preEnd = preEnd; + _this.type = type || actionName + (phase || ''); + _this.interactable = target; + _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; + _this.x0 = interaction.coords.start.page.x - origin.x; + _this.y0 = interaction.coords.start.page.y - origin.y; + _this.clientX0 = interaction.coords.start.client.x - origin.x; + _this.clientY0 = interaction.coords.start.client.y - origin.y; + + if (starting || ending) { + _this.delta = { + x: 0, + y: 0 + }; + } else { + _this.delta = { + x: _this[deltaSource].x - prevEvent[deltaSource].x, + y: _this[deltaSource].y - prevEvent[deltaSource].y + }; + } + + _this.dt = interaction.coords.delta.timeStamp; + _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second + + _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); + _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); + _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; + return _this; + } + + ___createClass_15(InteractEvent, [{ + key: "getSwipe", + value: function getSwipe() { + var interaction = this._interaction; + + if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { + return null; + } + + var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; + var overlap = 22.5; + + if (angle < 0) { + angle += 360; + } + + var left = 135 - overlap <= angle && angle < 225 + overlap; + var up = 225 - overlap <= angle && angle < 315 + overlap; + var right = !left && (315 - overlap <= angle || angle < 45 + overlap); + var down = !up && 45 - overlap <= angle && angle < 135 + overlap; + return { + up: up, + down: down, + left: left, + right: right, + angle: angle, + speed: interaction.prevEvent.speed, + velocity: { + x: interaction.prevEvent.velocityX, + y: interaction.prevEvent.velocityY + } + }; + } + }, { + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "pageX", + get: function get() { + return this.page.x; + }, + set: function set(value) { + this.page.x = value; + } + }, { + key: "pageY", + get: function get() { + return this.page.y; + }, + set: function set(value) { + this.page.y = value; + } + }, { + key: "clientX", + get: function get() { + return this.client.x; + }, + set: function set(value) { + this.client.x = value; + } + }, { + key: "clientY", + get: function get() { + return this.client.y; + }, + set: function set(value) { + this.client.y = value; + } + }, { + key: "dx", + get: function get() { + return this.delta.x; + }, + set: function set(value) { + this.delta.x = value; + } + }, { + key: "dy", + get: function get() { + return this.delta.y; + }, + set: function set(value) { + this.delta.y = value; + } + }, { + key: "velocityX", + get: function get() { + return this.velocity.x; + }, + set: function set(value) { + this.velocity.x = value; + } + }, { + key: "velocityY", + get: function get() { + return this.velocity.y; + }, + set: function set(value) { + this.velocity.y = value; + } + }]); + + return InteractEvent; +}(_BaseEvent2["default"]); + +_$InteractEvent_15.InteractEvent = InteractEvent; +var ___default_15 = InteractEvent; +_$InteractEvent_15["default"] = ___default_15; + +var _$PointerInfo_19 = {}; +"use strict"; + +Object.defineProperty(_$PointerInfo_19, "__esModule", { + value: true +}); +_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; + +function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/* eslint-disable @typescript-eslint/no-parameter-properties */ +var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { + ___classCallCheck_19(this, PointerInfo); + + this.id = id; + this.pointer = pointer; + this.event = event; + this.downTime = downTime; + this.downTarget = downTarget; +}; + +_$PointerInfo_19.PointerInfo = PointerInfo; +var ___default_19 = PointerInfo; +_$PointerInfo_19["default"] = ___default_19; + +var _$interactionFinder_22 = {}; +"use strict"; + +Object.defineProperty(_$interactionFinder_22, "__esModule", { + value: true +}); +_$interactionFinder_22["default"] = void 0; + +var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); + +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'], + search: function search(details) { + for (var _i = 0; _i < finder.methodOrder.length; _i++) { + var _ref; + + _ref = finder.methodOrder[_i]; + var method = _ref; + var interaction = finder[method](details); + + if (interaction) { + return interaction; + } + } + }, + // try to resume simulation with a new pointer + simulationResume: function simulationResume(_ref2) { + var pointerType = _ref2.pointerType, + eventType = _ref2.eventType, + eventTarget = _ref2.eventTarget, + scope = _ref2.scope; + + if (!/down|start/i.test(eventType)) { + return null; + } + + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref3; + + _ref3 = scope.interactions.list[_i2]; + var interaction = _ref3; + var element = eventTarget; + + if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { + while (element) { + // if the element is the interaction element + if (element === interaction.element) { + return interaction; + } + + element = __dom_22.parentNode(element); + } + } + } + + return null; + }, + // if it's a mouse or pen interaction + mouseOrPen: function mouseOrPen(_ref4) { + var pointerId = _ref4.pointerId, + pointerType = _ref4.pointerType, + eventType = _ref4.eventType, + scope = _ref4.scope; + + if (pointerType !== 'mouse' && pointerType !== 'pen') { + return null; + } + + var firstNonActive; + + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref5; + + _ref5 = scope.interactions.list[_i3]; + var interaction = _ref5; + + if (interaction.pointerType === pointerType) { + // if it's a down event, skip interactions with running simulations + if (interaction.simulation && !hasPointerId(interaction, pointerId)) { + continue; + } // if the interaction is active, return it immediately + + + if (interaction.interacting()) { + return interaction; + } // otherwise save it and look for another active interaction + else if (!firstNonActive) { + firstNonActive = interaction; + } + } + } // if no active mouse interaction was found use the first inactive mouse + // interaction + + + if (firstNonActive) { + return firstNonActive; + } // find any mouse or pen interaction. + // ignore the interaction if the eventType is a *down, and a simulation + // is active + + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref6; + + _ref6 = scope.interactions.list[_i4]; + var _interaction = _ref6; + + if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { + return _interaction; + } + } + + return null; + }, + // get interaction that has this pointer + hasPointer: function hasPointer(_ref7) { + var pointerId = _ref7.pointerId, + scope = _ref7.scope; + + for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { + var _ref8; + + _ref8 = scope.interactions.list[_i5]; + var interaction = _ref8; + + if (hasPointerId(interaction, pointerId)) { + return interaction; + } + } + + return null; + }, + // get first idle interaction with a matching pointerType + idle: function idle(_ref9) { + var pointerType = _ref9.pointerType, + scope = _ref9.scope; + + for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { + var _ref10; + + _ref10 = scope.interactions.list[_i6]; + var interaction = _ref10; + + // if there's already a pointer held down + if (interaction.pointers.length === 1) { + var target = interaction.interactable; // don't add this pointer if there is a target interactable and it + // isn't gesturable + + if (target && !(target.options.gesture && target.options.gesture.enabled)) { + continue; + } + } // maximum of 2 pointers per interaction + else if (interaction.pointers.length >= 2) { + continue; + } + + if (!interaction.interacting() && pointerType === interaction.pointerType) { + return interaction; + } + } + + return null; + } +}; + +function hasPointerId(interaction, pointerId) { + return interaction.pointers.some(function (_ref11) { + var id = _ref11.id; + return id === pointerId; + }); +} + +var ___default_22 = finder; +_$interactionFinder_22["default"] = ___default_22; + +var _$drag_1 = {}; +"use strict"; + +Object.defineProperty(_$drag_1, "__esModule", { + value: true +}); +_$drag_1["default"] = void 0; + +var ___scope_1 = _$scope_24({}); + +var __arr_1 = ___interopRequireWildcard_1(_$arr_47); + +var __is_1 = ___interopRequireWildcard_1(_$is_57); + +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'; + +function __install_1(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('before-action-move', beforeMove); + interactions.signals.on('action-resume', beforeMove); // dragmove + + interactions.signals.on('action-move', move); + Interactable.prototype.draggable = drag.draggable; + actions[___scope_1.ActionName.Drag] = drag; + actions.names.push(___scope_1.ActionName.Drag); + __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); + actions.methodDict.drag = 'draggable'; + defaults.actions.drag = drag.defaults; +} + +function beforeMove(_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x') { + interaction.coords.cur.page.y = interaction.coords.start.page.y; + interaction.coords.cur.client.y = interaction.coords.start.client.y; + interaction.coords.velocity.client.y = 0; + interaction.coords.velocity.page.y = 0; + } else if (axis === 'y') { + interaction.coords.cur.page.x = interaction.coords.start.page.x; + interaction.coords.cur.client.x = interaction.coords.start.client.x; + interaction.coords.velocity.client.x = 0; + interaction.coords.velocity.page.x = 0; + } +} + +function move(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x' || axis === 'y') { + var opposite = axis === 'x' ? 'y' : 'x'; + iEvent.page[opposite] = interaction.coords.start.page[opposite]; + iEvent.client[opposite] = interaction.coords.start.client[opposite]; + iEvent.delta[opposite] = 0; + } +} +/** + * ```js + * interact(element).draggable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // the axis in which the first movement must be + * // for the drag sequence to start + * // 'xy' by default - any direction + * startAxis: 'x' || 'y' || 'xy', + * + * // 'xy' by default - don't restrict to one axis (move in any direction) + * // 'x' or 'y' to restrict movement to either axis + * // 'start' to restrict movement to the axis the drag started in + * lockAxis: 'x' || 'y' || 'xy' || 'start', + * + * // max number of drags that can happen concurrently + * // with elements of this Interactable. Infinity by default + * max: Infinity, + * + * // max number of drags that can target the same element+Interactable + * // 1 by default + * maxPerElement: 2 + * }) + * + * var isDraggable = interact('element').draggable(); // true + * ``` + * + * Get or set whether drag actions can be performed on the target + * + * @alias Interactable.prototype.draggable + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on drag events (object makes the Interactable + * draggable) + * @return {boolean | Interactable} boolean indicating if this can be the + * target of drag events, or this Interctable + */ + + +var draggable = function draggable(options) { + if (__is_1.object(options)) { + this.options.drag.enabled = options.enabled !== false; + this.setPerAction('drag', options); + this.setOnEvents('drag', options); + + if (/^(xy|x|y|start)$/.test(options.lockAxis)) { + this.options.drag.lockAxis = options.lockAxis; + } + + if (/^(xy|x|y)$/.test(options.startAxis)) { + this.options.drag.startAxis = options.startAxis; + } + + return this; + } + + if (__is_1.bool(options)) { + this.options.drag.enabled = options; + return this; + } + + return this.options.drag; +}; + +var drag = { + id: 'actions/drag', + install: __install_1, + draggable: draggable, + beforeMove: beforeMove, + move: move, + defaults: { + startAxis: 'xy', + lockAxis: 'xy' + }, + checker: function checker(_pointer, _event, interactable) { + var dragOptions = interactable.options.drag; + return dragOptions.enabled ? { + name: 'drag', + axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis + } : null; + }, + getCursor: function getCursor() { + return 'move'; + } +}; +var ___default_1 = drag; +_$drag_1["default"] = ___default_1; + +var _$DropEvent_2 = {}; +"use strict"; + +Object.defineProperty(_$DropEvent_2, "__esModule", { + value: true +}); +_$DropEvent_2["default"] = void 0; + +var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); + +var __arr_2 = ___interopRequireWildcard_2(_$arr_47); + +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 }; } + +function ___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); } + +function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } + +function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___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; } } + +function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } + +function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } + +function ___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); } + +function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } + +var DropEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_2(DropEvent, _BaseEvent); + + /** + * Class of events fired on dropzones during drags with acceptable targets. + */ + function DropEvent(dropState, dragEvent, type) { + var _this; + + ___classCallCheck_2(this, DropEvent); + + _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); + _this.propagationStopped = false; + _this.immediatePropagationStopped = false; + + var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, + element = _ref.element, + dropzone = _ref.dropzone; + + _this.type = type; + _this.target = element; + _this.currentTarget = element; + _this.dropzone = dropzone; + _this.dragEvent = dragEvent; + _this.relatedTarget = dragEvent.target; + _this.draggable = dragEvent.interactable; + _this.timeStamp = dragEvent.timeStamp; + return _this; + } + /** + * If this is a `dropactivate` event, the dropzone element will be + * deactivated. + * + * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the + * dropzone element and more. + */ + + + ___createClass_2(DropEvent, [{ + key: "reject", + value: function reject() { + var _this2 = this; + + var dropState = this._interaction.dropState; + + if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { + return; + } + + dropState.prev.dropzone = this.dropzone; + dropState.prev.element = this.target; + dropState.rejected = true; + dropState.events.enter = null; + this.stopImmediatePropagation(); + + if (this.type === 'dropactivate') { + var activeDrops = dropState.activeDrops; + var index = __arr_2.findIndex(activeDrops, function (_ref2) { + var dropzone = _ref2.dropzone, + element = _ref2.element; + return dropzone === _this2.dropzone && element === _this2.target; + }); + dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); + var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); + deactivateEvent.dropzone = this.dropzone; + deactivateEvent.target = this.target; + this.dropzone.fire(deactivateEvent); + } else { + this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); + } + } + }, { + key: "preventDefault", + value: function preventDefault() {} + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }]); + + return DropEvent; +}(___BaseEvent2_2["default"]); + +var ___default_2 = DropEvent; +_$DropEvent_2["default"] = ___default_2; + +var _$drop_3 = {}; +"use strict"; + +Object.defineProperty(_$drop_3, "__esModule", { + value: true +}); +_$drop_3["default"] = void 0; + +var __utils_3 = ___interopRequireWildcard_3(_$utils_56); + +var _drag = ___interopRequireDefault_3(_$drag_1); + +var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); + +function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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, + interact = scope.interact, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_drag["default"]); + interactions.signals.on('before-action-start', function (_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + interaction.dropState = { + cur: { + dropzone: null, + element: null + }, + prev: { + dropzone: null, + element: null + }, + rejected: null, + events: null, + activeDrops: null + }; + }); + interactions.signals.on('after-action-start', function (_ref2) { + var interaction = _ref2.interaction, + event = _ref2.event, + dragEvent = _ref2.iEvent; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; // reset active dropzones + + dropState.activeDrops = null; + dropState.events = null; + dropState.activeDrops = getActiveDrops(scope, interaction.element); + dropState.events = getDropEvents(interaction, event, dragEvent); + + if (dropState.events.activate) { + fireActivationEvents(dropState.activeDrops, dropState.events.activate); + } + }); // FIXME proper signal types + + interactions.signals.on('action-move', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('action-end', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('after-action-move', function (_ref3) { + var interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + interaction.dropState.events = {}; + }); + interactions.signals.on('after-action-end', function (_ref4) { + var interaction = _ref4.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + }); + interactions.signals.on('stop', function (_ref5) { + var interaction = _ref5.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; + + if (dropState) { + dropState.activeDrops = null; + dropState.events = null; + dropState.cur.dropzone = null; + dropState.cur.element = null; + dropState.prev.dropzone = null; + dropState.prev.element = null; + dropState.rejected = false; + } + }); + /** + * + * ```js + * interact('.drop').dropzone({ + * accept: '.can-drop' || document.getElementById('single-drop'), + * overlap: 'pointer' || 'center' || zeroToOne + * } + * ``` + * + * Returns or sets whether draggables can be dropped onto this target to + * trigger drop events + * + * Dropzones can receive the following events: + * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends + * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone + * - `dragmove` when a draggable that has entered the dropzone is moved + * - `drop` when a draggable is dropped into this dropzone + * + * Use the `accept` option to allow only elements that match the given CSS + * selector or element. The value can be: + * + * - **an Element** - only that element can be dropped into this dropzone. + * - **a string**, - the element being dragged must match it as a CSS selector. + * - **`null`** - accept options is cleared - it accepts any element. + * + * Use the `overlap` option to set how drops are checked for. The allowed + * values are: + * + * - `'pointer'`, the pointer must be over the dropzone (default) + * - `'center'`, the draggable element's center must be over the dropzone + * - a number from 0-1 which is the `(intersection area) / (draggable area)`. + * e.g. `0.5` for drop to happen when half of the area of the draggable is + * over the dropzone + * + * Use the `checker` option to specify a function to check if a dragged element + * is over this Interactable. + * + * @param {boolean | object | null} [options] The new options to be set. + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.dropzone = function (options) { + return dropzoneMethod(this, options); + }; + /** + * ```js + * interact(target) + * .dropChecker(function(dragEvent, // related dragmove or dragend event + * event, // TouchEvent/PointerEvent/MouseEvent + * dropped, // bool result of the default checker + * dropzone, // dropzone Interactable + * dropElement, // dropzone elemnt + * draggable, // draggable Interactable + * draggableElement) {// draggable element + * + * return dropped && event.target.hasAttribute('allow-drop') + * } + * ``` + */ + + + Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { + return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); + }; + /** + * Returns or sets whether the dimensions of dropzone elements are calculated + * on every dragmove or only on dragstart for the default dropChecker + * + * @param {boolean} [newValue] True to check on each move. False to check only + * before start + * @return {boolean | interact} The current setting or interact + */ + + + interact.dynamicDrop = function (newValue) { + if (__utils_3.is.bool(newValue)) { + // if (dragging && scope.dynamicDrop !== newValue && !newValue) { + // calcRects(dropzones) + // } + scope.dynamicDrop = newValue; + return interact; + } + + return scope.dynamicDrop; + }; + + __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); + actions.methodDict.drop = 'dropzone'; + scope.dynamicDrop = false; + defaults.actions.drop = drop.defaults; +} + +function collectDrops(_ref6, draggableElement) { + var interactables = _ref6.interactables; + var drops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i = 0; _i < interactables.list.length; _i++) { + var _ref7; + + _ref7 = interactables.list[_i]; + var dropzone = _ref7; + + if (!dropzone.options.drop.enabled) { + continue; + } + + var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting + + 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({ + dropzone: dropzone, + draggableElement: draggableElement + })) { + continue; + } // query for new elements if necessary + + + var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; + + for (var _i2 = 0; _i2 < dropElements.length; _i2++) { + var _ref8; + + _ref8 = dropElements[_i2]; + var dropzoneElement = _ref8; + + if (dropzoneElement !== draggableElement) { + drops.push({ + dropzone: dropzone, + element: dropzoneElement + }); + } + } + } + + return drops; +} + +function fireActivationEvents(activeDrops, event) { + // loop through all active dropzones and trigger event + for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { + var _ref9; + + _ref9 = activeDrops[_i3]; + var _ref10 = _ref9, + dropzone = _ref10.dropzone, + element = _ref10.element; + event.dropzone = dropzone; // set current element as event target + + event.target = element; + dropzone.fire(event); + event.propagationStopped = event.immediatePropagationStopped = false; + } +} // return a new array of possible drops. getActiveDrops should always be +// called when a drag has just started or a drag event happens while +// dynamicDrop is true + + +function getActiveDrops(scope, dragElement) { + // get dropzones and their elements that could receive the draggable + var activeDrops = collectDrops(scope, dragElement); + + for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { + var _ref11; + + _ref11 = activeDrops[_i4]; + var activeDrop = _ref11; + activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); + } + + return activeDrops; +} + +function getDrop(_ref12, dragEvent, pointerEvent) { + var dropState = _ref12.dropState, + draggable = _ref12.interactable, + dragElement = _ref12.element; + var validDrops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { + var _ref13; + + _ref13 = dropState.activeDrops[_i5]; + var _ref14 = _ref13, + dropzone = _ref14.dropzone, + dropzoneElement = _ref14.element, + rect = _ref14.rect; + validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); + } // get the most appropriate dropzone based on DOM depth and order + + + var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); + return dropState.activeDrops[dropIndex] || null; +} + +function getDropEvents(interaction, _pointerEvent, dragEvent) { + var dropState = interaction.dropState; + var dropEvents = { + enter: null, + leave: null, + activate: null, + deactivate: null, + move: null, + drop: null + }; + + if (dragEvent.type === 'dragstart') { + dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); + dropEvents.activate.target = null; + dropEvents.activate.dropzone = null; + } + + if (dragEvent.type === 'dragend') { + dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); + dropEvents.deactivate.target = null; + dropEvents.deactivate.dropzone = null; + } + + if (dropState.rejected) { + return dropEvents; + } + + if (dropState.cur.element !== dropState.prev.element) { + // if there was a previous dropzone, create a dragleave event + if (dropState.prev.dropzone) { + dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); + dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; + dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; + } // if dropzone is not null, create a dragenter event + + + if (dropState.cur.dropzone) { + dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); + dragEvent.dragEnter = dropState.cur.element; + dragEvent.dropzone = dropState.cur.dropzone; + } + } + + if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { + dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); + dragEvent.dropzone = dropState.cur.dropzone; + dragEvent.relatedTarget = dropState.cur.element; + } + + if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { + dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); + dropEvents.move.dragmove = dragEvent; + dragEvent.dropzone = dropState.cur.dropzone; + } + + return dropEvents; +} + +function fireDropEvents(interaction, events) { + var dropState = interaction.dropState; + var activeDrops = dropState.activeDrops, + cur = dropState.cur, + prev = dropState.prev; + + if (events.leave) { + prev.dropzone.fire(events.leave); + } + + if (events.move) { + cur.dropzone.fire(events.move); + } + + if (events.enter) { + cur.dropzone.fire(events.enter); + } + + if (events.drop) { + cur.dropzone.fire(events.drop); + } + + if (events.deactivate) { + fireActivationEvents(activeDrops, events.deactivate); + } + + dropState.prev.dropzone = cur.dropzone; + dropState.prev.element = cur.element; +} + +function onEventCreated(_ref15, scope) { + var interaction = _ref15.interaction, + iEvent = _ref15.iEvent, + event = _ref15.event; + + if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { + return; + } + + var dropState = interaction.dropState; + + if (scope.dynamicDrop) { + dropState.activeDrops = getActiveDrops(scope, interaction.element); + } + + var dragEvent = iEvent; + var dropResult = getDrop(interaction, dragEvent, event); // update rejected status + + dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; + dropState.cur.dropzone = dropResult && dropResult.dropzone; + dropState.cur.element = dropResult && dropResult.element; + dropState.events = getDropEvents(interaction, event, dragEvent); +} + +function dropzoneMethod(interactable, options) { + if (__utils_3.is.object(options)) { + interactable.options.drop.enabled = options.enabled !== false; + + if (options.listeners) { + var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' + + var corrected = Object.keys(normalized).reduce(function (acc, type) { + var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; + acc[correctedType] = normalized[type]; + return acc; + }, {}); + interactable.off(interactable.options.drop.listeners); + interactable.on(corrected); + interactable.options.drop.listeners = corrected; + } + + if (__utils_3.is.func(options.ondrop)) { + interactable.on('drop', options.ondrop); + } + + if (__utils_3.is.func(options.ondropactivate)) { + interactable.on('dropactivate', options.ondropactivate); + } + + if (__utils_3.is.func(options.ondropdeactivate)) { + interactable.on('dropdeactivate', options.ondropdeactivate); + } + + if (__utils_3.is.func(options.ondragenter)) { + interactable.on('dragenter', options.ondragenter); + } + + if (__utils_3.is.func(options.ondragleave)) { + interactable.on('dragleave', options.ondragleave); + } + + if (__utils_3.is.func(options.ondropmove)) { + interactable.on('dropmove', options.ondropmove); + } + + if (/^(pointer|center)$/.test(options.overlap)) { + interactable.options.drop.overlap = options.overlap; + } else if (__utils_3.is.number(options.overlap)) { + interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); + } + + if ('accept' in options) { + interactable.options.drop.accept = options.accept; + } + + if ('checker' in options) { + interactable.options.drop.checker = options.checker; + } + + return interactable; + } + + if (__utils_3.is.bool(options)) { + interactable.options.drop.enabled = options; + return interactable; + } + + return interactable.options.drop; +} + +function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { + var dropped = false; // if the dropzone has no rect (eg. display: none) + // call the custom dropChecker or just return false + + if (!(rect = rect || interactable.getRect(dropElement))) { + return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; + } + + var dropOverlap = interactable.options.drop.overlap; + + if (dropOverlap === 'pointer') { + var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); + var page = __utils_3.pointer.getPageXY(dragEvent); + page.x += origin.x; + page.y += origin.y; + var horizontal = page.x > rect.left && page.x < rect.right; + var vertical = page.y > rect.top && page.y < rect.bottom; + dropped = horizontal && vertical; + } + + var dragRect = draggable.getRect(draggableElement); + + if (dragRect && dropOverlap === 'center') { + var cx = dragRect.left + dragRect.width / 2; + var cy = dragRect.top + dragRect.height / 2; + dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; + } + + if (dragRect && __utils_3.is.number(dropOverlap)) { + 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)); + var overlapRatio = overlapArea / (dragRect.width * dragRect.height); + dropped = overlapRatio >= dropOverlap; + } + + if (interactable.options.drop.checker) { + dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); + } + + return dropped; +} + +var drop = { + id: 'actions/drop', + install: __install_3, + getActiveDrops: getActiveDrops, + getDrop: getDrop, + getDropEvents: getDropEvents, + fireDropEvents: fireDropEvents, + defaults: { + enabled: false, + accept: null, + overlap: 'pointer' + } +}; +var ___default_3 = drop; +_$drop_3["default"] = ___default_3; + +var _$gesture_4 = {}; +"use strict"; + +Object.defineProperty(_$gesture_4, "__esModule", { + value: true +}); +_$gesture_4["default"] = void 0; + +var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); + +var ___scope_4 = _$scope_24({}); + +var __utils_4 = ___interopRequireWildcard_4(_$utils_56); + +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 }; } + +___scope_4.ActionName.Gesture = 'gesture'; + +function __install_4(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + /** + * ```js + * interact(element).gesturable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // limit multiple gestures. + * // See the explanation in {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isGestureable = interact(element).gesturable() + * ``` + * + * Gets or sets whether multitouch gestures can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on gesture events (makes the Interactable gesturable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of gesture events, or this Interactable + */ + + Interactable.prototype.gesturable = function (options) { + if (__utils_4.is.object(options)) { + this.options.gesture.enabled = options.enabled !== false; + this.setPerAction('gesture', options); + this.setOnEvents('gesture', options); + return this; + } + + if (__utils_4.is.bool(options)) { + this.options.gesture.enabled = options; + return this; + } + + return this.options.gesture; + }; + + interactions.signals.on('action-start', updateGestureProps); + interactions.signals.on('action-move', updateGestureProps); + interactions.signals.on('action-end', updateGestureProps); + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.gesture = { + angle: 0, + distance: 0, + scale: 1, + startAngle: 0, + startDistance: 0 + }; + }); + actions[___scope_4.ActionName.Gesture] = gesture; + actions.names.push(___scope_4.ActionName.Gesture); + __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); + actions.methodDict.gesture = 'gesturable'; + defaults.actions.gesture = gesture.defaults; +} + +var gesture = { + id: 'actions/gesture', + install: __install_4, + defaults: {}, + checker: function checker(_pointer, _event, _interactable, _element, interaction) { + if (interaction.pointers.length >= 2) { + return { + name: 'gesture' + }; + } + + return null; + }, + getCursor: function getCursor() { + return ''; + } +}; + +function updateGestureProps(_ref2) { + var interaction = _ref2.interaction, + iEvent = _ref2.iEvent, + event = _ref2.event, + phase = _ref2.phase; + + if (interaction.prepared.name !== 'gesture') { + return; + } + + var pointers = interaction.pointers.map(function (p) { + return p.pointer; + }); + var starting = phase === 'start'; + var ending = phase === 'end'; + var deltaSource = interaction.interactable.options.deltaSource; + iEvent.touches = [pointers[0], pointers[1]]; + + if (starting) { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = 1; + iEvent.ds = 0; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.da = 0; + interaction.gesture.startDistance = iEvent.distance; + interaction.gesture.startAngle = iEvent.angle; + } else if (ending || event instanceof ___InteractEvent_4["default"]) { + var prevEvent = interaction.prevEvent; + iEvent.distance = prevEvent.distance; + iEvent.box = prevEvent.box; + iEvent.scale = prevEvent.scale; + iEvent.ds = 0; + iEvent.angle = prevEvent.angle; + iEvent.da = 0; + } else { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = iEvent.distance / interaction.gesture.startDistance; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.ds = iEvent.scale - interaction.gesture.scale; + iEvent.da = iEvent.angle - interaction.gesture.angle; + } + + interaction.gesture.distance = iEvent.distance; + interaction.gesture.angle = iEvent.angle; + + if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { + interaction.gesture.scale = iEvent.scale; + } +} + +var ___default_4 = gesture; +_$gesture_4["default"] = ___default_4; + +var _$resize_6 = {}; +"use strict"; + +Object.defineProperty(_$resize_6, "__esModule", { + value: true +}); +_$resize_6["default"] = void 0; + +var ___scope_6 = _$scope_24({}); + +var __arr_6 = ___interopRequireWildcard_6(_$arr_47); + +var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); + +var ___extend_6 = ___interopRequireDefault_6(_$extend_53); + +var __is_6 = ___interopRequireWildcard_6(_$is_57); + +function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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'; + +function __install_6(scope) { + var actions = scope.actions, + browser = scope.browser, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; // Less Precision with touch input + + interactions.signals.on('new', function (interaction) { + interaction.resizeAxes = 'xy'; + }); + 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); + resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; + /** + * ```js + * interact(element).resizable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * edges: { + * top : true, // Use pointer coords to check for resize. + * left : false, // Disable resizing from left edge. + * bottom: '.resize-s',// Resize if pointer target matches selector + * right : handleEl // Resize if pointer target is the given Element + * }, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height are adjusted at a 1:1 ratio. + * square: false, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height maintain the aspect ratio they had when resizing started. + * preserveAspectRatio: false, + * + * // a value of 'none' will limit the resize rect to a minimum of 0x0 + * // 'negate' will allow the rect to have negative width/height + * // 'reposition' will keep the width/height positive by swapping + * // the top and bottom edges and/or swapping the left and right edges + * invert: 'none' || 'negate' || 'reposition' + * + * // limit multiple resizes. + * // See the explanation in the {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isResizeable = interact(element).resizable() + * ``` + * + * Gets or sets whether resize actions can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on resize events (object makes the Interactable + * resizable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of resize elements, or this Interactable + */ + + Interactable.prototype.resizable = function (options) { + return resizable(this, options, scope); + }; + + actions[___scope_6.ActionName.Resize] = resize; + actions.names.push(___scope_6.ActionName.Resize); + __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); + actions.methodDict.resize = 'resizable'; + defaults.actions.resize = resize.defaults; +} + +var resize = { + id: 'actions/resize', + install: __install_6, + defaults: { + square: false, + preserveAspectRatio: false, + axis: 'xy', + // use default margin + margin: NaN, + // object with props left, right, top, bottom which are + // true/false values to resize when the pointer is over that edge, + // CSS selectors to match the handles for each direction + // or the Elements for each handle + edges: null, + // a value of 'none' will limit the resize rect to a minimum of 0x0 + // 'negate' will alow the rect to have negative width/height + // 'reposition' will keep the width/height positive by swapping + // the top and bottom edges and/or swapping the left and right edges + invert: 'none' + }, + checker: function checker(_pointer, _event, interactable, element, interaction, rect) { + if (!rect) { + return null; + } + + var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); + var options = interactable.options; + + if (options.resize.enabled) { + var resizeOptions = options.resize; + var resizeEdges = { + left: false, + right: false, + top: false, + bottom: false + }; // if using resize.edges + + if (__is_6.object(resizeOptions.edges)) { + for (var edge in resizeEdges) { + resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); + } + + resizeEdges.left = resizeEdges.left && !resizeEdges.right; + resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; + + if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { + return { + name: 'resize', + edges: resizeEdges + }; + } + } else { + var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; + var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; + + if (right || bottom) { + return { + name: 'resize', + axes: (right ? 'x' : '') + (bottom ? 'y' : '') + }; + } + } + } + + return null; + }, + cursors: null, + getCursor: function getCursor(_ref) { + var edges = _ref.edges, + axis = _ref.axis, + name = _ref.name; + var cursors = resize.cursors; + var result = null; + + if (axis) { + result = cursors[name + axis]; + } else if (edges) { + var cursorKey = ''; + var _arr = ['top', 'bottom', 'left', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (edges[edge]) { + cursorKey += edge; + } + } + + result = cursors[cursorKey]; + } + + return result; + }, + defaultMargin: null +}; + +function resizable(interactable, options, scope) { + if (__is_6.object(options)) { + interactable.options.resize.enabled = options.enabled !== false; + interactable.setPerAction('resize', options); + interactable.setOnEvents('resize', options); + + if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { + interactable.options.resize.axis = options.axis; + } else if (options.axis === null) { + interactable.options.resize.axis = scope.defaults.actions.resize.axis; + } + + if (__is_6.bool(options.preserveAspectRatio)) { + interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; + } else if (__is_6.bool(options.square)) { + interactable.options.resize.square = options.square; + } + + return interactable; + } + + if (__is_6.bool(options)) { + interactable.options.resize.enabled = options; + return interactable; + } + + return interactable.options.resize; +} + +function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { + // false, '', undefined, null + if (!value) { + return false; + } // true value, use pointer coords and element rect + + + if (value === true) { + // if dimensions are negative, "switch" edges + var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; + var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension + + margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); + + if (width < 0) { + if (name === 'left') { + name = 'right'; + } else if (name === 'right') { + name = 'left'; + } + } + + if (height < 0) { + if (name === 'top') { + name = 'bottom'; + } else if (name === 'bottom') { + name = 'top'; + } + } + + if (name === 'left') { + return page.x < (width >= 0 ? rect.left : rect.right) + margin; + } + + if (name === 'top') { + return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; + } + + if (name === 'right') { + return page.x > (width >= 0 ? rect.right : rect.left) - margin; + } + + if (name === 'bottom') { + return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; + } + } // the remaining checks require an element + + + if (!__is_6.element(element)) { + return false; + } + + return __is_6.element(value) // the value is an element to use as a resize handle + ? value === element // otherwise check if element matches value as selector + : __dom_6.matchesUpTo(element, value, interactableElement); +} + +function initCursors(browser) { + return browser.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 start(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + 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 + * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make + * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend + * on the active edges and the edge being interacted with. + */ + + if (resizeOptions.square || resizeOptions.preserveAspectRatio) { + var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); + linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; + linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; + linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; + linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; + interaction.prepared._linkedEdges = linkedEdges; + } else { + interaction.prepared._linkedEdges = null; + } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize + + + if (resizeOptions.preserveAspectRatio) { + interaction.resizeStartAspectRatio = startRect.width / startRect.height; + } + + interaction.resizeRects = { + start: 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: { + left: 0, + right: 0, + width: 0, + top: 0, + bottom: 0, + height: 0 + } + }; + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function __move_6(_ref3) { + var iEvent = _ref3.iEvent, + interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + var resizeOptions = interaction.interactable.options.resize; + var invert = resizeOptions.invert; + var invertible = invert === 'reposition' || invert === 'negate'; + var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow + + var start = interaction.resizeRects.start; + var current = interaction.resizeRects.current; + var inverted = interaction.resizeRects.inverted; + var deltaRect = interaction.resizeRects.delta; + var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); + var originalEdges = edges; + var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); + + if (resizeOptions.preserveAspectRatio || resizeOptions.square) { + // `resize.preserveAspectRatio` takes precedence over `resize.square` + var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; + edges = interaction.prepared._linkedEdges; + + if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { + eventDelta.y = -eventDelta.x / startAspectRatio; + } else if (originalEdges.left || originalEdges.right) { + eventDelta.y = eventDelta.x / startAspectRatio; + } else if (originalEdges.top || originalEdges.bottom) { + eventDelta.x = eventDelta.y * startAspectRatio; + } + } // update the 'current' rect without modifications + + + if (edges.top) { + current.top += eventDelta.y; + } + + if (edges.bottom) { + current.bottom += eventDelta.y; + } + + if (edges.left) { + current.left += eventDelta.x; + } + + if (edges.right) { + current.right += eventDelta.x; + } + + if (invertible) { + // if invertible, copy the current rect + (0, ___extend_6["default"])(inverted, current); + + if (invert === 'reposition') { + // swap edge values if necessary to keep width/height positive + var swap; + + if (inverted.top > inverted.bottom) { + swap = inverted.top; + inverted.top = inverted.bottom; + inverted.bottom = swap; + } + + if (inverted.left > inverted.right) { + swap = inverted.left; + inverted.left = inverted.right; + inverted.right = swap; + } + } + } else { + // if not invertible, restrict to minimum of 0x0 rect + inverted.top = Math.min(current.top, start.bottom); + inverted.bottom = Math.max(current.bottom, start.top); + inverted.left = Math.min(current.left, start.right); + inverted.right = Math.max(current.right, start.left); + } + + inverted.width = inverted.right - inverted.left; + inverted.height = inverted.bottom - inverted.top; + + for (var edge in inverted) { + deltaRect[edge] = inverted[edge] - previous[edge]; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = inverted; + iEvent.deltaRect = deltaRect; +} + +function end(_ref4) { + var iEvent = _ref4.iEvent, + interaction = _ref4.interaction; + + 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; + } + + var options = interaction.interactable.options; + + if (options.resize.square) { + if (interaction.resizeAxes === 'y') { + iEvent.delta.x = iEvent.delta.y; + } else { + iEvent.delta.y = iEvent.delta.x; + } + + iEvent.axes = 'xy'; + } else { + iEvent.axes = interaction.resizeAxes; + + if (interaction.resizeAxes === 'x') { + iEvent.delta.y = 0; + } else if (interaction.resizeAxes === 'y') { + iEvent.delta.x = 0; + } + } +} + +var ___default_6 = resize; +_$resize_6["default"] = ___default_6; + +var _$actions_5 = {}; +"use strict"; + +Object.defineProperty(_$actions_5, "__esModule", { + value: true +}); +_$actions_5.install = __install_5; +Object.defineProperty(_$actions_5, "drag", { + enumerable: true, + get: function get() { + return ___drag_5["default"]; + } +}); +Object.defineProperty(_$actions_5, "drop", { + enumerable: true, + get: function get() { + return _drop["default"]; + } +}); +Object.defineProperty(_$actions_5, "gesture", { + enumerable: true, + get: function get() { + return _gesture["default"]; + } +}); +Object.defineProperty(_$actions_5, "resize", { + enumerable: true, + get: function get() { + return _resize["default"]; + } +}); +_$actions_5.id = void 0; + +var ___drag_5 = ___interopRequireDefault_5(_$drag_1); + +var _drop = ___interopRequireDefault_5(_$drop_3); + +var _gesture = ___interopRequireDefault_5(_$gesture_4); + +var _resize = ___interopRequireDefault_5(_$resize_6); + +function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_5(scope) { + scope.usePlugin(_gesture["default"]); + scope.usePlugin(_resize["default"]); + scope.usePlugin(___drag_5["default"]); + scope.usePlugin(_drop["default"]); +} + +var id = 'actions'; +_$actions_5.id = id; + +var _$autoScroll_7 = {}; +"use strict"; + +Object.defineProperty(_$autoScroll_7, "__esModule", { + value: true +}); +_$autoScroll_7.getContainer = getContainer; +_$autoScroll_7.getScroll = getScroll; +_$autoScroll_7.getScrollSize = getScrollSize; +_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; +_$autoScroll_7["default"] = void 0; + +var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); + +var __is_7 = ___interopRequireWildcard_7(_$is_57); + +var ___raf_7 = ___interopRequireDefault_7(_$raf_62); + +/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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, + defaults = scope.defaults, + actions = scope.actions; + scope.autoScroll = autoScroll; + + autoScroll.now = function () { + return scope.now(); + }; + + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.autoScroll = null; + }); + interactions.signals.on('destroy', function (_ref2) { + var interaction = _ref2.interaction; + interaction.autoScroll = null; + autoScroll.stop(); + + if (autoScroll.interaction) { + autoScroll.interaction = null; + } + }); + interactions.signals.on('stop', autoScroll.stop); + interactions.signals.on('action-move', function (arg) { + return autoScroll.onInteractionMove(arg); + }); + actions.eventTypes.push('autoscroll'); + defaults.perAction.autoScroll = autoScroll.defaults; +} + +var autoScroll = { + defaults: { + enabled: false, + margin: 60, + // the item that is scrolled (Window or HTMLElement) + container: null, + // the scroll speed in pixels per second + speed: 300 + }, + now: Date.now, + interaction: null, + i: null, + x: 0, + y: 0, + isScrolling: false, + prevTime: 0, + margin: 0, + speed: 0, + start: function start(interaction) { + autoScroll.isScrolling = true; + + ___raf_7["default"].cancel(autoScroll.i); + + interaction.autoScroll = autoScroll; + autoScroll.interaction = interaction; + autoScroll.prevTime = autoScroll.now(); + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + }, + stop: function stop() { + autoScroll.isScrolling = false; + + if (autoScroll.interaction) { + autoScroll.interaction.autoScroll = null; + } + + ___raf_7["default"].cancel(autoScroll.i); + }, + // scroll the window by the values in scroll.x/y + scroll: function scroll() { + var interaction = autoScroll.interaction; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + var now = autoScroll.now(); // change in time in seconds + + var dt = (now - autoScroll.prevTime) / 1000; // displacement + + var s = options.speed * dt; + + if (s >= 1) { + var scrollBy = { + x: autoScroll.x * s, + y: autoScroll.y * s + }; + + if (scrollBy.x || scrollBy.y) { + var prevScroll = getScroll(container); + + if (__is_7.window(container)) { + container.scrollBy(scrollBy.x, scrollBy.y); + } else if (container) { + container.scrollLeft += scrollBy.x; + container.scrollTop += scrollBy.y; + } + + var curScroll = getScroll(container); + var delta = { + x: curScroll.x - prevScroll.x, + y: curScroll.y - prevScroll.y + }; + + if (delta.x || delta.y) { + interactable.fire({ + type: 'autoscroll', + target: element, + interactable: interactable, + delta: delta, + interaction: interaction, + container: container + }); + } + } + + autoScroll.prevTime = now; + } + + if (autoScroll.isScrolling) { + ___raf_7["default"].cancel(autoScroll.i); + + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + } + }, + check: function check(interactable, actionName) { + var options = interactable.options; + return options[actionName].autoScroll && options[actionName].autoScroll.enabled; + }, + onInteractionMove: function onInteractionMove(_ref3) { + var interaction = _ref3.interaction, + pointer = _ref3.pointer; + + if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { + return; + } + + if (interaction.simulation) { + autoScroll.x = autoScroll.y = 0; + return; + } + + var top; + var right; + var bottom; + var left; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + + if (__is_7.window(container)) { + left = pointer.clientX < autoScroll.margin; + top = pointer.clientY < autoScroll.margin; + right = pointer.clientX > container.innerWidth - autoScroll.margin; + bottom = pointer.clientY > container.innerHeight - autoScroll.margin; + } else { + var rect = __domUtils_7.getElementClientRect(container); + left = pointer.clientX < rect.left + autoScroll.margin; + top = pointer.clientY < rect.top + autoScroll.margin; + right = pointer.clientX > rect.right - autoScroll.margin; + bottom = pointer.clientY > rect.bottom - autoScroll.margin; + } + + autoScroll.x = right ? 1 : left ? -1 : 0; + autoScroll.y = bottom ? 1 : top ? -1 : 0; + + if (!autoScroll.isScrolling) { + // set the autoScroll properties to those of the target + autoScroll.margin = options.margin; + autoScroll.speed = options.speed; + autoScroll.start(interaction); + } + } +}; + +function getContainer(value, interactable, element) { + return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); +} + +function getScroll(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollLeft, + y: container.scrollTop + }; +} + +function getScrollSize(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollWidth, + y: container.scrollHeight + }; +} + +function getScrollSizeDelta(_ref4, func) { + var interaction = _ref4.interaction, + element = _ref4.element; + var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; + + if (!scrollOptions || !scrollOptions.enabled) { + func(); + return { + x: 0, + y: 0 + }; + } + + var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); + var prevSize = getScroll(scrollContainer); + func(); + var curSize = getScroll(scrollContainer); + return { + x: curSize.x - prevSize.x, + y: curSize.y - prevSize.y + }; +} + +var ___default_7 = { + id: 'auto-scroll', + install: __install_7 +}; +_$autoScroll_7["default"] = ___default_7; + +var _$InteractableMethods_8 = {}; +"use strict"; + +Object.defineProperty(_$InteractableMethods_8, "__esModule", { + value: true +}); +_$InteractableMethods_8["default"] = void 0; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +var __is_8 = ___interopRequireWildcard_8(_$is_57); + +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, + actions = scope.actions; + Interactable.prototype.getAction = getAction; + /** + * ```js + * interact(element, { ignoreFrom: document.getElementById('no-action') }) + * // or + * interact(element).ignoreFrom('input, textarea, a') + * ``` + * @deprecated + * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any + * of it's parents match the given CSS selector or Element, no + * drag/resize/gesture is started. + * + * Don't use this method. Instead set the `ignoreFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .draggable({ + * ignoreFrom: 'input, textarea, a[href]'', + * }) + * .pointerEvents({ + * ignoreFrom: '[no-pointer]', + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to not ignore any elements + * @return {string | Element | object} The current ignoreFrom value or this + * Interactable + */ + + Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('ignoreFrom', newValue); + }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); + /** + * @deprecated + * + * A drag/resize/gesture is started only If the target of the `mousedown`, + * `pointerdown` or `touchstart` event or any of it's parents match the given + * CSS selector or Element. + * + * Don't use this method. Instead set the `allowFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .resizable({ + * allowFrom: '.resize-handle', + * .pointerEvents({ + * allowFrom: '.handle',, + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to allow from any element + * @return {string | Element | object} The current allowFrom value or this + * Interactable + */ + + Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('allowFrom', newValue); + }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); + /** + * ```js + * interact('.resize-drag') + * .resizable(true) + * .draggable(true) + * .actionChecker(function (pointer, event, action, interactable, element, interaction) { + * + * if (interact.matchesSelector(event.target, '.drag-handle')) { + * // force drag with handle target + * action.name = drag + * } + * else { + * // resize from the top and right edges + * action.name = 'resize' + * action.edges = { top: true, right: true } + * } + * + * return action + * }) + * ``` + * + * Returns or sets the function used to check action to be performed on + * pointerDown + * + * @param {function | null} [checker] A function which takes a pointer event, + * defaultAction string, interactable, element and interaction as parameters + * and returns an object with name property 'drag' 'resize' or 'gesture' and + * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right + * props. + * @return {Function | Interactable} The checker function or this Interactable + */ + + Interactable.prototype.actionChecker = actionChecker; + /** + * Returns or sets whether the the cursor should be changed depending on the + * action that would be performed if the mouse were pressed and dragged. + * + * @param {boolean} [newValue] + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.styleCursor = styleCursor; + + Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { + return defaultActionChecker(this, pointer, event, interaction, element, actions); + }; +} + +function getAction(pointer, event, interaction, element) { + var action = this.defaultActionChecker(pointer, event, interaction, element); + + if (this.options.actionChecker) { + return this.options.actionChecker(pointer, event, action, this, element, interaction); + } + + return action; +} + +function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { + var rect = interactable.getRect(element); + var buttons = event.buttons || { + 0: 1, + 1: 4, + 3: 8, + 4: 16 + }[event.button]; + var action = null; + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + + // check mouseButton setting if the pointer is down + if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { + continue; + } + + action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); + + if (action) { + return action; + } + } +} + +function styleCursor(newValue) { + if (__is_8.bool(newValue)) { + this.options.styleCursor = newValue; + return this; + } + + if (newValue === null) { + delete this.options.styleCursor; + return this; + } + + return this.options.styleCursor; +} + +function actionChecker(checker) { + if (__is_8.func(checker)) { + this.options.actionChecker = checker; + return this; + } + + if (checker === null) { + delete this.options.actionChecker; + return this; + } + + return this.options.actionChecker; +} + +var ___default_8 = { + id: 'auto-start/interactableMethods', + install: __install_8 +}; +_$InteractableMethods_8["default"] = ___default_8; + +var _$base_9 = {}; +"use strict"; + +Object.defineProperty(_$base_9, "__esModule", { + value: true +}); +_$base_9["default"] = void 0; + +var __utils_9 = ___interopRequireWildcard_9(_$utils_56); + +var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); + +function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown + + interactions.signals.on('down', function (_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget; + + if (interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); // set cursor style on mousemove + + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + pointer = _ref2.pointer, + event = _ref2.event, + eventTarget = _ref2.eventTarget; + + if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); + interactions.signals.on('move', function (arg) { + var interaction = arg.interaction; + + if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { + return; + } + + scope.autoStart.signals.fire('before-start', arg); + var interactable = interaction.interactable; + + if (interaction.prepared.name && interactable) { + // check manualStart and interaction limit + if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { + interaction.stop(); + } else { + interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); + } + } + }); + interactions.signals.on('stop', function (_ref3) { + var interaction = _ref3.interaction; + var interactable = interaction.interactable; + + if (interactable && interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + }); + defaults.base.actionChecker = null; + defaults.base.styleCursor = true; + __utils_9.extend(defaults.perAction, { + manualStart: false, + max: Infinity, + maxPerElement: 1, + allowFrom: null, + ignoreFrom: null, + // only allow left button by default + // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value + mouseButtons: 1 + }); + /** + * Returns or sets the maximum number of concurrent interactions allowed. By + * default only 1 interaction is allowed at a time (for backwards + * compatibility). To allow multiple interactions on the same Interactables and + * elements, you need to enable it in the draggable, resizable and gesturable + * `'max'` and `'maxPerElement'` options. + * + * @alias module:interact.maxInteractions + * + * @param {number} [newValue] Any number. newValue <= 0 means no interactions. + */ + + interact.maxInteractions = function (newValue) { + return maxInteractions(newValue, scope); + }; + + scope.autoStart = { + // Allow this many interactions to happen simultaneously + maxInteractions: Infinity, + withinInteractionLimit: withinInteractionLimit, + cursorElement: null, + signals: new __utils_9.Signals() + }; +} // Check if the current interactable supports the action. +// If so, return the validated action. Otherwise, return null + + +function validateAction(action, interactable, element, eventTarget, scope) { + if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { + return action; + } + + return null; +} + +function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { + for (var i = 0, len = matches.length; i < len; i++) { + var match = matches[i]; + var matchElement = matchElements[i]; + var matchAction = match.getAction(pointer, event, interaction, matchElement); + + if (!matchAction) { + continue; + } + + var action = validateAction(matchAction, match, matchElement, eventTarget, scope); + + if (action) { + return { + action: action, + interactable: match, + element: matchElement + }; + } + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function getActionInfo(interaction, pointer, event, eventTarget, scope) { + var matches = []; + var matchElements = []; + var element = eventTarget; + + function pushMatches(interactable) { + matches.push(interactable); + matchElements.push(element); + } + + while (__utils_9.is.element(element)) { + matches = []; + matchElements = []; + scope.interactables.forEachMatch(element, pushMatches); + var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); + + if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { + return actionInfo; + } + + element = __utils_9.dom.parentNode(element); + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function prepare(interaction, _ref4, scope) { + var action = _ref4.action, + interactable = _ref4.interactable, + element = _ref4.element; + action = action || { + name: null + }; // clear previous target element cursor + + if (interaction.interactable && interaction.interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + + interaction.interactable = interactable; + interaction.element = element; + __utils_9.copyAction(interaction.prepared, action); + interaction.rect = interactable && action.name ? interactable.getRect(element) : null; + setInteractionCursor(interaction, scope); + scope.autoStart.signals.fire('prepared', { + interaction: interaction + }); +} + +function withinInteractionLimit(interactable, element, action, scope) { + var options = interactable.options; + var maxActions = options[action.name].max; + var maxPerElement = options[action.name].maxPerElement; + var autoStartMax = scope.autoStart.maxInteractions; + var activeInteractions = 0; + var interactableCount = 0; + var elementCount = 0; // no actions if any of these values == 0 + + if (!(maxActions && maxPerElement && autoStartMax)) { + return false; + } + + for (var _i = 0; _i < scope.interactions.list.length; _i++) { + var _ref5; + + _ref5 = scope.interactions.list[_i]; + var interaction = _ref5; + var otherAction = interaction.prepared.name; + + if (!interaction.interacting()) { + continue; + } + + activeInteractions++; + + if (activeInteractions >= autoStartMax) { + return false; + } + + if (interaction.interactable !== interactable) { + continue; + } + + interactableCount += otherAction === action.name ? 1 : 0; + + if (interactableCount >= maxActions) { + return false; + } + + if (interaction.element === element) { + elementCount++; + + if (otherAction === action.name && elementCount >= maxPerElement) { + return false; + } + } + } + + return autoStartMax > 0; +} + +function maxInteractions(newValue, scope) { + if (__utils_9.is.number(newValue)) { + scope.autoStart.maxInteractions = newValue; + return this; + } + + return scope.autoStart.maxInteractions; +} + +function setCursor(element, cursor, scope) { + if (scope.autoStart.cursorElement) { + scope.autoStart.cursorElement.style.cursor = ''; + } + + element.ownerDocument.documentElement.style.cursor = cursor; + element.style.cursor = cursor; + 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, + maxInteractions: maxInteractions, + withinInteractionLimit: withinInteractionLimit, + validateAction: validateAction +}; +_$base_9["default"] = ___default_9; + +var _$dragAxis_10 = {}; +"use strict"; + +Object.defineProperty(_$dragAxis_10, "__esModule", { + value: true +}); +_$dragAxis_10["default"] = void 0; + +var ___scope_10 = _$scope_24({}); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var __is_10 = ___interopRequireWildcard_10(_$is_57); + +var _base = ___interopRequireDefault_10(_$base_9); + +function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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) { + var interaction = _ref.interaction, + eventTarget = _ref.eventTarget, + dx = _ref.dx, + dy = _ref.dy; + + if (interaction.prepared.name !== 'drag') { + return; + } // check if a drag is in the correct axis + + + var absX = Math.abs(dx); + var absY = Math.abs(dy); + var targetOptions = interaction.interactable.options.drag; + var startAxis = targetOptions.startAxis; + var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; + interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' + : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable + + if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { + // cancel the prepared action + interaction.prepared.name = null; // then try to get a drag from another ineractable + + var element = eventTarget; + + var getDraggable = function getDraggable(interactable) { + if (interactable === interaction.interactable) { + return; + } + + var options = interaction.interactable.options.drag; + + if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { + var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); + + if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { + return interactable; + } + } + }; // check all interactables + + + while (__is_10.element(element)) { + var interactable = scope.interactables.forEachMatch(element, getDraggable); + + if (interactable) { + interaction.prepared.name = ___scope_10.ActionName.Drag; + interaction.interactable = interactable; + interaction.element = element; + break; + } + + element = (0, _$domUtils_51.parentNode)(element); + } + } + }); + + function checkStartAxis(startAxis, interactable) { + if (!interactable) { + return false; + } + + var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; + return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; + } +} + +var ___default_10 = { + id: 'auto-start/dragAxis', + install: __install_10 +}; +_$dragAxis_10["default"] = ___default_10; + +var _$hold_11 = {}; +"use strict"; + +Object.defineProperty(_$hold_11, "__esModule", { + value: true +}); +_$hold_11["default"] = void 0; + +var ___base_11 = ___interopRequireDefault_11(_$base_9); + +function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_11(scope) { + var autoStart = scope.autoStart, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(___base_11["default"]); + defaults.perAction.hold = 0; + defaults.perAction.delay = 0; + interactions.signals.on('new', function (interaction) { + interaction.autoStartHoldTimer = null; + }); + autoStart.signals.on('prepared', function (_ref) { + var interaction = _ref.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.autoStartHoldTimer = setTimeout(function () { + interaction.start(interaction.prepared, interaction.interactable, interaction.element); + }, hold); + } + }); + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + duplicate = _ref2.duplicate; + + if (interaction.pointerWasMoved && !duplicate) { + clearTimeout(interaction.autoStartHoldTimer); + } + }); // prevent regular down->move autoStart + + autoStart.signals.on('before-start', function (_ref3) { + var interaction = _ref3.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.prepared.name = null; + } + }); +} + +function getHoldDuration(interaction) { + var actionName = interaction.prepared && interaction.prepared.name; + + if (!actionName) { + return null; + } + + var options = interaction.interactable.options; + return options[actionName].hold || options[actionName].delay; +} + +var ___default_11 = { + id: 'auto-start/hold', + install: __install_11, + getHoldDuration: getHoldDuration +}; +_$hold_11["default"] = ___default_11; + +var _$autoStart_12 = {}; +"use strict"; + +Object.defineProperty(_$autoStart_12, "__esModule", { + value: true +}); +_$autoStart_12.install = __install_12; +Object.defineProperty(_$autoStart_12, "autoStart", { + enumerable: true, + get: function get() { + return ___base_12["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "dragAxis", { + enumerable: true, + get: function get() { + return _dragAxis["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "hold", { + enumerable: true, + get: function get() { + return _hold["default"]; + } +}); +_$autoStart_12.id = void 0; + +var ___base_12 = ___interopRequireDefault_12(_$base_9); + +var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); + +var _hold = ___interopRequireDefault_12(_$hold_11); + +function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_12(scope) { + scope.usePlugin(___base_12["default"]); + scope.usePlugin(_hold["default"]); + scope.usePlugin(_dragAxis["default"]); +} + +var __id_12 = 'auto-start'; +_$autoStart_12.id = __id_12; + +var _$interactablePreventDefault_21 = {}; +"use strict"; + +Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { + value: true +}); +_$interactablePreventDefault_21.install = __install_21; +_$interactablePreventDefault_21["default"] = void 0; + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_21 = ___interopRequireDefault_21(_$events_52); + +var __is_21 = ___interopRequireWildcard_21(_$is_57); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +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 }; } + +function preventDefault(newValue) { + if (/^(always|never|auto)$/.test(newValue)) { + this.options.preventDefault = newValue; + return this; + } + + if (__is_21.bool(newValue)) { + this.options.preventDefault = newValue ? 'always' : 'never'; + return this; + } + + return this.options.preventDefault; +} + +function checkAndPreventDefault(interactable, scope, event) { + var setting = interactable.options.preventDefault; + + if (setting === 'never') { + return; + } + + if (setting === 'always') { + event.preventDefault(); + return; + } // setting === 'auto' + // if the browser supports passive event listeners and isn't running on iOS, + // don't preventDefault of touch{start,move} events. CSS touch-action and + // user-select should be used instead of calling event.preventDefault(). + + + if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { + var doc = (0, _$window_66.getWindow)(event.target).document; + var docOptions = scope.getDocOptions(doc); + + if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { + return; + } + } // don't preventDefault of pointerdown events + + + if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { + return; + } // don't preventDefault on editable elements + + + if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { + return; + } + + event.preventDefault(); +} + +function onInteractionEvent(_ref) { + var interaction = _ref.interaction, + event = _ref.event; + + if (interaction.interactable) { + interaction.interactable.checkAndPreventDefault(event); + } +} + +function __install_21(scope) { + /** @lends Interactable */ + var Interactable = scope.Interactable; + /** + * Returns or sets whether to prevent the browser's default behaviour in + * response to pointer events. Can be set to: + * - `'always'` to always prevent + * - `'never'` to never prevent + * - `'auto'` to let interact.js try to determine what would be best + * + * @param {string} [newValue] `'always'`, `'never'` or `'auto'` + * @return {string | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.preventDefault = preventDefault; + + Interactable.prototype.checkAndPreventDefault = function (event) { + return checkAndPreventDefault(this, scope, event); + }; + + var _arr = ['down', 'move', 'up', 'cancel']; + + for (var _i = 0; _i < _arr.length; _i++) { + var eventSignal = _arr[_i]; + scope.interactions.signals.on(eventSignal, onInteractionEvent); + } // prevent native HTML5 drag on interact.js target elements + + + scope.interactions.docEvents.push({ + type: 'dragstart', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + + if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { + interaction.interactable.checkAndPreventDefault(event); + return; + } + } + } + }); +} + +var ___default_21 = { + id: 'core/interactablePreventDefault', + install: __install_21 +}; +_$interactablePreventDefault_21["default"] = ___default_21; + +var _$devTools_25 = {}; +"use strict"; + +Object.defineProperty(_$devTools_25, "__esModule", { + value: true +}); +_$devTools_25["default"] = void 0; + +var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___extend_25 = ___interopRequireDefault_25(_$extend_53); + +var __is_25 = ___interopRequireWildcard_25(_$is_57); + +var ___window_25 = ___interopRequireDefault_25(_$window_66); + +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 }; } + +function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } + +function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___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; } } + +var CheckName; + +(function (CheckName) { + CheckName["touchAction"] = ""; + CheckName["boxSizing"] = ""; + CheckName["noListeners"] = ""; +})(CheckName || (CheckName = {})); + +var prefix = '[interact.js] '; +var links = { + touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', + boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' +}; +var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax + +function __install_25(scope) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + logger = _ref.logger; + + var interactions = scope.interactions, + Interactable = scope.Interactable, + defaults = scope.defaults; + logger = logger || console; + interactions.signals.on('action-start', function (_ref2) { + var interaction = _ref2.interaction; + + for (var _i = 0; _i < checks.length; _i++) { + var _ref3; + + _ref3 = checks[_i]; + var check = _ref3; + var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; + + if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { + var _logger; + + (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); + } + } + }); + defaults.base.devTools = { + ignore: {} + }; + + Interactable.prototype.devTools = function (options) { + if (options) { + (0, ___extend_25["default"])(this.options.devTools, options); + return this; + } + + return this.options.devTools; + }; +} + +var checks = [{ + name: 'touchAction', + perform: function perform(_ref4) { + var element = _ref4.element; + return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); + }, + getInfo: function getInfo(_ref5) { + var element = _ref5.element; + return [element, links.touchAction]; + }, + text: 'Consider adding CSS "touch-action: none" to this element\n' +}, { + name: 'boxSizing', + perform: function perform(interaction) { + var element = interaction.element; + return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); + }, + text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', + getInfo: function getInfo(_ref6) { + var element = _ref6.element; + return [element, links.boxSizing]; + } +}, { + name: 'noListeners', + perform: function perform(interaction) { + var actionName = interaction.prepared.name; + var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; + return !moveListeners.length; + }, + getInfo: function getInfo(interaction) { + return [interaction.prepared.name, interaction.interactable]; + }, + text: 'There are no listeners set for this action' +}]; + +function hasStyle(element, prop, styleRe) { + return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); +} + +function parentHasStyle(element, prop, styleRe) { + var parent = element; + + while (__is_25.element(parent)) { + if (hasStyle(parent, prop, styleRe)) { + return true; + } + + parent = (0, _$domUtils_51.parentNode)(parent); + } + + return false; +} + +var __id_25 = 'dev-tools'; +var defaultExport = isProduction ? { + id: __id_25, + install: function install() {} +} : { + id: __id_25, + install: __install_25, + checks: checks, + CheckName: CheckName, + links: links, + prefix: prefix +}; +var ___default_25 = defaultExport; +_$devTools_25["default"] = ___default_25; + +var _$base_30 = {}; +"use strict"; + +Object.defineProperty(_$base_30, "__esModule", { + value: true +}); +_$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; + +var ___extend_30 = ___interopRequireDefault_30(_$extend_53); + +function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } + +function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function __install_30(scope) { + var interactions = scope.interactions; + scope.defaults.perAction.modifiers = []; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.modifiers = { + startOffset: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + offsets: {}, + states: null, + result: null, + endPrevented: false, + startDelta: null + }; + }); + interactions.signals.on('before-action-start', function (arg) { + __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, arg.interaction.modifiers.result.coords); + __beforeMove_30(arg); + }); + interactions.signals.on('after-action-move', restoreCoords); + interactions.signals.on('before-action-move', __beforeMove_30); + interactions.signals.on('before-action-start', setCoords); + interactions.signals.on('after-action-start', restoreCoords); + interactions.signals.on('before-action-end', beforeEnd); + interactions.signals.on('stop', stop); +} + +function __start_30(_ref2, pageCoords, prevCoords) { + var interaction = _ref2.interaction, + phase = _ref2.phase; + var interactable = interaction.interactable, + element = interaction.element; + var modifierList = getModifierList(interaction); + var states = prepareStates(modifierList); + var rect = (0, ___extend_30["default"])({}, interaction.rect); + + if (!('width' in rect)) { + rect.width = rect.right - rect.left; + } + + if (!('height' in rect)) { + rect.height = rect.bottom - rect.top; + } + + var startOffset = getRectOffset(rect, pageCoords); + interaction.modifiers.startOffset = startOffset; + interaction.modifiers.startDelta = { + x: 0, + y: 0 + }; + var arg = { + interaction: interaction, + interactable: interactable, + element: element, + pageCoords: pageCoords, + phase: phase, + rect: rect, + startOffset: startOffset, + states: states, + preEnd: 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); + var result = interaction.modifiers.result = setAll(arg); + return result; +} + +function startAll(arg) { + var states = arg.states; + + for (var _i = 0; _i < states.length; _i++) { + var _ref3; + + _ref3 = states[_i]; + var state = _ref3; + + if (state.methods.start) { + arg.state = state; + state.methods.start(arg); + } + } +} + +function setAll(arg) { + var prevCoords = arg.prevCoords, + phase = arg.phase, + preEnd = arg.preEnd, + requireEndOnly = arg.requireEndOnly, + rect = arg.rect, + states = arg.states; + arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); + arg.rect = (0, ___extend_30["default"])({}, rect); + var result = { + delta: { + x: 0, + y: 0 + }, + rectDelta: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + coords: arg.coords, + changed: true + }; + + for (var _i2 = 0; _i2 < states.length; _i2++) { + var _ref4; + + _ref4 = states[_i2]; + var state = _ref4; + var options = state.options; + + if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { + continue; + } + + arg.state = state; + state.methods.set(arg); + } + + result.delta.x = arg.coords.x - arg.pageCoords.x; + result.delta.y = arg.coords.y - arg.pageCoords.y; + var rectChanged = false; + + if (rect) { + result.rectDelta.left = arg.rect.left - rect.left; + result.rectDelta.right = arg.rect.right - rect.right; + result.rectDelta.top = arg.rect.top - rect.top; + result.rectDelta.bottom = arg.rect.bottom - rect.bottom; + rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; + } + + result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; + return result; +} + +function __beforeMove_30(arg) { + var interaction = arg.interaction, + phase = arg.phase, + preEnd = arg.preEnd, + 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: arg.modifiedCoords || interaction.coords.cur.page, + prevCoords: prevCoords, + rect: interaction.rect, + 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 + + if (!modifierResult.changed && interaction.interacting()) { + 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); +} + +function beforeEnd(arg) { + var interaction = arg.interaction, + event = arg.event, + noPreEnd = arg.noPreEnd; + var states = interaction.modifiers.states; + + if (noPreEnd || !states || !states.length) { + return; + } + + var didPreEnd = false; + + for (var _i3 = 0; _i3 < states.length; _i3++) { + var _ref5; + + _ref5 = states[_i3]; + var state = _ref5; + arg.state = state; + var options = state.options, + methods = state.methods; + var endResult = methods.beforeEnd && methods.beforeEnd(arg); + + if (endResult === false) { + interaction.modifiers.endPrevented = true; + return false; + } // if the endOnly option is true for any modifier + + + if (!didPreEnd && shouldDo(options, true, true)) { + // fire a move event at the modified coordinates + interaction.move({ + event: event, + preEnd: true + }); + didPreEnd = true; + } + } +} + +function stop(arg) { + var interaction = arg.interaction; + var states = interaction.modifiers.states; + + if (!states || !states.length) { + return; + } + + var modifierArg = (0, ___extend_30["default"])({ + states: states, + interactable: interaction.interactable, + element: interaction.element, + rect: null + }, arg); + + for (var _i4 = 0; _i4 < states.length; _i4++) { + var _ref6; + + _ref6 = states[_i4]; + var state = _ref6; + modifierArg.state = state; + + if (state.methods.stop) { + state.methods.stop(modifierArg); + } + } + + arg.interaction.modifiers.states = null; + arg.interaction.modifiers.endPrevented = false; +} + +function getModifierList(interaction) { + var actionOptions = interaction.interactable.options[interaction.prepared.name]; + var actionModifiers = actionOptions.modifiers; + + if (actionModifiers && actionModifiers.length) { + return actionModifiers.filter(function (modifier) { + return !modifier.options || modifier.options.enabled !== false; + }); + } + + return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { + var options = actionOptions[type]; + return options && options.enabled && { + options: options, + methods: options._methods + }; + }).filter(function (m) { + return !!m; + }); +} + +function prepareStates(modifierList) { + var states = []; + + for (var index = 0; index < modifierList.length; index++) { + var _modifierList$index = modifierList[index], + options = _modifierList$index.options, + methods = _modifierList$index.methods, + name = _modifierList$index.name; + + if (options && options.enabled === false) { + continue; + } + + states.push({ + options: options, + methods: methods, + index: index, + name: name + }); + } + + return states; +} + +function setCoords(arg) { + var interaction = arg.interaction, + phase = arg.phase; + var curCoords = interaction.coords.cur; + var startCoords = interaction.coords.start; + var _interaction$modifier = interaction.modifiers, + result = _interaction$modifier.result, + startDelta = _interaction$modifier.startDelta; + var curDelta = result.delta; + + if (phase === 'start') { + (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); + } + + var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; + + for (var _i5 = 0; _i5 < _arr.length; _i5++) { + var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), + coordsSet = _arr$_i[0], + delta = _arr$_i[1]; + + coordsSet.page.x += delta.x; + coordsSet.page.y += delta.y; + coordsSet.client.x += delta.x; + coordsSet.client.y += delta.y; + } + + var rectDelta = interaction.modifiers.result.rectDelta; + var rect = arg.rect || interaction.rect; + rect.left += rectDelta.left; + rect.right += rectDelta.right; + rect.top += rectDelta.top; + rect.bottom += rectDelta.bottom; + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; +} + +function restoreCoords(_ref7) { + var _ref7$interaction = _ref7.interaction, + coords = _ref7$interaction.coords, + rect = _ref7$interaction.rect, + modifiers = _ref7$interaction.modifiers; + + if (!modifiers.result) { + return; + } + + var startDelta = modifiers.startDelta; + var _modifiers$result = modifiers.result, + curDelta = _modifiers$result.delta, + rectDelta = _modifiers$result.rectDelta; + var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; + + for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { + var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), + coordsSet = _coordsAndDeltas$_i[0], + delta = _coordsAndDeltas$_i[1]; + + coordsSet.page.x -= delta.x; + coordsSet.page.y -= delta.y; + coordsSet.client.x -= delta.x; + coordsSet.client.y -= delta.y; + } + + rect.left -= rectDelta.left; + rect.right -= rectDelta.right; + rect.top -= rectDelta.top; + rect.bottom -= rectDelta.bottom; +} + +function shouldDo(options, preEnd, requireEndOnly, phase) { + return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; +} + +function getRectOffset(rect, coords) { + return rect ? { + left: coords.x - rect.left, + top: coords.y - rect.top, + right: rect.right - coords.x, + bottom: rect.bottom - coords.y + } : { + left: 0, + top: 0, + right: 0, + bottom: 0 + }; +} + +function makeModifier(module, name) { + var defaults = module.defaults; + var methods = { + start: module.start, + set: module.set, + beforeEnd: module.beforeEnd, + stop: module.stop + }; + + var modifier = function modifier(_options) { + var options = _options || {}; + options.enabled = options.enabled !== false; // add missing defaults to options + + for (var prop in defaults) { + if (!(prop in options)) { + options[prop] = defaults[prop]; + } + } + + var m = { + options: options, + methods: methods, + name: name + }; + return m; + }; + + if (name && typeof name === 'string') { + // for backwrads compatibility + modifier._defaults = defaults; + modifier._methods = methods; + } + + return modifier; +} + +var ___default_30 = { + id: 'modifiers/base', + install: __install_30, + startAll: startAll, + setAll: setAll, + prepareStates: prepareStates, + start: __start_30, + beforeMove: __beforeMove_30, + beforeEnd: beforeEnd, + stop: stop, + shouldDo: shouldDo, + getModifierList: getModifierList, + getRectOffset: getRectOffset, + makeModifier: makeModifier +}; +_$base_30["default"] = ___default_30; + +var _$inertia_26 = {}; +"use strict"; + +Object.defineProperty(_$inertia_26, "__esModule", { + value: true +}); +_$inertia_26["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +var ___base_26 = ___interopRequireWildcard_26(_$base_30); + +var __utils_26 = ___interopRequireWildcard_26(_$utils_56); + +var ___raf_26 = ___interopRequireDefault_26(_$raf_62); + +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'; + +function __install_26(scope) { + var interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.inertia = { + active: false, + smoothEnd: false, + allowResume: false, + upCoords: {}, + timeout: null + }; + }); + 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', __stop_26); + defaults.perAction.inertia = { + enabled: false, + resistance: 10, + minSpeed: 100, + endSpeed: 10, + allowResume: true, + smoothEndDuration: 300 + }; + scope.usePlugin(___base_26["default"]); +} + +function resume(_ref2, scope) { + var interaction = _ref2.interaction, + event = _ref2.event, + pointer = _ref2.pointer, + eventTarget = _ref2.eventTarget; + var state = interaction.inertia; // Check if the down event hits the current inertia target + + if (state.active) { + var element = eventTarget; // climb up the DOM tree from the event target + + while (__utils_26.is.element(element)) { + // if interaction element is the current inertia target element + if (element === interaction.element) { + // stop inertia + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; // update pointers to the down event's coordinates + + interaction.updatePointer(pointer, event, eventTarget, true); + __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { + return p.pointer; + }), interaction._now()); // fire appropriate signals + + var signalArg = { + interaction: interaction, + phase: _$InteractEvent_15.EventPhase.Resume + }; + scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event + + var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); + + interaction._fireEvent(resumeEvent); + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); + break; + } + + element = __utils_26.dom.parentNode(element); + } + } +} + +function release(_ref3, scope) { + var interaction = _ref3.interaction, + event = _ref3.event, + noPreEnd = _ref3.noPreEnd; + var state = interaction.inertia; + + if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { + return null; + } + + var options = __getOptions_26(interaction); + + var now = interaction._now(); + + var velocityClient = interaction.coords.velocity.client; + var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); + var smoothEnd = false; + var modifierResult; // check if inertia should be started + + var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; + var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; + var modifierArg = { + interaction: interaction, + pageCoords: interaction.coords.cur.page, + states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { + return __utils_26.extend({}, modifierStatus); + }), + preEnd: true, + prevCoords: null, + requireEndOnly: null, + phase: _$InteractEvent_15.EventPhase.InertiaStart + }; // smoothEnd + + if (inertiaPossible && !inertia) { + modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; + modifierArg.requireEndOnly = false; + modifierResult = ___base_26["default"].setAll(modifierArg); + + if (modifierResult.changed) { + smoothEnd = true; + } + } + + if (!(inertia || smoothEnd)) { + return null; + } + + __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; + interaction.simulation = state; + interaction.interactable.fire(state.startEvent); + + if (inertia) { + state.vx0 = interaction.coords.velocity.client.x; + state.vy0 = interaction.coords.velocity.client.y; + state.v0 = pointerSpeed; + calcInertia(interaction, state); + __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); + modifierArg.pageCoords.x += state.xe; + modifierArg.pageCoords.y += state.ye; + modifierArg.prevCoords = null; + modifierArg.requireEndOnly = true; + modifierResult = ___base_26["default"].setAll(modifierArg); + state.modifiedXe += modifierResult.delta.x; + state.modifiedYe += modifierResult.delta.y; + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.smoothEnd = true; + state.xe = modifierResult.delta.x; + state.ye = modifierResult.delta.y; + state.sx = state.sy = 0; + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } + + return false; +} + +function __stop_26(_ref4) { + var interaction = _ref4.interaction; + var state = interaction.inertia; + + if (state.active) { + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; + } +} + +function calcInertia(interaction, state) { + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; + state.x0 = interaction.prevEvent.page.x; + state.y0 = interaction.prevEvent.page.y; + state.t0 = state.startEvent.timeStamp / 1000; + state.sx = state.sy = 0; + state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; + state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; + state.te = inertiaDur; + state.lambda_v0 = lambda / state.v0; + state.one_ve_v0 = 1 - options.endSpeed / state.v0; +} + +function inertiaTick(interaction) { + updateInertiaCoords(interaction); + __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); + __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); + var state = interaction.inertia; + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var t = interaction._now() / 1000 - state.t0; + + if (t < state.te) { + var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; + + if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { + state.sx = state.xe * progress; + state.sy = state.ye * progress; + } else { + var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); + state.sx = quadPoint.x; + state.sy = quadPoint.y; + } + + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.sx = state.modifiedXe; + state.sy = state.modifiedYe; + interaction.move(); + interaction.end(state.startEvent); + state.active = false; + interaction.simulation = null; + } + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); +} + +function smothEndTick(interaction) { + updateInertiaCoords(interaction); + var state = interaction.inertia; + var t = interaction._now() - state.t0; + + var _getOptions = __getOptions_26(interaction), + duration = _getOptions.smoothEndDuration; + + if (t < duration) { + state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); + state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } else { + state.sx = state.xe; + state.sy = state.ye; + interaction.move(); + interaction.end(state.startEvent); + state.smoothEnd = state.active = false; + interaction.simulation = null; + } +} + +function updateInertiaCoords(interaction) { + var state = interaction.inertia; // return if inertia isn't running + + if (!state.active) { + return; + } + + var pageUp = state.upCoords.page; + var clientUp = state.upCoords.client; + __utils_26.pointer.setCoords(interaction.coords.cur, [{ + pageX: pageUp.x + state.sx, + pageY: pageUp.y + state.sy, + clientX: clientUp.x + state.sx, + clientY: clientUp.y + state.sy + }], interaction._now()); +} + +function __getOptions_26(_ref5) { + var interactable = _ref5.interactable, + prepared = _ref5.prepared; + return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; +} + +var ___default_26 = { + id: 'inertia', + install: __install_26, + calcInertia: calcInertia, + inertiaTick: inertiaTick, + smothEndTick: smothEndTick, + updateInertiaCoords: updateInertiaCoords +}; +_$inertia_26["default"] = ___default_26; + +var _$pointer_33 = {}; +"use strict"; + +Object.defineProperty(_$pointer_33, "__esModule", { + value: true +}); +_$pointer_33["default"] = void 0; + +var ___extend_33 = ___interopRequireDefault_33(_$extend_53); + +var __is_33 = ___interopRequireWildcard_33(_$is_57); + +var ___rect_33 = ___interopRequireDefault_33(_$rect_63); + +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 }; } + +function __start_33(_ref) { + var rect = _ref.rect, + startOffset = _ref.startOffset, + state = _ref.state, + interaction = _ref.interaction, + pageCoords = _ref.pageCoords; + var options = state.options; + var elementRect = options.elementRect; + var offset = (0, ___extend_33["default"])({ + left: 0, + top: 0, + right: 0, + bottom: 0 + }, options.offset || {}); + + if (rect && elementRect) { + var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); + + if (restriction) { + var widthDiff = restriction.right - restriction.left - rect.width; + var heightDiff = restriction.bottom - restriction.top - rect.height; + + if (widthDiff < 0) { + offset.left += widthDiff; + offset.right += widthDiff; + } + + if (heightDiff < 0) { + offset.top += heightDiff; + offset.bottom += heightDiff; + } + } + + offset.left += startOffset.left - rect.width * elementRect.left; + offset.top += startOffset.top - rect.height * elementRect.top; + offset.right += startOffset.right - rect.width * (1 - elementRect.right); + offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); + } + + state.offset = offset; +} + +function set(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var options = state.options, + offset = state.offset; + var restriction = getRestrictionRect(options.restriction, interaction, coords); + + if (!restriction) { + return; + } + + var rect = ___rect_33["default"].xywhToTlbr(restriction); + + coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); + coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); +} + +function getRestrictionRect(value, interaction, coords) { + if (__is_33.func(value)) { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); + } else { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); + } +} + +var __defaults_33 = { + restriction: null, + elementRect: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrict = { + start: __start_33, + set: set, + getRestrictionRect: getRestrictionRect, + defaults: __defaults_33 +}; +var ___default_33 = restrict; +_$pointer_33["default"] = ___default_33; + +var _$edges_32 = {}; +"use strict"; + +Object.defineProperty(_$edges_32, "__esModule", { + value: true +}); +_$edges_32["default"] = void 0; + +var ___extend_32 = ___interopRequireDefault_32(_$extend_53); + +var ___rect_32 = ___interopRequireDefault_32(_$rect_63); + +var _pointer = ___interopRequireDefault_32(_$pointer_33); + +function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +// This module adds the options.resize.restrictEdges setting which sets min and +// max for the top, left, bottom and right edges of the target being resized. +// +// interact(target).resize({ +// edges: { top: true, left: true }, +// restrictEdges: { +// inner: { top: 200, left: 200, right: 400, bottom: 400 }, +// outer: { top: 0, left: 0, right: 600, bottom: 600 }, +// }, +// }) +var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; +var noInner = { + top: +Infinity, + left: +Infinity, + bottom: -Infinity, + right: -Infinity +}; +var noOuter = { + top: -Infinity, + left: -Infinity, + bottom: +Infinity, + right: +Infinity +}; + +function __start_32(_ref) { + var interaction = _ref.interaction, + state = _ref.state; + var options = state.options; + var startOffset = interaction.modifiers.startOffset; + var offset; + + if (options) { + var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); + offset = ___rect_32["default"].rectToXY(offsetRect); + } + + offset = offset || { + x: 0, + y: 0 + }; + state.offset = { + top: offset.y + startOffset.top, + left: offset.x + startOffset.left, + bottom: offset.y - startOffset.bottom, + right: offset.x - startOffset.right + }; +} + +function __set_32(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var offset = state.offset, + options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var page = (0, ___extend_32["default"])({}, coords); + var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; + var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; + fixRect(inner, noInner); + fixRect(outer, noOuter); + + if (edges.top) { + coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); + } else if (edges.bottom) { + coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); + } + + if (edges.left) { + coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); + } else if (edges.right) { + coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); + } +} + +function fixRect(rect, defaults) { + var _arr = ['top', 'left', 'bottom', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (!(edge in rect)) { + rect[edge] = defaults[edge]; + } + } + + return rect; +} + +var __defaults_32 = { + inner: null, + outer: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrictEdges = { + noInner: noInner, + noOuter: noOuter, + getRestrictionRect: __getRestrictionRect_32, + start: __start_32, + set: __set_32, + defaults: __defaults_32 +}; +var ___default_32 = restrictEdges; +_$edges_32["default"] = ___default_32; + +var _$rect_34 = {}; +"use strict"; + +Object.defineProperty(_$rect_34, "__esModule", { + value: true +}); +_$rect_34["default"] = void 0; + +var ___extend_34 = ___interopRequireDefault_34(_$extend_53); + +var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); + +function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __defaults_34 = (0, ___extend_34["default"])({ + get elementRect() { + return { + top: 0, + left: 0, + bottom: 1, + right: 1 + }; + }, + + set elementRect(_) {} + +}, ___pointer_34["default"].defaults); +var restrictRect = { + start: ___pointer_34["default"].start, + set: ___pointer_34["default"].set, + defaults: __defaults_34 +}; +var ___default_34 = restrictRect; +_$rect_34["default"] = ___default_34; + +var _$size_35 = {}; +"use strict"; + +Object.defineProperty(_$size_35, "__esModule", { + value: true +}); +_$size_35["default"] = void 0; + +var ___extend_35 = ___interopRequireDefault_35(_$extend_53); + +var ___rect_35 = ___interopRequireDefault_35(_$rect_63); + +var _edges = ___interopRequireDefault_35(_$edges_32); + +function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var noMin = { + width: -Infinity, + height: -Infinity +}; +var noMax = { + width: +Infinity, + height: +Infinity +}; + +function __start_35(arg) { + return _edges["default"].start(arg); +} + +function __set_35(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); + + var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; + var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; + state.options = { + endOnly: options.endOnly, + inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), + outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) + }; + + if (edges.top) { + state.options.inner.top = rect.bottom - minSize.height; + state.options.outer.top = rect.bottom - maxSize.height; + } else if (edges.bottom) { + state.options.inner.bottom = rect.top + minSize.height; + state.options.outer.bottom = rect.top + maxSize.height; + } + + if (edges.left) { + state.options.inner.left = rect.right - minSize.width; + state.options.outer.left = rect.right - maxSize.width; + } else if (edges.right) { + state.options.inner.right = rect.left + minSize.width; + state.options.outer.right = rect.left + maxSize.width; + } + + _edges["default"].set(arg); + + state.options = options; +} + +var __defaults_35 = { + min: null, + max: null, + endOnly: false, + enabled: false +}; +var restrictSize = { + start: __start_35, + set: __set_35, + defaults: __defaults_35 +}; +var ___default_35 = restrictSize; +_$size_35["default"] = ___default_35; + +var _$pointer_37 = {}; +"use strict"; + +Object.defineProperty(_$pointer_37, "__esModule", { + value: true +}); +_$pointer_37["default"] = void 0; + +var __utils_37 = ___interopRequireWildcard_37(_$utils_56); + +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, + interactable = arg.interactable, + element = arg.element, + rect = arg.rect, + state = arg.state, + startOffset = arg.startOffset; + var options = state.options; + var offsets = []; + var origin = options.offsetWithOrigin ? getOrigin(arg) : { + x: 0, + y: 0 + }; + var snapOffset; + + if (options.offset === 'startCoords') { + snapOffset = { + x: interaction.coords.start.page.x, + y: interaction.coords.start.page.y + }; + } else { + var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); + snapOffset = __utils_37.rect.rectToXY(offsetRect) || { + x: 0, + y: 0 + }; + snapOffset.x += origin.x; + snapOffset.y += origin.y; + } + + var relativePoints = options.relativePoints || []; + + if (rect && options.relativePoints && options.relativePoints.length) { + for (var index = 0; index < relativePoints.length; index++) { + var relativePoint = relativePoints[index]; + offsets.push({ + index: index, + relativePoint: relativePoint, + x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, + y: startOffset.top - rect.height * relativePoint.y + snapOffset.y + }); + } + } else { + offsets.push(__utils_37.extend({ + index: 0, + relativePoint: null + }, snapOffset)); + } + + state.offsets = offsets; +} + +function __set_37(arg) { + var interaction = arg.interaction, + coords = arg.coords, + state = arg.state; + var options = state.options, + offsets = state.offsets; + var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); + var page = __utils_37.extend({}, coords); + var targets = []; + var target; + + if (!options.offsetWithOrigin) { + page.x -= origin.x; + page.y -= origin.y; + } + + state.realX = page.x; + state.realY = page.y; + + for (var _i = 0; _i < offsets.length; _i++) { + var _ref; + + _ref = offsets[_i]; + var offset = _ref; + var relativeX = page.x - offset.x; + var relativeY = page.y - offset.y; + + for (var index = 0, _len = options.targets.length; index < _len; index++) { + var snapTarget = options.targets[index]; + + if (__utils_37.is.func(snapTarget)) { + target = snapTarget(relativeX, relativeY, interaction, offset, index); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + targets.push({ + x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, + y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, + range: __utils_37.is.number(target.range) ? target.range : options.range + }); + } + } + + var closest = { + target: null, + inRange: false, + distance: 0, + range: 0, + dx: 0, + dy: 0 + }; + + for (var i = 0, len = targets.length; i < len; i++) { + target = targets[i]; + var range = target.range; + var dx = target.x - page.x; + var dy = target.y - page.y; + var distance = __utils_37.hypot(dx, dy); + var inRange = distance <= range; // Infinite targets count as being out of range + // compared to non infinite ones that are in range + + if (range === Infinity && closest.inRange && closest.range !== Infinity) { + inRange = false; + } + + if (!closest.target || (inRange // is the closest target in range? + ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target + ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't + : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest + distance < closest.distance : // The other is not in range and the pointer is closer to this target + !closest.inRange && distance < closest.distance)) { + closest.target = target; + closest.distance = distance; + closest.range = range; + closest.inRange = inRange; + closest.dx = dx; + closest.dy = dy; + state.range = range; + } + } + + if (closest.inRange) { + coords.x = closest.target.x; + coords.y = closest.target.y; + } + + state.closest = closest; +} + +function getOrigin(arg) { + 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; +} + +var __defaults_37 = { + range: Infinity, + targets: null, + offset: null, + offsetWithOrigin: true, + origin: null, + relativePoints: null, + endOnly: false, + enabled: false +}; +var snap = { + start: __start_37, + set: __set_37, + defaults: __defaults_37 +}; +var ___default_37 = snap; +_$pointer_37["default"] = ___default_37; + +var _$size_38 = {}; +"use strict"; + +Object.defineProperty(_$size_38, "__esModule", { + value: true +}); +_$size_38["default"] = void 0; + +var ___extend_38 = ___interopRequireDefault_38(_$extend_53); + +var __is_38 = ___interopRequireWildcard_38(_$is_57); + +var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); + +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 }; } + +function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } + +function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function __start_38(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state = { + options: { + targets: null, + relativePoints: [{ + x: edges.left ? 0 : 1, + y: edges.top ? 0 : 1 + }], + offset: options.offset || 'self', + origin: { + x: 0, + y: 0 + }, + range: options.range + } + }; + state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; + + ___pointer_38["default"].start(arg); + + state.offsets = arg.state.offsets; + arg.state = state; +} + +function __set_38(arg) { + var interaction = arg.interaction, + state = arg.state, + coords = arg.coords; + var options = state.options, + offsets = state.offsets; + var relative = { + x: coords.x - offsets[0].x, + y: coords.y - offsets[0].y + }; + state.options = (0, ___extend_38["default"])({}, options); + state.options.targets = []; + + for (var _i = 0; _i < (options.targets || []).length; _i++) { + var _ref; + + _ref = (options.targets || [])[_i]; + var snapTarget = _ref; + var target = void 0; + + if (__is_38.func(snapTarget)) { + target = snapTarget(relative.x, relative.y, interaction); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { + var _ref2; + + _ref2 = state.targetFields[_i2]; + + var _ref3 = _ref2, + _ref4 = ___slicedToArray_38(_ref3, 2), + xField = _ref4[0], + yField = _ref4[1]; + + if (xField in target || yField in target) { + target.x = target[xField]; + target.y = target[yField]; + break; + } + } + + state.options.targets.push(target); + } + + ___pointer_38["default"].set(arg); + + state.options = options; +} + +var __defaults_38 = { + range: Infinity, + targets: null, + offset: null, + endOnly: false, + enabled: false +}; +var snapSize = { + start: __start_38, + set: __set_38, + defaults: __defaults_38 +}; +var ___default_38 = snapSize; +_$size_38["default"] = ___default_38; + +var _$edges_36 = {}; +"use strict"; + +Object.defineProperty(_$edges_36, "__esModule", { + value: true +}); +_$edges_36["default"] = void 0; + +var ___clone_36 = ___interopRequireDefault_36(_$clone_49); + +var ___extend_36 = ___interopRequireDefault_36(_$extend_53); + +var _size = ___interopRequireDefault_36(_$size_38); + +function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +/** + * @module modifiers/snapEdges + * + * @description + * This module allows snapping of the edges of targets during resize + * interactions. + * + * @example + * interact(target).resizable({ + * snapEdges: { + * targets: [interact.snappers.grid({ x: 100, y: 50 })], + * }, + * }) + * + * interact(target).resizable({ + * snapEdges: { + * targets: [ + * interact.snappers.grid({ + * top: 50, + * left: 50, + * bottom: 100, + * right: 100, + * }), + * ], + * }, + * }) + */ +function __start_36(arg) { + var edges = arg.interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; + return _size["default"].start(arg); +} + +function __set_36(arg) { + return _size["default"].set(arg); +} + +var snapEdges = { + start: __start_36, + set: __set_36, + defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { + offset: { + x: 0, + y: 0 + } + }) +}; +var ___default_36 = snapEdges; +_$edges_36["default"] = ___default_36; + +var _$modifiers_31 = {}; +"use strict"; + +Object.defineProperty(_$modifiers_31, "__esModule", { + value: true +}); +_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; + +var ___base_31 = ___interopRequireDefault_31(_$base_30); + +var ___edges_31 = ___interopRequireDefault_31(_$edges_32); + +var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); + +var ___rect_31 = ___interopRequireDefault_31(_$rect_34); + +var ___size_31 = ___interopRequireDefault_31(_$size_35); + +var _edges2 = ___interopRequireDefault_31(_$edges_36); + +var _pointer2 = ___interopRequireDefault_31(_$pointer_37); + +var _size2 = ___interopRequireDefault_31(_$size_38); + +function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __makeModifier_31 = ___base_31["default"].makeModifier; +var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); +_$modifiers_31.snap = __snap_31; +var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); +_$modifiers_31.snapSize = __snapSize_31; +var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); +_$modifiers_31.snapEdges = __snapEdges_31; +var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); +_$modifiers_31.restrict = __restrict_31; +var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); +_$modifiers_31.restrictRect = __restrictRect_31; +var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); +_$modifiers_31.restrictEdges = __restrictEdges_31; +var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); +_$modifiers_31.restrictSize = __restrictSize_31; + +var _$PointerEvent_39 = {}; +"use strict"; + +Object.defineProperty(_$PointerEvent_39, "__esModule", { + value: true +}); +_$PointerEvent_39["default"] = void 0; + +var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); + +var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); + +function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___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); } + +function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___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); } } + +function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } + +function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } + +function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___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); } + +function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } + +/** */ +var PointerEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_39(PointerEvent, _BaseEvent); + + /** */ + function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { + var _this; + + ___classCallCheck_39(this, PointerEvent); + + _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); + + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); + + if (event !== pointer) { + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); + } + + _this.timeStamp = timeStamp; + _this.originalEvent = event; + _this.type = type; + _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); + _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); + _this.target = eventTarget; + _this.currentTarget = null; + + if (type === 'tap') { + var pointerIndex = interaction.getPointerIndex(pointer); + _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; + var interval = _this.timeStamp - interaction.tapTime; + _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); + } else if (type === 'doubletap') { + _this.dt = pointer.timeStamp - interaction.tapTime; + } + + return _this; + } + + ___createClass_39(PointerEvent, [{ + key: "_subtractOrigin", + value: function _subtractOrigin(_ref) { + var originX = _ref.x, + originY = _ref.y; + this.pageX -= originX; + this.pageY -= originY; + this.clientX -= originX; + this.clientY -= originY; + return this; + } + }, { + key: "_addOrigin", + value: function _addOrigin(_ref2) { + var originX = _ref2.x, + originY = _ref2.y; + this.pageX += originX; + this.pageY += originY; + this.clientX += originX; + this.clientY += originY; + return this; + } + /** + * Prevent the default behaviour of the original Event + */ + + }, { + key: "preventDefault", + value: function preventDefault() { + this.originalEvent.preventDefault(); + } + }]); + + return PointerEvent; +}(___BaseEvent2_39["default"]); + +_$PointerEvent_39["default"] = PointerEvent; + +var _$base_40 = {}; +"use strict"; + +Object.defineProperty(_$base_40, "__esModule", { + value: true +}); +_$base_40["default"] = void 0; + +var __utils_40 = ___interopRequireWildcard_40(_$utils_56); + +var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); + +function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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']; +var simpleEvents = ['down', 'up', 'cancel']; +var __defaults_40 = { + holdDuration: 600, + ignoreFrom: null, + allowFrom: null, + origin: { + x: 0, + y: 0 + } +}; +var pointerEvents = { + id: 'pointer-events/base', + install: __install_40, + signals: signals, + PointerEvent: _PointerEvent["default"], + fire: fire, + collectEventTargets: collectEventTargets, + createSignalListener: createSignalListener, + defaults: __defaults_40, + types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] +}; + +function fire(arg, scope) { + var interaction = arg.interaction, + pointer = arg.pointer, + event = arg.event, + eventTarget = arg.eventTarget, + _arg$type = arg.type, + type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, + _arg$targets = arg.targets, + targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; + var _arg$pointerEvent = arg.pointerEvent, + pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + targets: targets, + type: type, + pointerEvent: pointerEvent + }; + + for (var i = 0; i < targets.length; i++) { + var target = targets[i]; + + for (var prop in target.props || {}) { + pointerEvent[prop] = target.props[prop]; + } + + var origin = __utils_40.getOriginXY(target.eventable, target.node); + + pointerEvent._subtractOrigin(origin); + + pointerEvent.eventable = target.eventable; + pointerEvent.currentTarget = target.node; + target.eventable.fire(pointerEvent); + + pointerEvent._addOrigin(origin); + + if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { + break; + } + } + + signals.fire('fired', signalArg); + + if (type === 'tap') { + // if pointerEvent should make a double tap, create and fire a doubletap + // PointerEvent and use that as the prevTap + var prevTap = pointerEvent["double"] ? fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'doubletap' + }, scope) : pointerEvent; + interaction.prevTap = prevTap; + interaction.tapTime = prevTap.timeStamp; + } + + return pointerEvent; +} + +function collectEventTargets(_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget, + type = _ref.type; + var pointerIndex = interaction.getPointerIndex(pointer); + var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted + + if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target + !(pointerInfo && pointerInfo.downTarget === eventTarget))) { + return []; + } + + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: type, + path: path, + targets: [], + node: null + }; + + for (var _i = 0; _i < path.length; _i++) { + var _ref2; + + _ref2 = path[_i]; + var node = _ref2; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (type === 'hold') { + signalArg.targets = signalArg.targets.filter(function (target) { + return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; + }); + } + + return signalArg.targets; +} + +function __install_40(scope) { + var interactions = scope.interactions; + scope.pointerEvents = pointerEvents; + scope.defaults.actions.pointerEvents = pointerEvents.defaults; + interactions.signals.on('new', function (_ref3) { + var interaction = _ref3.interaction; + interaction.prevTap = null; // the most recent tap event on this interaction + + interaction.tapTime = 0; // time of the most recent tap event + }); + interactions.signals.on('update-pointer', function (_ref4) { + var down = _ref4.down, + pointerInfo = _ref4.pointerInfo; + + if (!down && pointerInfo.hold) { + return; + } + + pointerInfo.hold = { + duration: Infinity, + timeout: null + }; + }); + interactions.signals.on('move', function (_ref5) { + var interaction = _ref5.interaction, + pointer = _ref5.pointer, + event = _ref5.event, + eventTarget = _ref5.eventTarget, + duplicateMove = _ref5.duplicateMove; + var pointerIndex = interaction.getPointerIndex(pointer); + + if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { + if (interaction.pointerIsDown) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + + fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'move' + }, scope); + } + }); + interactions.signals.on('down', function (_ref6) { + var interaction = _ref6.interaction, + pointer = _ref6.pointer, + event = _ref6.event, + eventTarget = _ref6.eventTarget, + pointerIndex = _ref6.pointerIndex; + var timer = interaction.pointers[pointerIndex].hold; + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'hold', + targets: [], + path: path, + node: null + }; + + for (var _i2 = 0; _i2 < path.length; _i2++) { + var _ref7; + + _ref7 = path[_i2]; + var node = _ref7; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (!signalArg.targets.length) { + return; + } + + var minDuration = Infinity; + + for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { + var _ref8; + + _ref8 = signalArg.targets[_i3]; + var target = _ref8; + var holdDuration = target.eventable.options.holdDuration; + + if (holdDuration < minDuration) { + minDuration = holdDuration; + } + } + + timer.duration = minDuration; + timer.timeout = setTimeout(function () { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'hold' + }, scope); + }, minDuration); + }); + var _arr = ['up', 'cancel']; + + for (var _i4 = 0; _i4 < _arr.length; _i4++) { + var signalName = _arr[_i4]; + interactions.signals.on(signalName, function (_ref10) { + var interaction = _ref10.interaction, + pointerIndex = _ref10.pointerIndex; + + if (interaction.pointers[pointerIndex].hold) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + }); + } + + for (var i = 0; i < simpleSignals.length; i++) { + interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); + } + + interactions.signals.on('up', function (_ref9) { + var interaction = _ref9.interaction, + pointer = _ref9.pointer, + event = _ref9.event, + eventTarget = _ref9.eventTarget; + + if (!interaction.pointerWasMoved) { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'tap' + }, scope); + } + }); +} + +function createSignalListener(type, scope) { + return function (_ref11) { + var interaction = _ref11.interaction, + pointer = _ref11.pointer, + event = _ref11.event, + eventTarget = _ref11.eventTarget; + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: type + }, scope); + }; +} + +var ___default_40 = pointerEvents; +_$base_40["default"] = ___default_40; + +var _$holdRepeat_41 = {}; +"use strict"; + +Object.defineProperty(_$holdRepeat_41, "__esModule", { + value: true +}); +_$holdRepeat_41["default"] = void 0; + +var ___base_41 = ___interopRequireDefault_41(_$base_40); + +function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_41(scope) { + var pointerEvents = scope.pointerEvents, + interactions = scope.interactions; + scope.usePlugin(___base_41["default"]); + pointerEvents.signals.on('new', onNew); + pointerEvents.signals.on('fired', function (arg) { + return onFired(arg, scope); + }); + var _arr = ['move', 'up', 'cancel', 'endall']; + + for (var _i = 0; _i < _arr.length; _i++) { + var signal = _arr[_i]; + interactions.signals.on(signal, endHoldRepeat); + } // don't repeat by default + + + pointerEvents.defaults.holdRepeatInterval = 0; + pointerEvents.types.push('holdrepeat'); +} + +function onNew(_ref) { + var pointerEvent = _ref.pointerEvent; + + if (pointerEvent.type !== 'hold') { + return; + } + + pointerEvent.count = (pointerEvent.count || 0) + 1; +} + +function onFired(_ref2, scope) { + var interaction = _ref2.interaction, + pointerEvent = _ref2.pointerEvent, + eventTarget = _ref2.eventTarget, + targets = _ref2.targets; + + if (pointerEvent.type !== 'hold' || !targets.length) { + return; + } // get the repeat interval from the first eventable + + + var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less + + if (interval <= 0) { + return; + } // set a timeout to fire the holdrepeat event + + + interaction.holdIntervalHandle = setTimeout(function () { + scope.pointerEvents.fire({ + interaction: interaction, + eventTarget: eventTarget, + type: 'hold', + pointer: pointerEvent, + event: pointerEvent + }, scope); + }, interval); +} + +function endHoldRepeat(_ref3) { + var interaction = _ref3.interaction; + + // set the interaction's holdStopTime property + // to stop further holdRepeat events + if (interaction.holdIntervalHandle) { + clearInterval(interaction.holdIntervalHandle); + interaction.holdIntervalHandle = null; + } +} + +var ___default_41 = { + id: 'pointer-events/holdRepeat', + install: __install_41 +}; +_$holdRepeat_41["default"] = ___default_41; + +var _$interactableTargets_43 = {}; +"use strict"; + +Object.defineProperty(_$interactableTargets_43, "__esModule", { + value: true +}); +_$interactableTargets_43["default"] = void 0; + +/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; + +var ___extend_43 = ___interopRequireDefault_43(_$extend_53); + +function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_43(scope) { + var pointerEvents = scope.pointerEvents, + actions = scope.actions, + Interactable = scope.Interactable, + interactables = scope.interactables; + pointerEvents.signals.on('collect-targets', function (_ref) { + var targets = _ref.targets, + node = _ref.node, + type = _ref.type, + eventTarget = _ref.eventTarget; + scope.interactables.forEachMatch(node, function (interactable) { + var eventable = interactable.events; + var options = eventable.options; + + if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { + targets.push({ + node: node, + eventable: eventable, + props: { + interactable: interactable + } + }); + } + }); + }); + interactables.signals.on('new', function (_ref2) { + var interactable = _ref2.interactable; + + interactable.events.getRect = function (element) { + return interactable.getRect(element); + }; + }); + interactables.signals.on('set', function (_ref3) { + var interactable = _ref3.interactable, + options = _ref3.options; + (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); + (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); + }); + (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); + Interactable.prototype.pointerEvents = pointerEventsMethod; + var __backCompatOption = Interactable.prototype._backCompatOption; + + Interactable.prototype._backCompatOption = function (optionName, newValue) { + var ret = __backCompatOption.call(this, optionName, newValue); + + if (ret === this) { + this.events.options[optionName] = newValue; + } + + return ret; + }; +} + +function pointerEventsMethod(options) { + (0, ___extend_43["default"])(this.events.options, options); + return this; +} + +var ___default_43 = { + id: 'pointer-events/interactableTargets', + install: __install_43 +}; +_$interactableTargets_43["default"] = ___default_43; + +var _$pointerEvents_42 = {}; +"use strict"; + +Object.defineProperty(_$pointerEvents_42, "__esModule", { + value: true +}); +_$pointerEvents_42.install = __install_42; +Object.defineProperty(_$pointerEvents_42, "pointerEvents", { + enumerable: true, + get: function get() { + return ___base_42["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "holdRepeat", { + enumerable: true, + get: function get() { + return _holdRepeat["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "interactableTargets", { + enumerable: true, + get: function get() { + return _interactableTargets["default"]; + } +}); +_$pointerEvents_42.id = void 0; + +var ___base_42 = ___interopRequireDefault_42(_$base_40); + +var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); + +var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); + +function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_42(scope) { + scope.usePlugin(___base_42["default"]); + scope.usePlugin(_holdRepeat["default"]); + scope.usePlugin(_interactableTargets["default"]); +} + +var __id_42 = 'pointer-events'; +_$pointerEvents_42.id = __id_42; + +var _$reflow_44 = {}; +"use strict"; + +Object.defineProperty(_$reflow_44, "__esModule", { + value: true +}); +_$reflow_44.install = __install_44; +_$reflow_44["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +_$InteractEvent_15.EventPhase.Reflow = 'reflow'; + +function __install_44(scope) { + var actions = scope.actions, + interactions = scope.interactions, + Interactable = scope.Interactable; // add action reflow event types + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + actions.eventTypes.push("".concat(actionName, "reflow")); + } // remove completed reflow interactions + + + interactions.signals.on('stop', function (_ref2) { + var interaction = _ref2.interaction; + + if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { + if (interaction._reflowResolve) { + interaction._reflowResolve(); + } + + _$utils_56.arr.remove(scope.interactions.list, interaction); + } + }); + /** + * ```js + * const interactable = interact(target) + * const drag = { name: drag, axis: 'x' } + * const resize = { name: resize, edges: { left: true, bottom: true } + * + * interactable.reflow(drag) + * interactable.reflow(resize) + * ``` + * + * Start an action sequence to re-apply modifiers, check drops, etc. + * + * @param { Object } action The action to begin + * @param { string } action.name The name of the action + * @returns { Promise } + */ + + Interactable.prototype.reflow = function (action) { + return reflow(this, action, scope); + }; +} + +function reflow(interactable, action, scope) { + 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 + + var Promise = _$utils_56.win.window.Promise; + var promises = Promise ? [] : null; + + var _loop = function _loop() { + _ref3 = elements[_i2]; + var element = _ref3; + var rect = interactable.getRect(element); + + if (!rect) { + return "break"; + } + + var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { + return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; + }); + + var reflowPromise = void 0; + + if (runningInteraction) { + runningInteraction.move(); + + if (promises) { + reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { + runningInteraction._reflowResolve = resolve; + }); + } + } else { + var xywh = _$utils_56.rect.tlbrToXywh(rect); + + var coords = { + page: { + x: xywh.x, + y: xywh.y + }, + client: { + x: xywh.x, + y: xywh.y + }, + timeStamp: scope.now() + }; + + var event = _$utils_56.pointer.coordsToEvent(coords); + + reflowPromise = startReflow(scope, interactable, element, action, event); + } + + if (promises) { + promises.push(reflowPromise); + } + }; + + for (var _i2 = 0; _i2 < elements.length; _i2++) { + var _ref3; + + var _ret = _loop(); + + if (_ret === "break") break; + } + + return promises && Promise.all(promises).then(function () { + return interactable; + }); +} + +function startReflow(scope, interactable, element, action, event) { + var interaction = scope.interactions["new"]({ + pointerType: 'reflow' + }); + var signalArg = { + interaction: interaction, + event: event, + pointer: event, + eventTarget: element, + phase: _$InteractEvent_15.EventPhase.Reflow + }; + interaction.interactable = interactable; + interaction.element = element; + interaction.prepared = (0, _$utils_56.extend)({}, action); + interaction.prevEvent = event; + interaction.updatePointer(event, event, element, true); + + interaction._doPhase(signalArg); + + var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { + interaction._reflowResolve = resolve; + }) : null; + interaction._reflowPromise = reflowPromise; + interaction.start(action, interactable, element); + + if (interaction._interacting) { + interaction.move(signalArg); + interaction.end(event); + } else { + interaction.stop(); + } + + interaction.removePointer(event, event); + interaction.pointerIsDown = false; + return reflowPromise; +} + +var ___default_44 = { + id: 'reflow', + install: __install_44 +}; +_$reflow_44["default"] = ___default_44; + +var _$interact_28 = {}; +"use strict"; + +Object.defineProperty(_$interact_28, "__esModule", { + value: true +}); +_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; + +var ___scope_28 = _$scope_24({}); + +var __utils_28 = ___interopRequireWildcard_28(_$utils_56); + +var ___browser_28 = ___interopRequireDefault_28(_$browser_48); + +var ___events_28 = ___interopRequireDefault_28(_$events_52); + +function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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 = {}; +var scope = new ___scope_28.Scope(); +/** + * ```js + * interact('#draggable').draggable(true) + * + * var rectables = interact('rect') + * rectables + * .gesturable(true) + * .on('gesturemove', function (event) { + * // ... + * }) + * ``` + * + * The methods of this variable can be used to set elements as interactables + * and also to change various default settings. + * + * Calling it as a function and passing an element or a valid CSS selector + * string returns an Interactable object which has various methods to configure + * it. + * + * @global + * + * @param {Element | string} target The HTML or SVG Element to interact with + * or CSS selector + * @return {Interactable} + */ + +_$interact_28.scope = scope; + +var interact = function interact(target, options) { + var interactable = scope.interactables.get(target, options); + + if (!interactable) { + interactable = scope.interactables["new"](target, options); + interactable.events.global = globalEvents; + } + + return interactable; +}; +/** + * Use a plugin + * + * @alias module:interact.use + * + * @param {Object} plugin + * @param {function} plugin.install + * @return {interact} + */ + + +_$interact_28.interact = interact; +interact.use = use; + +function use(plugin, options) { + scope.usePlugin(plugin, options); + return interact; +} +/** + * Check if an element or selector has been set with the {@link interact} + * function + * + * @alias module:interact.isSet + * + * @param {Element} element The Element being searched for + * @return {boolean} Indicates if the element or CSS selector was previously + * passed to interact + */ + + +interact.isSet = isSet; + +function isSet(target, options) { + return !!scope.interactables.get(target, options && options.context); +} +/** + * Add a global listener for an InteractEvent or adds a DOM event to `document` + * + * @alias module:interact.on + * + * @param {string | array | object} type The types of events to listen for + * @param {function} listener The function event (s) + * @param {object | boolean} [options] object or useCapture flag for + * addEventListener + * @return {object} interact + */ + + +interact.on = on; + +function on(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i = 0; _i < type.length; _i++) { + var _ref; + + _ref = type[_i]; + var eventType = _ref; + interact.on(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.on(prop, type[prop], listener); + } + + return interact; + } // if it is an InteractEvent type, add listener to globalEvents + + + if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { + // if this type of event was never bound + if (!globalEvents[type]) { + globalEvents[type] = [listener]; + } else { + globalEvents[type].push(listener); + } + } // If non InteractEvent type, addEventListener to document + else { + ___events_28["default"].add(scope.document, type, listener, { + options: options + }); + } + + return interact; +} +/** + * Removes a global InteractEvent listener or DOM event from `document` + * + * @alias module:interact.off + * + * @param {string | array | object} type The types of events that were listened + * for + * @param {function} listener The listener function to be removed + * @param {object | boolean} options [options] object or useCapture flag for + * removeEventListener + * @return {object} interact + */ + + +interact.off = off; + +function off(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i2 = 0; _i2 < type.length; _i2++) { + var _ref2; + + _ref2 = type[_i2]; + var eventType = _ref2; + interact.off(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.off(prop, type[prop], listener); + } + + return interact; + } + + if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { + ___events_28["default"].remove(scope.document, type, listener, options); + } else { + var index; + + if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { + globalEvents[type].splice(index, 1); + } + } + + return interact; +} +/** + * Returns an object which exposes internal data + * @alias module:interact.debug + * + * @return {object} An object with properties that outline the current state + * and expose internal functions and variables + */ + + +interact.debug = debug; + +function debug() { + return scope; +} // expose the functions used to calculate multi-touch properties + + +interact.getPointerAverage = __utils_28.pointer.pointerAverage; +interact.getTouchBBox = __utils_28.pointer.touchBBox; +interact.getTouchDistance = __utils_28.pointer.touchDistance; +interact.getTouchAngle = __utils_28.pointer.touchAngle; +interact.getElementRect = __utils_28.dom.getElementRect; +interact.getElementClientRect = __utils_28.dom.getElementClientRect; +interact.matchesSelector = __utils_28.dom.matchesSelector; +interact.closest = __utils_28.dom.closest; +/** + * @alias module:interact.supportsTouch + * + * @return {boolean} Whether or not the browser supports touch input + */ + +interact.supportsTouch = supportsTouch; + +function supportsTouch() { + return ___browser_28["default"].supportsTouch; +} +/** + * @alias module:interact.supportsPointerEvent + * + * @return {boolean} Whether or not the browser supports PointerEvents + */ + + +interact.supportsPointerEvent = supportsPointerEvent; + +function supportsPointerEvent() { + return ___browser_28["default"].supportsPointerEvent; +} +/** + * Cancels all interactions (end events are not fired) + * + * @alias module:interact.stop + * + * @return {object} interact + */ + + +interact.stop = __stop_28; + +function __stop_28() { + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + interaction.stop(); + } + + return interact; +} +/** + * Returns or sets the distance the pointer must be moved before an action + * sequence occurs. This also affects tolerance for tap events. + * + * @alias module:interact.pointerMoveTolerance + * + * @param {number} [newValue] The movement from the start position must be greater than this value + * @return {interact | number} + */ + + +interact.pointerMoveTolerance = pointerMoveTolerance; + +function pointerMoveTolerance(newValue) { + if (__utils_28.is.number(newValue)) { + scope.interactions.pointerMoveTolerance = newValue; + return interact; + } + + return scope.interactions.pointerMoveTolerance; +} + +scope.interactables.signals.on('unset', function (_ref4) { + var interactable = _ref4.interactable; + scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref5; + + _ref5 = scope.interactions.list[_i4]; + var interaction = _ref5; + + if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { + interaction.stop(); + } + } +}); + +interact.addDocument = function (doc, options) { + return scope.addDocument(doc, options); +}; + +interact.removeDocument = function (doc) { + return scope.removeDocument(doc); +}; + +scope.interact = interact; +var ___default_28 = interact; +_$interact_28["default"] = ___default_28; + +var _$interact_27 = {}; +"use strict"; + +Object.defineProperty(_$interact_27, "__esModule", { + value: true +}); +_$interact_27.init = __init_27; +Object.defineProperty(_$interact_27, "autoScroll", { + enumerable: true, + get: function get() { + return _autoScroll["default"]; + } +}); +Object.defineProperty(_$interact_27, "interactablePreventDefault", { + enumerable: true, + get: function get() { + return _interactablePreventDefault["default"]; + } +}); +Object.defineProperty(_$interact_27, "inertia", { + enumerable: true, + get: function get() { + return _inertia["default"]; + } +}); +Object.defineProperty(_$interact_27, "modifiers", { + enumerable: true, + get: function get() { + return ___base_27["default"]; + } +}); +Object.defineProperty(_$interact_27, "reflow", { + enumerable: true, + get: function get() { + return _reflow["default"]; + } +}); +Object.defineProperty(_$interact_27, "interact", { + enumerable: true, + get: function get() { + return _interact["default"]; + } +}); +_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; + +var actions = ___interopRequireWildcard_27(_$actions_5); + +_$interact_27.actions = actions; + +var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); + +var autoStart = ___interopRequireWildcard_27(_$autoStart_12); + +var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); + +var _devTools = ___interopRequireDefault_27(_$devTools_25); + +var _inertia = ___interopRequireDefault_27(_$inertia_26); + +var modifiers = ___interopRequireWildcard_27(_$modifiers_31); + +var ___base_27 = ___interopRequireDefault_27(_$base_30); + +var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); + +_$interact_27.pointerEvents = __pointerEvents_27; + +var _reflow = ___interopRequireDefault_27(_$reflow_44); + +var _interact = ___interopRequireWildcard_27(_$interact_28); + +function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); + + _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents + + + _interact["default"].use(__pointerEvents_27); // inertia + + + _interact["default"].use(_inertia["default"]); // autoStart, hold + + + _interact["default"].use(autoStart); // drag and drop, resize, gesture + + + _interact["default"].use(actions); // snap, resize, etc. + + + _interact["default"].use(___base_27["default"]); // for backwrads compatibility + + + for (var type in modifiers) { + var _modifiers$type = modifiers[type], + _defaults = _modifiers$type._defaults, + _methods = _modifiers$type._methods; + _defaults._methods = _methods; + _interact.scope.defaults.perAction[type] = _defaults; + } // autoScroll + + + _interact["default"].use(_autoScroll["default"]); // reflow + + + _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef + + + if (false) {} + + return _interact["default"]; +} // eslint-disable-next-line no-undef + + +_interact["default"].version = "1.6.3"; +var ___default_27 = _interact["default"]; +_$interact_27["default"] = ___default_27; + +var _$types_45 = {}; +/// +"use strict"; + +var _$grid_64 = {}; +"use strict"; + +Object.defineProperty(_$grid_64, "__esModule", { + value: true +}); +_$grid_64["default"] = void 0; + +function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } + +function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +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; } + +function createGrid(grid) { + var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { + var _ref2 = ___slicedToArray_64(_ref, 2), + xField = _ref2[0], + yField = _ref2[1]; + + return xField in grid || yField in grid; + }); + return function (x, y) { + var range = grid.range, + _grid$limits = grid.limits, + limits = _grid$limits === void 0 ? { + left: -Infinity, + right: Infinity, + top: -Infinity, + bottom: Infinity + } : _grid$limits, + _grid$offset = grid.offset, + offset = _grid$offset === void 0 ? { + x: 0, + y: 0 + } : _grid$offset; + var result = { + range: range + }; + + for (var _i2 = 0; _i2 < coordFields.length; _i2++) { + var _ref3; + + _ref3 = coordFields[_i2]; + + var _ref4 = _ref3, + _ref5 = ___slicedToArray_64(_ref4, 2), + xField = _ref5[0], + yField = _ref5[1]; + + var gridx = Math.round((x - offset.x) / grid[xField]); + var gridy = Math.round((y - offset.y) / grid[yField]); + result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); + result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); + } + + return result; + }; +} + +var ___default_64 = createGrid; +_$grid_64["default"] = ___default_64; + +var _$snappers_65 = {}; +"use strict"; + +Object.defineProperty(_$snappers_65, "__esModule", { + value: true +}); +Object.defineProperty(_$snappers_65, "grid", { + enumerable: true, + get: function get() { + return _grid["default"]; + } +}); + +var _grid = ___interopRequireDefault_65(_$grid_64); + +function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var _$index_29 = { exports: {} }; +"use strict"; + +Object.defineProperty(_$index_29.exports, "__esModule", { + value: true +}); +_$index_29.exports.init = __init_29; +_$index_29.exports["default"] = void 0; + +var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); + +var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); + +_$types_45; + +var ___extend_29 = ___interopRequireDefault_29(_$extend_53); + +var snappers = ___interopRequireWildcard_29(_$snappers_65); + +function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +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); } + +if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { + __init_29(window); +} + +function __init_29(win) { + (0, ___interact_29.init)(win); + return ___interact_29["default"].use({ + id: 'interactjs', + install: function install() { + ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); + ___interact_29["default"].snappers = snappers; + ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; + } + }); +} + +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 + +if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { + _$index_29.exports = ___interact_29["default"]; +} + +_$index_29 = _$index_29.exports +return _$index_29; + +}); + + +//# sourceMappingURL=interact.js.map + + /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.umd.js.map b/dist/vue-grid-layout.umd.js.map index d4cdbeae..5cce6ca7 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/interactjs/dist/interact.min.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?a8b6","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?d677","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/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;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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;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;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;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;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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AAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;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;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,0CAA0C,OAAO,oDAAoD,cAAc,eAAe,oCAAoC,iGAAiG,cAAc,oEAAoE,oFAAoF,QAAQ,YAAY,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,e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A;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,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;AACA;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;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;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;;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;AACA;;;;;;;;ACppBA;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;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,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AA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AFA,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;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,uBAJA;AAKA;AACA,YADA;AAEA,YAFA;AAGA,YAHA;AAIA,YAJA;AAKA;AALA,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;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;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;;;AClBwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;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 \n\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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=c806aad8&\"\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\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\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=5a186489&\"\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\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/_object-assign.js","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/modules/es6.object.assign.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?a307","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?f4e6","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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AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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;A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;;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;AAC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,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAA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jBA;AAkBA,eAlBA;AAmBA,gBAnBA;AAqBA,yBArBA;AAsBA,2BAtBA;AAwBA,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,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;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AmGA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;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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AA2D,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;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;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,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA,kBAAkB,uBAAuB;AACzC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,eAAe;AACjE;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;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,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA;;AAEA,kEAAkE;;AAElE;;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,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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA,oGAAoG,4CAA4C;;AAEhJ;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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;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,GAA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;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;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CAAsC,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;;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;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,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,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;;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,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,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;A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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=58da2a1f&\"\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=6594d2a5&\"\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 4100b095..c30181a3 100644 --- a/dist/vue-grid-layout.umd.min.js +++ b/dist/vue-grid-layout.umd.min.js @@ -1,2 +1,2 @@ -(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["VueGridLayout"]=e(require("vue")):t["VueGridLayout"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),u=n("41a0"),c=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,b,x){u(n,e,m);var w,S,_,E=function(t){if(!d&&t in M)return M[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",P=y==v,T=!1,M=t.prototype,j=M[f]||M[p]||y&&M[y],k=j||E(y),z=y?P?E("entries"):k:void 0,I="Array"==e&&M.entries||j;if(I&&(_=l(I.call(new t)),_!==Object.prototype&&_.next&&(c(_,O,!0),r||"function"==typeof _[f]||a(_,f,g))),P&&j&&j.name!==v&&(T=!0,k=function(){return j.call(this)}),r&&!x||!d&&!T&&M[f]||a(M,f,k),s[e]=k,s[O]=g,y)if(w={values:P?k:E(v),keys:b?k:E(h),entries:z},x)for(S in w)S in M||o(M,S,w[S]);else i(i.P+i.F*(d||T),e,w);return w}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),u=r(n),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1156:function(t,e,n){var r=n("ad20");"string"===typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),u)try{return c(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),s=a.length,u=0;while(s>u)r.f(t,n=a[u++],e[n]);return t}},"18d2":function(t,e,n){"use strict";var r=n("18e9");t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState;if(!e)throw new Error("Missing required dependency: reporter.");function o(t,e){function n(){e(t)}if(r.isIE(8))i(t).object={proxy:n},t.attachEvent("onresize",n);else{var o=u(t);if(!o)throw new Error("Element is not detectable by this strategy.");o.contentDocument.defaultView.addEventListener("resize",n)}}function a(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function s(t,o,s){s||(s=o,o=t,t=null),t=t||{};t.debug;function u(o,s){var u=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"]),c=!1,l=window.getComputedStyle(o),f=o.offsetWidth,d=o.offsetHeight;function p(){function n(){if("static"===l.position){o.style.setProperty("position","relative",t.important?"important":"");var n=function(e,n,r,i){function o(t){return t.replace(/[^-\d\.]/g,"")}var a=r[i];"auto"!==a&&"0"!==o(a)&&(e.warn("An element that is positioned static has style."+i+"="+a+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+i+" will be set to 0. Element: ",n),n.style.setProperty(i,"0",t.important?"important":""))};n(e,o,l,"top"),n(e,o,l,"right"),n(e,o,l,"bottom"),n(e,o,l,"left")}}function a(){function t(e,n){if(!e.contentDocument){var r=i(e);return r.checkForObjectDocumentTimeoutId&&window.clearTimeout(r.checkForObjectDocumentTimeoutId),void(r.checkForObjectDocumentTimeoutId=setTimeout((function(){r.checkForObjectDocumentTimeoutId=0,t(e,n)}),100))}n(e.contentDocument)}c||n();var e=this;t(e,(function(t){s(o)}))}""!==l.position&&(n(l),c=!0);var f=document.createElement("object");f.style.cssText=u,f.tabIndex=-1,f.type="text/html",f.setAttribute("aria-hidden","true"),f.onload=a,r.isIE()||(f.data="about:blank"),i(o)&&(o.appendChild(f),i(o).object=f,r.isIE()&&(f.data="about:blank"))}i(o).startSize={width:f,height:d},n?n.add(p):p()}r.isIE(8)?s(o):u(o,s)}function u(t){return i(t).object}function c(t){if(i(t)){var e=u(t);e&&(r.isIE(8)?t.detachEvent("onresize",e.proxy):t.removeChild(e),i(t).checkForObjectDocumentTimeoutId&&window.clearTimeout(i(t).checkForObjectDocumentTimeoutId),delete i(t).object)}}return{makeDetectable:s,addListener:o,uninstall:c}}},"18e9":function(t,e,n){"use strict";var r=t.exports={};r.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return-1!==t.indexOf("msie")||-1!==t.indexOf("trident")||-1!==t.indexOf(" edge/")}if(!e())return!1;if(!t)return!0;var n=function(){var t,e=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++e+"]>4?e:t}();return t===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),c=s("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=s(t),p=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),h=p?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!e})):void 0;if(!p||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[d],g=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===u?p&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),i(RegExp.prototype,d,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},2350:function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,n){"string"===typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[u][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},"2cef":function(t,e,n){"use strict";t.exports=function(){var t=1;function e(){return t++}return{generate:e}}},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(t){return i(r(t))}}))},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(t,e,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(t,e,n,s){return[function(n){var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=s(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,c))){var h=String(f[0]);d[p]=h,""===h&&(u.lastIndex=o(c,i(u.lastIndex),l)),p++}return 0===p?null:d}]}))},"499e":function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i=y&&(n=i);else n=i}else n=i}var h,v,m,y;return n},_.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=E(t))===n)return O(t,e)}return!1},_.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},_.getScrollXY=M,_.getElementClientRect=j,_.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){for(var e=[];t;)e.push(t),t=E(t);return e},_.trySelector=function(t){return!!a.default.string(t)&&(g.default.document.querySelector(t),!0)};var P=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],i=t;(n=P(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var z={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?V(e):e[0],i={};X(r,i),t.page.x=i.x,t.page.y=i.y,Y(r,i),t.client.x=i.x,t.client.y=i.y,t.timeStamp=n},B.getTouchPair=G,B.pointerAverage=V,B.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=G(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),i=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},B.touchDistance=function(t,e){var n=e+"X",r=e+"Y",i=G(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,H.default)(o,a)},B.touchAngle=function(t,e){var n=e+"X",r=e+"Y",i=G(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI},B.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},B.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},B.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},B.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(B,"pointerExtend",{enumerable:!0,get:function(){return L.default}});var q={};function U(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&v<=s.right&&g>=s.top&&g<=s.bottom}if(h&&a.default.number(c)){var m=Math.max(0,Math.min(s.right,h.right)-Math.max(s.left,h.left))*Math.max(0,Math.min(s.bottom,h.bottom)-Math.max(s.top,h.top))/(h.width*h.height);u=m>=c}return t.options.drop.checker&&(u=t.options.drop.checker(e,n,u,t,o,r,i)),u}(this,t,e,n,r,i,o)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var i=n.dropState;i.activeDrops=null,i.events=null,i.activeDrops=ft(e,n.element),i.events=pt(n,0,r),i.events.activate&&(lt(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":vt,"interactions:action-end":vt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(ht(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(ht(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:ht,defaults:{enabled:!1,accept:null,overlap:"pointer"}},mt=gt;ct.default=mt;var yt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var i=e.pointers.map((function(t){return t.pointer})),o="start"===r,s="end"===r,u=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],o)n.distance=B.touchDistance(i,u),n.box=B.touchBBox(i),n.scale=1,n.ds=0,n.angle=B.touchAngle(i,u),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=B.touchDistance(i,u),n.box=B.touchBBox(i),n.scale=n.distance/e.gesture.startDistance,n.angle=B.touchAngle(i,u),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(yt,"__esModule",{value:!0}),yt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;yt.default=wt;var St={};function _t(t,e,n,r,i,o,s){if(!e)return!1;if(!0===e){var u=a.default.number(o.width)?o.width:o.right-o.left,c=a.default.number(o.height)?o.height:o.bottom-o.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?u:c)/2)),u<0&&("left"===t?t="right":"right"===t&&(t="left")),c<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(u>=0?o.left:o.right)+s;if("top"===t)return n.y<(c>=0?o.top:o.bottom)+s;if("right"===t)return n.x>(u>=0?o.right:o.left)-s;if("bottom"===t)return n.y>(c>=0?o.bottom:o.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:_.matchesUpTo(r,e,i))}function Et(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(St,"__esModule",{value:!0}),St.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){return a.default.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t):a.default.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",i.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.rect;n._rects={start:(0,k.default)({},i),corrected:(0,k.default)({},i),previous:(0,k.default)({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Et(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.interactable.options.resize.invert,o="reposition"===i||"negate"===i,a=n.rect,s=n._rects,u=s.start,c=s.corrected,l=s.delta,f=s.previous;if((0,k.default)(f,c),o){if((0,k.default)(c,a),"reposition"===i){if(c.top>c.bottom){var d=c.top;c.top=c.bottom,c.bottom=d}if(c.left>c.right){var p=c.left;c.left=c.right,c.right=p}}}else c.top=Math.min(a.top,u.bottom),c.bottom=Math.max(a.bottom,u.top),c.left=Math.min(a.left,u.right),c.right=Math.max(a.right,u.left);for(var h in c.width=c.right-c.left,c.height=c.bottom-c.top,c)l[h]=c[h]-f[h];r.edges=n.prepared.edges,r.rect=c,r.deltaRect=l}}(t),Et(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,o=t.buttons;if(i){var s=(0,k.default)({},e.coords.cur.page),u=n.options.resize;if(u&&u.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(o&u.mouseButtons))){if(a.default.object(u.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var l in c)c[l]=_t(l,u.edges[l],s,e._latestPointer.eventTarget,r,i,u.margin||Ot.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:"resize",edges:c})}else{var f="y"!==u.axis&&s.x>i.right-Ot.defaultMargin,d="x"!==u.axis&&s.y>i.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=Ot.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],u=0;u=1){var l={x:Ct.x*c,y:Ct.y*c};if(l.x||l.y){var f=Lt(o);a.default.window(o)?o.scrollBy(l.x,l.y):o&&(o.scrollLeft+=l.x,o.scrollTop+=l.y);var d=Lt(o),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:o})}Ct.prevTime=s}Ct.isScrolling&&(kt.default.cancel(Ct.i),Ct.i=kt.default.request(Ct.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Ct.check(e.interactable,e.prepared.name))if(e.simulation)Ct.x=Ct.y=0;else{var r,i,o,s,u=e.interactable,c=e.element,l=e.prepared.name,f=u.options[l].autoScroll,d=Ht(f.container,u,c);if(a.default.window(d))s=n.clientXd.innerWidth-Ct.margin,o=n.clientY>d.innerHeight-Ct.margin;else{var p=_.getElementClientRect(d);s=n.clientXp.right-Ct.margin,o=n.clientY>p.bottom-Ct.margin}Ct.x=i?1:s?-1:0,Ct.y=o?1:r?-1:0,Ct.isScrolling||(Ct.margin=f.margin,Ct.speed=f.speed,Ct.start(e))}}};function Ht(t,n,r){return(a.default.string(t)?(0,z.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Lt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Nt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Ct,Ct.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Ct.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Ct.stop(),Ct.interaction&&(Ct.interaction=null)},"interactions:stop":Ct.stop,"interactions:action-move":function(t){return Ct.onInteractionMove(t)}}};At.default=Nt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Bt={};function $t(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ft(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.default=void 0;var Xt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,i){var o=function(t,e,n,r,i){var o=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:o,buttons:a};return i.fire("auto-start:check",s),s.action}(this,n,r,i,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,i,r):o},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ft,e.prototype.styleCursor=$t}};Bt.default=Xt;var Yt={};function Gt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Zt(e,n,t,i)?t:null}function Vt(t,e,n,r,i,o,a){for(var s=0,u=r.length;s=s)return!1;if(d.interactable===t){if((c+=p===n.name?1:0)>=o)return!1;if(d.element===e&&(l++,p===n.name&&l>=a))return!1}}}return s>0}function Kt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,i=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var o="";if(i.name){var s=n.options[i.name].cursorChecker;o=a.default.func(s)?s(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}Jt(t.element,o||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Bt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Kt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Zt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||Ut(n,qt(n,r,i,o,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ut(n,qt(n,r,i,o,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,i=n.prepared.name;i&&r&&(r.options[i].manualStart||!Zt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Kt,withinInteractionLimit:Zt,validateAction:Gt};Yt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,o=t.dy;if("drag"===n.prepared.name){var s=Math.abs(i),u=Math.abs(o),c=n.interactable.options.drag,l=c.startAxis,f=s>u?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;ie(e)>0&&(e.prepared.name=null)}},getHoldDuration:ie};re.default=oe;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(Yt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var ue={};Object.defineProperty(ue,"__esModule",{value:!0}),ue.default=void 0,ue.default={};var ce={};function le(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=le,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var i=t.options.preventDefault;if("never"!==i)if("always"!==i){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var o=(0,e.getWindow)(r.target).document,s=n.getDocOptions(o);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,_.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,i=t.defaults;t.logger=n||console,i.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Le(e.prototype,n),r&&Le(e,r),o}(q.BaseEvent);Ce.InteractEvent=Xe,Object.defineProperties(Xe.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.PointerInfo=void 0,Ye.PointerInfo=function t(e,n,r,i,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};var Ge,Ve,qe={};function Ue(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:i,duplicate:o,interaction:this};o||B.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),o||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&B.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||B.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var i=this.getPointerIndex(t);-1===i&&(i=this.updatePointer(t,e,n,!1));var o=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(o),{pointer:t,pointerIndex:i,pointerInfo:this.pointers[i],event:e,eventTarget:n,type:o,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=B.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var i=B.getPointerId(t),o=this.getPointerIndex(t),a=this.pointers[o];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ye.PointerInfo(i,t,e,null,null),o=this.pointers.length,this.pointers.push(a)),B.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),B.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,B.pointerExtend(this.downPointer,t),this.interacting()||(B.copyCoords(this.coords.start,this.coords.cur),B.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:o,interaction:this}),o}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Ce.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,i=t.type,o=this.rect;if(o&&"move"===n&&(z.addEdges(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,i);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();qe.Interaction=Je;var Qe=Je;qe.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),z.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,qe._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var un={};function cn(t,e){for(var n=0;nn.minSpeed&&i>n.endSpeed)this.startInertia();else{if(o.result=o.setAll(this.modifierArg),!o.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,i=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-i)/r,y:(e.y-i)/r},this.te=i,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var o=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},o.result=o.setAll(a),o.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+o.result.delta.x,y:this.targetOffset.y+o.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,i,o,a,s=this,u=this.interaction,c=fn(u).resistance,l=(u._now()-this.t0)/1e3;if(l=0;n--){var r=e[n],i=r.selector,o=r.context,s=r.listeners;i===this.target&&o===this._context&&e.splice(n,1);for(var u=s.length-1;u>=0;u--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[u][0],s[u][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=_n;var En={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var h=p.listeners,v=h.length-1;v>=0;v--){var g=jn(h[v],2),m=g[0],y=g[1],b=y.capture,x=y.passive;if(m===i&&b===l.capture&&x===l.passive){h.splice(v,1),h.length||(f.splice(a,1),s(e,r,u),s(e,r,c,!0)),d=!0;break}}if(d)break}}},delegateListener:u,delegateUseCapture:c,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function o(t,n,r,o){var a=In(o),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,i.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,o){var a=In(o),u=J.findIndex(e,(function(e){return e.eventTarget===t})),c=e[u];if(c&&c.events)if("all"!==n){var l=!1,f=c.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function Hn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Ln=Cn;An.default=Ln;var Nn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Bn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return $n(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Zn,methodNames:Un};Nn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function ir(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var i=ar(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return or(this,n)}}function or(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ur(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(u.y),s.coords,s.rect),(0,k.default)(r,s.coords)),s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function zr(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i:n.x=r.x+(n.y-r.y)*i}function Ir(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var u=r.width/a;n.y=o.y+(u-i.height)*s}else{var c=r.height*a;n.x=o.x+(c-i.width)*s}}Pr.aspectRatio=kr;var Rr=(0,Ie.makeModifier)(kr,"aspectRatio");Pr.default=Rr;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.default=void 0;var Ar=function(){};Ar._defaults={};var Cr=Ar;Dr.default=Cr;var Hr={};Object.defineProperty(Hr,"__esModule",{value:!0}),Object.defineProperty(Hr,"default",{enumerable:!0,get:function(){return Dr.default}});var Lr={};function Nr(t,e,n){return a.default.func(t)?z.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):z.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.getRestrictionRect=Nr,Lr.restrict=Lr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,u=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var c=Nr(a.restriction,i,o);if(c){var l=c.right-c.left-e.width,f=c.bottom-c.top-e.height;l<0&&(u.left+=l,u.right+=l),f<0&&(u.top+=f,u.bottom+=f)}u.left+=n.left-e.width*s.left,u.top+=n.top-e.height*s.top,u.right+=n.right-e.width*(1-s.right),u.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=u},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=Nr(i.restriction,n,e);if(a){var s=z.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Lr.restrict=Wr;var Br=(0,Ie.makeModifier)(Wr,"restrict");Lr.default=Br;var $r={};Object.defineProperty($r,"__esModule",{value:!0}),$r.restrictEdges=$r.default=void 0;var Fr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Xr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Yr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&o.call(a[0],n,(function(){for(l=1;lf)n=u(r,e=c[f++]),void 0!==n&&s(l,e,n);return l}})},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9cbe":function(t,e,n){e=t.exports=n("2350")(!1),e.push([t.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(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),s=n("0390"),u=n("5f1b"),c=Math.max,l=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),p="function"===typeof e;p||(e=String(e));var m=f.global;if(m){var y=f.unicode;f.lastIndex=0}var b=[];while(1){var x=u(f,d);if(null===x)break;if(b.push(x),!m)break;var w=String(x[0]);""===w&&(f.lastIndex=s(d,o(f.lastIndex),y))}for(var S="",_=0,E=0;E=_&&(S+=d.slice(_,P)+z,_=P+O.length)}return S+d.slice(_)}];function g(t,e,r,o,a,s){var u=r+t.length,c=o.length,l=p;return void 0!==a&&(a=i(a),l=d),n.call(s,l,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var d=f(l/10);return 0===d?n:d<=c?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[l-1]}return void 0===s?"":s}))}}))},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),f=function(t,e,n){var i={},s=o((function(){return!!a[t]()||u[t]()!=u})),c=i[t]=s?e(d):a[t];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},abb4:function(t,e,n){"use strict";t.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var r=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;nn?n=i:il)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),c=n("9093").f,l=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",h=r[p],v=h,g=h.prototype,m=o(n("2aeb")(g))==p,y="trim"in String.prototype,b=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,u=e.slice(2),c=0,l=u.length;ci)return NaN;return parseInt(u,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(m?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new v(b(e)),n,h):b(e)};for(var x,w=n("9e1e")?c(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(","),S=0;w.length>S;S++)i(v,x=w[S])&&!i(h,x)&&f(h,x,l(v,x));h.prototype=g,g.constructor=h,n("2aba")(r,p,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c946:function(t,e,n){"use strict";var r=n("b770").forEach;t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState,o=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!e)throw new Error("Missing required dependency: reporter.");var a=f(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function c(t){d(t,s,u)}function l(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function f(){var t=500,e=500,n=document.createElement("div");n.style.cssText=l(["position: absolute","width: "+2*t+"px","height: "+2*e+"px","visibility: hidden","margin: 0","padding: 0"]);var r=document.createElement("div");r.style.cssText=l(["position: absolute","width: "+t+"px","height: "+e+"px","overflow: scroll","visibility: none","top: "+3*-t+"px","left: "+3*-e+"px","visibility: hidden","margin: 0","padding: 0"]),r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=t-r.clientWidth,o=e-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function d(t,e,n){function r(n,r){r=r||function(e){t.head.appendChild(e)};var i=t.createElement("style");return i.innerHTML=n,i.id=e,r(i),i}if(!t.getElementById(e)){var i=n+"_animation",o=n+"_animation_active",a="/* Created by the element-resize-detector library. */\n";a+="."+n+" > div::-webkit-scrollbar { "+l(["display: none"])+" }\n\n",a+="."+o+" { "+l(["-webkit-animation-duration: 0.1s","animation-duration: 0.1s","-webkit-animation-name: "+i,"animation-name: "+i])+" }\n",a+="@-webkit-keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",a+="@keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",r(a)}}function p(t){t.className+=" "+u+"_animation_active"}function h(t,n,r){if(t.addEventListener)t.addEventListener(n,r);else{if(!t.attachEvent)return e.error("[scroll] Don't know how to add event listeners.");t.attachEvent("on"+n,r)}}function v(t,n,r){if(t.removeEventListener)t.removeEventListener(n,r);else{if(!t.detachEvent)return e.error("[scroll] Don't know how to remove event listeners.");t.detachEvent("on"+n,r)}}function g(t){return i(t).container.childNodes[0].childNodes[0].childNodes[0]}function m(t){return i(t).container.childNodes[0].childNodes[0].childNodes[1]}function y(t,e){var n=i(t).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(t).listeners.push(e)}function b(t,s,c){function f(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),e.log.apply)e.log.apply(null,n);else for(var r=0;r=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,s=i(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);while(e.length>u)r(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d6eb:function(t,e,n){"use strict";var r="_erd";function i(t){return t[r]={},o(t)}function o(t){return t[r]}function a(t){delete t[r]}t.exports={initState:i,getState:o,cleanState:a}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(t,e,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.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(t,e,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),c=n("18e9"),l=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function h(t){return Array.isArray(t)||void 0!==t.length}function v(t){if(Array.isArray(t))return t;var e=[];return r(t,(function(t){e.push(t)})),e}function g(t){return t&&1===t.nodeType}function m(t,e,n){var r=t[e];return void 0!==r&&null!==r||void 0===n?r:n}t.exports=function(t){var e;if(t=t||{},t.idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=a(),y=s({idGenerator:n,stateHandler:f});e=y}var b=t.reporter;if(!b){var x=!1===b;b=u(x)}var w=m(t,"batchProcessor",l({reporter:b})),S={};S.callOnAdd=!!m(t,"callOnAdd",!0),S.debug=!!m(t,"debug",!1);var _,E=o(e),O=i({stateHandler:f}),P=m(t,"strategy","object"),T=m(t,"important",!1),M={reporter:b,batchProcessor:w,stateHandler:f,idHandler:e,important:T};if("scroll"===P&&(c.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),P="object"):c.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),P="object")),"scroll"===P)_=p(M);else{if("object"!==P)throw new Error("Invalid strategy name: "+P);_=d(M)}var j={};function k(t,n,i){function o(t){var e=E.get(t);r(e,(function(e){e(t)}))}function a(t,e,n){E.add(e,n),t&&n(e)}if(i||(i=n,n=t,t={}),!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=m(t,"callOnAdd",S.callOnAdd),c=m(t,"onReady",(function(){})),l=m(t,"debug",S.debug);r(n,(function(t){f.getState(t)||(f.initState(t),e.set(t));var d=e.get(t);if(l&&b.log("Attaching listener to element",d,t),!O.isDetectable(t))return l&&b.log(d,"Not detectable."),O.isBusy(t)?(l&&b.log(d,"System busy making it detectable"),a(u,t,i),j[d]=j[d]||[],void j[d].push((function(){s++,s===n.length&&c()}))):(l&&b.log(d,"Making detectable..."),O.markBusy(t,!0),_.makeDetectable({debug:l,important:T},t,(function(t){if(l&&b.log(d,"onElementDetectable"),f.getState(t)){O.markAsDetectable(t),O.markBusy(t,!1),_.addListener(t,o),a(u,t,i);var e=f.getState(t);if(e&&e.startSize){var p=t.offsetWidth,h=t.offsetHeight;e.startSize.width===p&&e.startSize.height===h||o(t)}j[d]&&r(j[d],(function(t){t()}))}else l&&b.log(d,"Element uninstalled before being detectable.");delete j[d],s++,s===n.length&&c()})));l&&b.log(d,"Already detecable, adding listener."),a(u,t,i),s++})),s===n.length&&c()}function z(t){if(!t)return b.error("At least one element is required.");if(g(t))t=[t];else{if(!h(t))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");t=v(t)}r(t,(function(t){E.removeAllListeners(t),_.uninstall(t),f.cleanState(t)}))}function I(t){_.initDocument&&_.initDocument(t)}return{listenTo:k,removeListener:E.removeListener,removeAllListeners:E.removeAllListeners,uninstall:z,initDocument:I}}},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),n.d(e,"GridLayout",(function(){return it})),n.d(e,"GridItem",(function(){return $})),"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 t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-item",class:t.classObj,style:t.style},[t._t("default"),t.resizableAndNotStatic?n("span",{ref:"handle",class:t.resizableHandleClass}):t._e()],2)},s=[];n("4917"),n("c5f6"),n("a481"),n("55dd");function u(t){for(var e,n=0,r=0,i=t.length;rn&&(n=e);return n}function c(t){for(var e=Array(t.length),n=0,r=t.length;n=e.x+e.w)&&(!(t.y+t.h<=e.y)&&!(t.y>=e.y+e.h))))}function d(t,e){for(var n=y(t),r=O(t),i=Array(t.length),o=0,a=r.length;o0&&!g(t,e))e.y--;var r;while(r=g(t,e))e.y=r.y+r.h;return e}function h(t,e){for(var n=y(t),r=0,i=t.length;re.cols&&(o.x=e.cols-o.w),o.x<0&&(o.x=0,o.w=e.cols),o.static)while(g(n,o))o.y++;else n.push(o)}return t}function v(t,e){for(var n=0,r=t.length;nr;"number"===typeof n&&(e.x=n),"number"===typeof r&&(e.y=r),e.moved=!0;var c=O(t);u&&(c=c.reverse());var l=m(c,e);if(o&&l.length)return e.x=a,e.y=s,e.moved=!1,t;for(var f=0,d=l.length;fp.y&&e.y-p.y>p.h/4||(t=p.static?x(t,p,e,i):x(t,e,p,i)))}return t}function x(t,e,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(e.y-n.h,0),!g(t,o))return b(t,n,void 0,o.y,i)}return b(t,n,void 0,n.y+1,i)}function w(t,e,n,r){var i="translate3d("+e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function S(t,e,n,r){var i="translate3d("+-1*e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function _(t,e,n,r){return{top:t+"px",left:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function E(t,e,n,r){return{top:t+"px",right:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function O(t){return[].concat(t).sort((function(t,e){return t.y===e.y&&t.x===e.x?0:t.y>e.y||t.y===e.y&&t.x>e.x?1:-1}))}function P(t,e){e=e||"Layout";var n=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(var r=0,i=t.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 t,e=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(e.top=this.dragging.top,this.renderRtl?e.right=this.dragging.left:e.left=this.dragging.left),this.isResizing&&(e.width=this.resizing.width,e.height=this.resizing.height),t=this.useCssTransforms?this.renderRtl?S(e.top,e.right,e.width,e.height):w(e.top,e.left,e.width,e.height):this.renderRtl?E(e.top,e.right,e.width,e.height):_(e.top,e.left,e.width,e.height),this.style=t},emitContainerResized:function(){for(var t={},e=0,n=["width","height"];ethis.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"!==t.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",t.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(t){if(!this.static&&!this.isResizing){var e=T(t);if(null!==e){var n,r=e.x,i=e.y,o={top:0,left:0};switch(t.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var a=t.target.offsetParent.getBoundingClientRect(),s=t.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=t.target.offsetParent.getBoundingClientRect(),c=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(c.right-u.right):o.left=c.left-u.left,o.top=c.top-u.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var l=j(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-l.deltaX:o.left=this.dragging.left+l.deltaX,o.top=this.dragging.top+l.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"!==t.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",t.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(t,e,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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(t,e){var n=this.calcColWidth(),r=Math.round((e-this.margin[0])/(n+this.margin[0])),i=Math.round((t-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 t=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return t},calcWH:function(t,e){var n=this.calcColWidth(),r=Math.round((e+this.margin[0])/(n+this.margin[0])),i=Math.round((t+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(t,e){this.containerWidth=t,void 0!==e&&null!==e&&(this.cols=e)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=H(this.$refs.item)),this.draggable&&!this.static){var e={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(e),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(e){t.handleDrag(e)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=H(this.$refs.item)),this.resizable&&!this.static){var e=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:e.height,width:e.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(e){t.handleResize(e)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var t=this.$slots.default[0].elm.getBoundingClientRect(),e=this.calcWH(t.height,t.width);e.wthis.maxW&&(e.w=this.maxW),e.hthis.maxH&&(e.h=this.maxH),e.h<1&&(e.h=1),e.w<1&&(e.w=1),this.innerW===e.w&&this.innerH===e.h||this.$emit("resize",this.i,e.h,e.w,t.height,t.width),this.previousW===e.w&&this.previousH===e.h||(this.$emit("resized",this.i,e.h,e.w,t.height,t.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,e.h,e.w))}}},N=L;n("5ed4");function W(t,e,n,r,i,o,a,s){var u,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):i&&(u=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}var B=W(N,a,s,!1,null,null,null),$=B.exports,F=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:t.mergedStyle},[t._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:t.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:t.placeholder.x,y:t.placeholder.y,w:t.placeholder.w,h:t.placeholder.h,i:t.placeholder.i}})],2)},X=[],Y=(n("8e6e"),n("fca0"),n("85f2")),G=n.n(Y);function V(t,e,n){return e in t?G()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function q(t,e){for(var n=K(t),r=n[0],i=1,o=n.length;it[a]&&(r=a)}return r}function U(t,e){if(!e[t])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function Z(t,e,n,r,i,o,a){if(e[r])return c(e[r]);for(var s=t,u=K(n),l=u.slice(u.indexOf(r)),f=0,p=l.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(t):this.originalLayout=this.originalLayout.filter((function(e){return!t.some((function(t){return e.i===t.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(t,e,n,r,i,o){var a=v(this.layout,e);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===t||"dragstart"===t?(this.placeholder.i=e,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"===t&&this.$emit("layout-updated",this.layout)},resizeEvent:function(t,e,n,r,i,o){var a,s=v(this.layout,e);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=m(this.layout,Q(Q({},s),{},{w:o,h:i})).filter((function(t){return t.i!==s.i}));if(a=u.length>0,a){var c=1/0,l=1/0;u.forEach((function(t){t.x>s.x&&(c=Math.min(c,t.x)),t.y>s.y&&(l=Math.min(l,t.y))})),Number.isFinite(c)&&(s.w=c-s.x),Number.isFinite(l)&&(s.h=l-s.y)}}a||(s.w=o,s.h=i),"resizestart"===t||"resizemove"===t?(this.placeholder.i=e,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"===t&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var t=q(this.breakpoints,this.width),e=U(t,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=c(this.layout));var n=Z(this.originalLayout,this.layouts,this.breakpoints,t,this.lastBreakpoint,e,this.verticalCompact);this.layouts[t]=n,this.$emit("update:layout",n),this.lastBreakpoint=t,this.eventBus.$emit("setColNum",U(t,this.cols))},initResponsiveFeatures:function(){this.layouts={}},findDifference:function(t,e){var n=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))})),r=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))}));return n.concat(r)}}},nt=et,rt=(n("e279"),W(nt,F,X,!1,null,null,null)),it=rt.exports,ot={GridLayout:it,GridItem:$};Object.keys(ot).forEach((function(t){o.a.component(t,ot[t])}));var at=ot;e["default"]=at},fca0:function(t,e,n){var r=n("5ca1"),i=n("7726").isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})["default"]})); +(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",v="keys",h="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 E)return E[e];switch(e){case v:return function(){return new n(this,e)};case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==h,M=!1,E=e.prototype,k=E[f]||E[p]||m&&E[m],T=k||_(m),z=m?S?_("entries"):T:void 0,D="Array"==t&&E.entries||k;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&&k&&k.name!==h&&(M=!0,T=function(){return k.call(this)}),r&&!w||!d&&!M&&E[f]||a(E,f,T),s[t]=T,s[j]=g,m)if(x={values:S?T:_(h),keys:b?T:_(v),entries:z},w)for(O in x)O in E||o(E,O,x[O]);else i(i.P+i.F*(d||M),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)})),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;cc){var p,v=u(arguments[c++]),h=f?i(v).concat(f(v)):i(v),g=h.length,y=0;while(g>y)p=h[y++],r&&!d.call(v,p)||(n[p]=v[p])}return n}:l},7726: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)},"77f1":function(e,t,n){var r=n("4588"),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},"794b":function(e,t,n){e.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"79e5":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"7f20":function(e,t,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},"7f7f":function(e,t,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},8378:function(e,t){var n=e.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(e,t){e.exports={}},"85f2":function(e,t,n){e.exports=n("454f")},"86cc":function(e,t,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;t.f=n("9e1e")?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}},"8b97":function(e,t,n){var r=n("d3f4"),i=n("cb7c"),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},"8bbf":function(t,n){t.exports=e},"8e60":function(e,t,n){e.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(e,t,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),s=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(e){var t,n,r=o(e),u=a.f,l=i(r),c={},f=0;while(l.length>f)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)},f751:function(e,t,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},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.x===t.x?0: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("f751"),n("fca0"),n("85f2")),G=n.n(F);function q(e,t,n){return t in e?G()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V(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(),this.$emit("layout-updated",this.layout)}},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){var e=u(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return e}},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=V(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.lastBreakpoint!==e&&this.$emit("breakpoint-changed",e,n),this.$emit("update:layout",n),this.lastBreakpoint=e,this.eventBus.$emit("setColNum",U(e,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},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=qe(Z),Be=qe(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 qe(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 Ve(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 qr=Gr;Yr["default"]=qr;var Vr={};Object.defineProperty(Vr,"__esModule",{value:!0}),Vr["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;Vr["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:qi,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=qo,No.getScroll=Vo,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=qo(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=Vo(i);Lo.window(i)?i.scrollBy(u.x,u.y):i&&(i.scrollLeft+=u.x,i.scrollTop+=u.y);var c=Vo(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=qo(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 qo(e,t,n){return(Lo.string(e)?(0,yt.getStringOptionResult)(e,t,n):e)||(0,m.getWindow)(n)}function Vo(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=qo(i.container,n.interactable,r),a=Vo(o);t();var s=Vo(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 qa=Ja(Le),Va=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):Va.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(qa["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)||Va.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 \n\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 () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\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 functional 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=c806aad8&\"\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\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\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=5a186489&\"\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\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/_object-assign.js","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/modules/es6.object.assign.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?a307","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?f4e6","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","DESCRIPTORS","gOPS","$assign","assign","K","forEach","k","aLen","getSymbols","isEnum","__g","max","min","def","tag","stat","FProto","nameRE","Attributes","check","buggy","Array","__proto__","ownKeys","createProperty","getOwnPropertyDescriptors","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","Reflect","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","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=58da2a1f&\"\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=6594d2a5&\"\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/package.json b/package.json index b0921589..20418eab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-grid-layout", - "version": "2.3.7", + "version": "2.3.8", "description": "A draggable and resizable grid layout, as a Vue component.", "keywords": [ "grid", From 2b4d6a22f658964ce44fdedd684a2b89108a7445 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 10 Aug 2020 09:31:14 +0100 Subject: [PATCH 018/111] fixed build files --- dist/vue-grid-layout.common.js | 17309 +++++++++++++++++++++++++ dist/vue-grid-layout.common.js.map | 1 + dist/vue-grid-layout.umd.js | 17319 ++++++++++++++++++++++++++ dist/vue-grid-layout.umd.js.map | 1 + dist/vue-grid-layout.umd.min.js | 2 + dist/vue-grid-layout.umd.min.js.map | 1 + 6 files changed, 34633 insertions(+) diff --git a/dist/vue-grid-layout.common.js b/dist/vue-grid-layout.common.js index e69de29b..41b6ba69 100644 --- a/dist/vue-grid-layout.common.js +++ b/dist/vue-grid-layout.common.js @@ -0,0 +1,17309 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "01f9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__("2d00"); +var $export = __webpack_require__("5ca1"); +var redefine = __webpack_require__("2aba"); +var hide = __webpack_require__("32e9"); +var Iterators = __webpack_require__("84f2"); +var $iterCreate = __webpack_require__("41a0"); +var setToStringTag = __webpack_require__("7f20"); +var getPrototypeOf = __webpack_require__("38fd"); +var ITERATOR = __webpack_require__("2b4c")('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + + +/***/ }), + +/***/ "02f4": +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__("4588"); +var defined = __webpack_require__("be13"); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + + +/***/ }), + +/***/ "0390": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var at = __webpack_require__("02f4")(true); + + // `AdvanceStringIndex` abstract operation +// https://tc39.github.io/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? at(S, index).length : 1); +}; + + +/***/ }), + +/***/ "07e3": +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + + +/***/ }), + +/***/ "0bfb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 21.2.5.3 get RegExp.prototype.flags +var anObject = __webpack_require__("cb7c"); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), + +/***/ "0d58": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__("ce10"); +var enumBugKeys = __webpack_require__("e11e"); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ "1156": +/***/ (function(module, exports, __webpack_require__) { + +// 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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","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 e69de29b..3dc2bef7 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -0,0 +1,17319 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("vue")); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["VueGridLayout"] = factory(require("vue")); + else + root["VueGridLayout"] = factory(root["Vue"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "01f9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__("2d00"); +var $export = __webpack_require__("5ca1"); +var redefine = __webpack_require__("2aba"); +var hide = __webpack_require__("32e9"); +var Iterators = __webpack_require__("84f2"); +var $iterCreate = __webpack_require__("41a0"); +var setToStringTag = __webpack_require__("7f20"); +var getPrototypeOf = __webpack_require__("38fd"); +var ITERATOR = __webpack_require__("2b4c")('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + + +/***/ }), + +/***/ "02f4": +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__("4588"); +var defined = __webpack_require__("be13"); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + + +/***/ }), + +/***/ "0390": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var at = __webpack_require__("02f4")(true); + + // `AdvanceStringIndex` abstract operation +// https://tc39.github.io/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? at(S, index).length : 1); +}; + + +/***/ }), + +/***/ "07e3": +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + + +/***/ }), + +/***/ "0bfb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 21.2.5.3 get RegExp.prototype.flags +var anObject = __webpack_require__("cb7c"); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + + +/***/ }), + +/***/ "0d58": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__("ce10"); +var enumBugKeys = __webpack_require__("e11e"); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + + +/***/ }), + +/***/ "1156": +/***/ (function(module, exports, __webpack_require__) { + +// 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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","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 e69de29b..7a13c66a 100644 --- a/dist/vue-grid-layout.umd.min.js +++ b/dist/vue-grid-layout.umd.min.js @@ -0,0 +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",v="keys",h="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 E)return E[e];switch(e){case v:return function(){return new n(this,e)};case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==h,M=!1,E=e.prototype,k=E[f]||E[p]||m&&E[m],T=k||_(m),z=m?S?_("entries"):T:void 0,D="Array"==t&&E.entries||k;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&&k&&k.name!==h&&(M=!0,T=function(){return k.call(this)}),r&&!w||!d&&!M&&E[f]||a(E,f,T),s[t]=T,s[j]=g,m)if(x={values:S?T:_(h),keys:b?T:_(v),entries:z},w)for(O in x)O in E||o(E,O,x[O]);else i(i.P+i.F*(d||M),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")}},"1ca7":function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return u}));var r="auto";function i(){return"undefined"!==typeof document}function o(){return"undefined"!==typeof window}function a(){if(!i())return r;var e="undefined"!==typeof document.dir?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir");return e}function s(e,t){o?window.addEventListener(e,t):t()}function u(e,t){o&&window.removeEventListener(e,t)}},"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)}},"2af9":function(e,t,n){"use strict";(function(e){n.d(t,"d",(function(){return a}));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var r=n("bc21");n.d(t,"a",(function(){return r["a"]}));var i=n("37c8");n.d(t,"b",(function(){return i["a"]}));var o={GridLayout:i["a"],GridItem:r["a"]};function a(e){a.installed||(a.installed=!0,Object.keys(o).forEach((function(t){e.component(t,o[t])})))}var s={install:a},u=null;"undefined"!==typeof window?u=window.Vue:"undefined"!==typeof e&&(u=e.Vue),u&&u.use(s),t["c"]=o}).call(this,n("c8ba"))},"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}},"37c8":function(e,t,n){"use strict";var r=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)},i=[],o=(n("8e6e"),n("cadf"),n("456d"),n("f751"),n("fca0"),n("ac6a"),n("85f2")),a=n.n(o);function s(e,t,n){return t in e?a()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n("c5f6");var u=n("8bbf"),l=n.n(u),c=n("a2b6");n("55dd");function f(e,t){for(var n=v(e),r=n[0],i=1,o=n.length;ie[a]&&(r=a)}return r}function d(e,t){if(!t[e])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]}function p(e,t,n,r,i,o,a){if(t[r])return Object(c["b"])(t[r]);for(var s=e,u=v(n),l=u.slice(u.indexOf(r)),f=0,d=l.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()}Object(c["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight(),this.$emit("layout-updated",this.layout)}},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){var e=Object(c["a"])(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return e}},dragEvent:function(e,t,n,r,i,o){var a=Object(c["f"])(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=Object(c["g"])(this.layout,a,n,r,!0,this.preventCollision),Object(c["c"])(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=Object(c["f"])(this.layout,t);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=Object(c["e"])(this.layout,m({},s,{w:o,h:i})).filter((function(e){return e.i!==s.i}));if(a=u.length>0,a){var l=1/0,f=1/0;u.forEach((function(e){e.x>s.x&&(l=Math.min(l,e.x)),e.y>s.y&&(f=Math.min(f,e.y))})),Number.isFinite(l)&&(s.w=l-s.x),Number.isFinite(f)&&(s.h=f-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(),Object(c["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===e&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var e=f(this.breakpoints,this.width),t=d(e,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=Object(c["b"])(this.layout));var n=p(this.originalLayout,this.layouts,this.breakpoints,e,this.lastBreakpoint,t,this.verticalCompact);this.layouts[e]=n,this.lastBreakpoint!==e&&this.$emit("breakpoint-changed",e,n),this.$emit("update:layout",n),this.lastBreakpoint=e,this.eventBus.$emit("setColNum",d(e,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},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)}}},x=w,O=(n("e279"),n("2877")),P=Object(O["a"])(x,r,i,!1,null,null,null);t["a"]=P.exports},"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;cc){var p,v=u(arguments[c++]),h=f?i(v).concat(f(v)):i(v),g=h.length,y=0;while(g>y)p=h[y++],r&&!d.call(v,p)||(n[p]=v[p])}return n}:l},7726: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)},"77f1":function(e,t,n){var r=n("4588"),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},"794b":function(e,t,n){e.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"79e5":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"7f20":function(e,t,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},"7f7f":function(e,t,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},8378:function(e,t){var n=e.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(e,t){e.exports={}},"85f2":function(e,t,n){e.exports=n("454f")},"86cc":function(e,t,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;t.f=n("9e1e")?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}},"8b97":function(e,t,n){var r=n("d3f4"),i=n("cb7c"),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},"8bbf":function(t,n){t.exports=e},"8e60":function(e,t,n){e.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(e,t,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),s=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(e){var t,n,r=o(e),u=a.f,l=i(r),c={},f=0;while(l.length>f)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}))},a2b6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return s})),n.d(t,"d",(function(){return l})),n.d(t,"f",(function(){return c})),n.d(t,"e",(function(){return d})),n.d(t,"g",(function(){return v})),n.d(t,"j",(function(){return g})),n.d(t,"k",(function(){return y})),n.d(t,"h",(function(){return m})),n.d(t,"i",(function(){return b})),n.d(t,"l",(function(){return x}));n("a481"),n("cadf"),n("456d"),n("ac6a"),n("55dd");function r(e){for(var t,n=0,r=0,i=e.length;rn&&(n=t);return n}function i(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 s(e,t){for(var n=p(e),r=w(e),i=Array(e.length),o=0,a=r.length;o0&&!f(e,t))t.y--;var r;while(r=f(e,t))t.y=r.y+r.h;return t}function l(e,t){for(var n=p(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(f(n,o))o.y++;else n.push(o)}return e}function c(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=w(e);u&&(l=l.reverse());var c=d(l,t);if(o&&c.length)return t.x=a,t.y=s,t.moved=!1,e;for(var f=0,p=c.length;fv.y&&t.y-v.y>v.h/4||(e=v.static?h(e,v,t,i):h(e,t,v,i)))}return e}function h(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),!f(e,o))return v(e,n,void 0,o.y,i)}return v(e,n,void 0,n.y+1,i)}function g(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 y(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 m(e,t,n,r){return{top:e+"px",left:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function b(e,t,n,r){return{top:e+"px",right:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function w(e){return[].concat(e).sort((function(e,t){return e.y===t.y&&e.x===t.x?0:e.y>t.y||e.y===t.y&&e.x>t.x?1:-1}))}function x(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;r]*>)/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;nthis.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?Object(o["k"])(t.top,t.right,t.width,t.height):Object(o["j"])(t.top,t.left,t.width,t.height):this.renderRtl?Object(o["i"])(t.top,t.right,t.width,t.height):Object(o["h"])(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=a(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 s=e.target.offsetParent.getBoundingClientRect(),l=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(l.right-s.right):o.left=l.left-s.left,o.top=l.top-s.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var c=e.target.offsetParent.getBoundingClientRect(),f=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(f.right-c.right):o.left=f.left-c.left,o.top=f.top-c.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var d=u(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-d.deltaX:o.left=this.dragging.left+d.deltaX,o.top=this.dragging.top+d.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=f(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=f(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))}}},p=d,v=(n("5ed4"),n("2877")),h=Object(v["a"])(p,r,i,!1,null,null,null);t["a"]=h.exports},be13:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},c274:function(e,t,n){"use strict";var r=n("50bf");function i(){var e={},t=0,n=0,r=0;function i(i,o){o||(o=i,i=0),i>n?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}))},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},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)},f751:function(e,t,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},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]));var i=n("2af9");n.d(t,"install",(function(){return i["d"]})),n.d(t,"GridLayout",(function(){return i["b"]})),n.d(t,"GridItem",(function(){return i["a"]}));t["default"]=i["c"]},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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","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 From f5b00937ad48c102b17d79f0131830ce14817519 Mon Sep 17 00:00:00 2001 From: Bobby Hirtle Date: Tue, 18 Aug 2020 18:45:24 -0400 Subject: [PATCH 019/111] Add Example 9 - Dynamic Add/Remove --- examples/07-prevent-collision.html | 92 ++++++++---------- .../08-responsive-predefined-layouts.html | 95 +++++++++---------- examples/09-dynamic-add-remove.html | 61 ++++++++++++ examples/09-dynamic-add-remove.js | 46 +++++++++ src/App.vue | 12 +++ 5 files changed, 203 insertions(+), 103 deletions(-) create mode 100644 examples/09-dynamic-add-remove.html create mode 100644 examples/09-dynamic-add-remove.js diff --git a/examples/07-prevent-collision.html b/examples/07-prevent-collision.html index ae7932a1..230ad059 100644 --- a/examples/07-prevent-collision.html +++ b/examples/07-prevent-collision.html @@ -1,63 +1,53 @@ + - - Vue Grid Layout Example 8 - Prevent Collision - - - + + Vue Grid Layout Example 7 - Prevent Collision + + + + -

Vue Grid Layout Example 8 - Prevent Collision

+

Vue Grid Layout Example 7 - Prevent Collision

-
View project on Github -
- Previous example: Responsive -
- Next example: Responsive - predefined layouts + View project on Github +
+ Previous example: Responsive +
+ Next example: Responsive - predefined layouts -
- -
-
- Displayed as [x, y, w, h]: -
-
- {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] -
-
-
+
+ +
+
+ Displayed as [x, y, w, h]: +
+
+ {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] +
-
- -
- - - {{item.i}} - - -
- +
+ + + {{item.i}} + +
- - - + +
+ + + - \ No newline at end of file + + diff --git a/examples/08-responsive-predefined-layouts.html b/examples/08-responsive-predefined-layouts.html index 4b9f7fc3..62a4fb19 100644 --- a/examples/08-responsive-predefined-layouts.html +++ b/examples/08-responsive-predefined-layouts.html @@ -1,65 +1,56 @@ + - - Vue Grid Layout Example 1 - Basic Responsive - - - + + Vue Grid Layout Example 1 - Basic Responsive + + + + -

Vue Grid Layout Example 8 - Responsive with predefined layouts

+

Vue Grid Layout Example 8 - Responsive with predefined layouts

- View project on Github -
- Previous example: Prevent collision + View project on Github +
+ Previous example: Prevent collision +
+ Next example: Dynamic Add/Remove -
- -
-
- Displayed as [x, y, w, h]: -
-
- {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] -
-
-
+
+ +
+
+ Displayed as [x, y, w, h]: +
+
+ {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] +
-
- - Draggable - Resizable - Responsive -
- - - {{item.i}} - - -
- + Draggable + Resizable + Responsive +
+ + + {{item.i}} + +
- - - + +
+ + + + diff --git a/examples/09-dynamic-add-remove.html b/examples/09-dynamic-add-remove.html new file mode 100644 index 00000000..9b79ce74 --- /dev/null +++ b/examples/09-dynamic-add-remove.html @@ -0,0 +1,61 @@ + + + + + + Vue Grid Layout Example 9 - Dynamic Add/Remove + + + + + + + + +

Vue Grid Layout Example 9 - Dynamic Add/Remove

+ + View project on Github +
+ Previous example: Responsive - predefined layouts + +
+ +
+
+ Displayed as [x, y, w, h]: +
+
+ {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, + {{item.h}}] +
+
+
+
+
+ + Draggable + Resizable +
+ + + {{item.i}} + x + + +
+
+ + + + + + diff --git a/examples/09-dynamic-add-remove.js b/examples/09-dynamic-add-remove.js new file mode 100644 index 00000000..c50f506a --- /dev/null +++ b/examples/09-dynamic-add-remove.js @@ -0,0 +1,46 @@ +var testLayout = [ + { x: 0, y: 0, w: 2, h: 2, i: "0" }, + { x: 2, y: 0, w: 2, h: 2, i: "1" }, + { x: 4, y: 0, w: 2, h: 2, i: "2" }, + { x: 6, y: 0, w: 2, h: 2, i: "3" }, + { x: 8, y: 0, w: 2, h: 2, i: "4" }, +]; + +// var GridLayout = VueGridLayout.GridLayout; +// var GridItem = VueGridLayout.GridItem; + +new Vue({ + el: "#app", + // components: { + // "GridLayout": GridLayout, + // "GridItem": GridItem + // }, + data: { + layout: testLayout, + draggable: true, + resizable: true, + responsive: true, + colNum: 12, + index: 0, + }, + mounted: function () { + this.index = this.layout.length; + }, + methods: { + addItem: function () { + // Add a new item. It must have a unique key! + this.layout.push({ + x: (this.layout.length * 2) % (this.colNum || 12), + y: this.layout.length + (this.colNum || 12), // puts it at the bottom + w: 2, + h: 2, + i: this.index, + }); + // Increment the counter to ensure key is always unique. + this.index++; + }, + removeItem: function (val) { + this.layout = this.layout.filter((item) => item.i !== val); + }, + }, +}); diff --git a/src/App.vue b/src/App.vue index 6cc55e05..f3854228 100644 --- a/src/App.vue +++ b/src/App.vue @@ -24,6 +24,7 @@ + Draggable @@ -185,6 +186,17 @@ this.index++; this.layout.push(item); }, + addItemDynamically: function() { + let item = { + x: (this.layout.length * 2) % (this.colNum || 12), + y: this.layout.length + (this.colNum || 12), + w: 2, + h: 2, + i: this.index+"", + } + this.index++; + this.layout.push(item); + }, move: function(i, newX, newY){ console.log("MOVE i=" + i + ", X=" + newX + ", Y=" + newY); }, From ec08d90ae81451fa8bb54d13daacf319c032e5bb Mon Sep 17 00:00:00 2001 From: "jingjie.song@definesys.com" Date: Fri, 28 Aug 2020 23:43:18 +0800 Subject: [PATCH 020/111] Added use-style-cursor options to GridLayout. --- README-zh_CN.md | 7 +++++++ README.md | 14 ++++++++++++++ src/components/GridItem.vue | 8 ++++++++ src/components/GridLayout.vue | 4 ++++ 4 files changed, 33 insertions(+) diff --git a/README-zh_CN.md b/README-zh_CN.md index 76ce8396..8e84b9c6 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -279,6 +279,13 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 设置每个断点对应的列数。 +* **useStyleCursor** + + * type: `Boolean` + * required: `false` + * default: `true` + + 标识是否使用动态鼠标指针样式。当拖动出现卡顿时,将此值设为 `false`也许可以缓解布局问题。 ##### GridItem diff --git a/README.md b/README.md index 5167bba3..7b8e8883 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,13 @@ English | [简体中文](./README-zh_CN.md) - [Getting Started](#getting-started) - [Installation](#installation) - [npm](#npm) + - [browser](#browser) + - [Usage](#usage) + - [Documentation](#documentation) + - [Properties](#properties) + - [GridLayout](#gridlayout) + - [GridItem](#griditem) + - [Events](#events) - [Contribute](#contribute) - [TODO List](#todo-list) @@ -301,6 +308,13 @@ Include the browser-ready bundle (download from [releases](https://github.com/jb Defines number of columns for each breakpoint +* **useStyleCursor** + + * type: `Boolean` + * required: `false` + * default: `true` + + Says if set the `styleCursor` option to true. When dragging freezes, setting this value to `false` may alleviate problems. ##### GridItem diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index d3f0f56d..cd74a30e 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -203,6 +203,7 @@ draggable: null, resizable: null, useCssTransforms: true, + useStyleCursor: true, isDragging: false, dragging: null, @@ -312,6 +313,7 @@ this.resizable = this.isResizable; } this.useCssTransforms = this.$parent.useCssTransforms; + this.useStyleCursor = this.$parent.useStyleCursor; this.createStyle(); }, watch: { @@ -738,6 +740,9 @@ const self = this; if (this.interactObj === null || this.interactObj === undefined) { this.interactObj = interact(this.$refs.item); + if (!this.useStyleCursor) { + this.interactObj.styleCursor(false); + } } if (this.draggable && !this.static) { const opts = { @@ -762,6 +767,9 @@ const self = this; if (this.interactObj === null || this.interactObj === undefined) { this.interactObj = interact(this.$refs.item); + if (!this.useStyleCursor) { + this.interactObj.styleCursor(false); + } } if (this.resizable && !this.static) { let maximum = this.calcPosition(0,0,this.maxW, this.maxH); diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index 9d1c47c7..22007793 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -106,6 +106,10 @@ preventCollision: { type: Boolean, default: false + }, + useStyleCursor: { + type: Boolean, + default: true } }, data: function () { From bcbf636bd582a29ecbcc2b364892586b8501f69a Mon Sep 17 00:00:00 2001 From: luzhiqiang Date: Fri, 11 Sep 2020 09:42:10 +0800 Subject: [PATCH 021/111] fix: wrong parent layout when GridItem is not the child of GridLayout --- src/components/GridItem.vue | 20 ++++++++++---------- src/components/GridLayout.vue | 3 ++- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index d3f0f56d..9e4efb65 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -192,7 +192,7 @@ default: 'a, button' }, }, - inject: ["eventBus"], + inject: ["eventBus", "layout"], data: function () { return { cols: 1, @@ -296,22 +296,22 @@ } }, mounted: function () { - this.cols = this.$parent.colNum; - this.rowHeight = this.$parent.rowHeight; - this.containerWidth = this.$parent.width !== null ? this.$parent.width : 100; - this.margin = this.$parent.margin !== undefined ? this.$parent.margin : [10, 10]; - this.maxRows = this.$parent.maxRows; + this.cols = this.layout.colNum; + this.rowHeight = this.layout.rowHeight; + this.containerWidth = this.layout.width !== null ? this.layout.width : 100; + this.margin = this.layout.margin !== undefined ? this.layout.margin : [10, 10]; + this.maxRows = this.layout.maxRows; if (this.isDraggable === null) { - this.draggable = this.$parent.isDraggable; + this.draggable = this.layout.isDraggable; } else { this.draggable = this.isDraggable; } if (this.isResizable === null) { - this.resizable = this.$parent.isResizable; + this.resizable = this.layout.isResizable; } else { this.resizable = this.isResizable; } - this.useCssTransforms = this.$parent.useCssTransforms; + this.useCssTransforms = this.layout.useCssTransforms; this.createStyle(); }, watch: { @@ -412,7 +412,7 @@ return navigator.userAgent.toLowerCase().indexOf("android") !== -1; }, renderRtl() { - return (this.$parent.isMirrored) ? !this.rtl : this.rtl; + return (this.layout.isMirrored) ? !this.rtl : this.rtl; }, resizableHandleClass() { if (this.renderRtl) { diff --git a/src/components/GridLayout.vue b/src/components/GridLayout.vue index 9d1c47c7..8e61a30a 100644 --- a/src/components/GridLayout.vue +++ b/src/components/GridLayout.vue @@ -31,7 +31,8 @@ name: "GridLayout", provide() { return { - eventBus: null + eventBus: null, + layout: this } }, components: { From 63de0655684cc549e577cc0241549e8dc4c3eaca Mon Sep 17 00:00:00 2001 From: HAMET Date: Sat, 26 Sep 2020 01:40:25 +0200 Subject: [PATCH 022/111] Add files via upload --- examples/09-drag-from-outside.html | 78 ++++++++++++++++++++++ examples/09-drag-from-outside.js | 103 +++++++++++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 examples/09-drag-from-outside.html create mode 100644 examples/09-drag-from-outside.js diff --git a/examples/09-drag-from-outside.html b/examples/09-drag-from-outside.html new file mode 100644 index 00000000..881a1a01 --- /dev/null +++ b/examples/09-drag-from-outside.html @@ -0,0 +1,78 @@ + + + + + Vue Grid Layout Example 09 - Drag From Outside + + + + + + + +

Vue Grid Layout Example 09 - Drag From Outside

+ + View project on Github +
+ Previous example: Responsive Predefined Layouts +
+ + +
+ This demo shows what happens when an item is added from outside of the grid. +
+
+ Once you drop the item within the grid you'll get its coordinates/properties and can perform actions with it accordingly. +
+
+ +
+ +
+
+ Displayed as [x, y, w, h]: +
+
+ {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] +
+
+
+
+
+
Droppable Element (Drag me!)
+
+ + + {{item.i}} + + +
+
+ + + + + diff --git a/examples/09-drag-from-outside.js b/examples/09-drag-from-outside.js new file mode 100644 index 00000000..30913713 --- /dev/null +++ b/examples/09-drag-from-outside.js @@ -0,0 +1,103 @@ +var testLayout = [ + {"x":0,"y":0,"w":2,"h":2,"i":"0"}, + {"x":2,"y":0,"w":2,"h":4,"i":"1"}, + {"x":4,"y":0,"w":2,"h":5,"i":"2"}, + {"x":6,"y":0,"w":2,"h":3,"i":"3"}, + {"x":8,"y":0,"w":2,"h":3,"i":"4"}, + {"x":10,"y":0,"w":2,"h":3,"i":"5"}, + {"x":0,"y":5,"w":2,"h":5,"i":"6"}, + {"x":2,"y":5,"w":2,"h":5,"i":"7"}, + {"x":4,"y":5,"w":2,"h":5,"i":"8"}, + {"x":5,"y":10,"w":4,"h":3,"i":"9"}, +]; + +new Vue({ + el: '#app', + data: { + layout: testLayout, + }, + methods: { + drag:function(e){ + let divGridLayout=document.getElementById('content'), + divGridLayout_left = divGridLayout.getBoundingClientRect().left + divGridLayout.ownerDocument.defaultView.pageXOffset-window.window.scrollX, + divGridLayout_top = divGridLayout.getBoundingClientRect().top + divGridLayout.ownerDocument.defaultView.pageYOffset-window.window.scrollY, + divGridLayout_width = divGridLayout.getBoundingClientRect().width, + divGridLayout_height = divGridLayout.getBoundingClientRect().height + ; + let mouseInGrid=false; + if (((e.x>divGridLayout_left) && (e.xdivGridLayout_top) && (e.y item.i === 'drop')) == -1){ + this.layout.push({ + x: (this.layout.length * 2) % (this.colNum || 12), + y: this.layout.length + (this.colNum || 12), // puts it at the bottom + w: 1, + h: 1, + i: 'drop', + }); + } + setTimeout(() => { + let index=this.layout.findIndex(item => item.i === 'drop'); + if (index!=-1){ + this.$refs.gridLayout.$children[this.layout.length].$refs.item.style.display="none"; + let el=this.$refs.gridLayout.$children[index]; + + el.dragging={"left":e.x-divGridLayout_left,"top":e.y-divGridLayout_top}; + let new_pos=el.calcXY(e.y-divGridLayout_top, e.x-divGridLayout_left); + + if (mouseInGrid==true){ + this.$refs.gridLayout.dragEvent('dragstart', 'drop', new_pos.x,new_pos.y,1,1); + } + if (mouseInGrid==false){ + this.$refs.gridLayout.dragEvent('dragend', 'drop', new_pos.x,new_pos.y,1,1); + this.layout = this.layout.filter(obj => obj.i !=='drop'); + } + } + }, 100); + }, + dragstart:function(e){ + e.dataTransfer.setData('text/plain', ''); + }, + dragend:function(e){ + let divGridLayout=document.getElementById('content'), + divGridLayout_left = divGridLayout.getBoundingClientRect().left + divGridLayout.ownerDocument.defaultView.pageXOffset-window.window.scrollX, + divGridLayout_top = divGridLayout.getBoundingClientRect().top + divGridLayout.ownerDocument.defaultView.pageYOffset-window.window.scrollY, + divGridLayout_width = divGridLayout.getBoundingClientRect().width, + divGridLayout_height = divGridLayout.getBoundingClientRect().height + ; + let mouseInGrid=false; + if (((e.x>divGridLayout_left) && (e.xdivGridLayout_top) && (e.y { + this.$refs.gridLayout.$children[this.layout.length].$refs.item.style.display="block"; + }, 100); + */ + } + }, + }, +}); + From 35493911cdd8a3f5f3c1c66c9c42b8539309ee7d Mon Sep 17 00:00:00 2001 From: HAMET Date: Sun, 27 Sep 2020 17:45:03 +0200 Subject: [PATCH 023/111] Delete 09-drag-from-outside.html --- examples/09-drag-from-outside.html | 78 ------------------------------ 1 file changed, 78 deletions(-) delete mode 100644 examples/09-drag-from-outside.html diff --git a/examples/09-drag-from-outside.html b/examples/09-drag-from-outside.html deleted file mode 100644 index 881a1a01..00000000 --- a/examples/09-drag-from-outside.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Vue Grid Layout Example 09 - Drag From Outside - - - - - - - -

Vue Grid Layout Example 09 - Drag From Outside

- - View project on Github -
- Previous example: Responsive Predefined Layouts -
- - -
- This demo shows what happens when an item is added from outside of the grid. -
-
- Once you drop the item within the grid you'll get its coordinates/properties and can perform actions with it accordingly. -
-
- -
- -
-
- Displayed as [x, y, w, h]: -
-
- {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] -
-
-
-
-
-
Droppable Element (Drag me!)
-
- - - {{item.i}} - - -
-
- - - - - From 36ae06b86075ea3e418e35c6a0015f82bcc41582 Mon Sep 17 00:00:00 2001 From: HAMET Date: Sun, 27 Sep 2020 17:45:25 +0200 Subject: [PATCH 024/111] Delete 09-drag-from-outside.js --- examples/09-drag-from-outside.js | 103 ------------------------------- 1 file changed, 103 deletions(-) delete mode 100644 examples/09-drag-from-outside.js diff --git a/examples/09-drag-from-outside.js b/examples/09-drag-from-outside.js deleted file mode 100644 index 30913713..00000000 --- a/examples/09-drag-from-outside.js +++ /dev/null @@ -1,103 +0,0 @@ -var testLayout = [ - {"x":0,"y":0,"w":2,"h":2,"i":"0"}, - {"x":2,"y":0,"w":2,"h":4,"i":"1"}, - {"x":4,"y":0,"w":2,"h":5,"i":"2"}, - {"x":6,"y":0,"w":2,"h":3,"i":"3"}, - {"x":8,"y":0,"w":2,"h":3,"i":"4"}, - {"x":10,"y":0,"w":2,"h":3,"i":"5"}, - {"x":0,"y":5,"w":2,"h":5,"i":"6"}, - {"x":2,"y":5,"w":2,"h":5,"i":"7"}, - {"x":4,"y":5,"w":2,"h":5,"i":"8"}, - {"x":5,"y":10,"w":4,"h":3,"i":"9"}, -]; - -new Vue({ - el: '#app', - data: { - layout: testLayout, - }, - methods: { - drag:function(e){ - let divGridLayout=document.getElementById('content'), - divGridLayout_left = divGridLayout.getBoundingClientRect().left + divGridLayout.ownerDocument.defaultView.pageXOffset-window.window.scrollX, - divGridLayout_top = divGridLayout.getBoundingClientRect().top + divGridLayout.ownerDocument.defaultView.pageYOffset-window.window.scrollY, - divGridLayout_width = divGridLayout.getBoundingClientRect().width, - divGridLayout_height = divGridLayout.getBoundingClientRect().height - ; - let mouseInGrid=false; - if (((e.x>divGridLayout_left) && (e.xdivGridLayout_top) && (e.y item.i === 'drop')) == -1){ - this.layout.push({ - x: (this.layout.length * 2) % (this.colNum || 12), - y: this.layout.length + (this.colNum || 12), // puts it at the bottom - w: 1, - h: 1, - i: 'drop', - }); - } - setTimeout(() => { - let index=this.layout.findIndex(item => item.i === 'drop'); - if (index!=-1){ - this.$refs.gridLayout.$children[this.layout.length].$refs.item.style.display="none"; - let el=this.$refs.gridLayout.$children[index]; - - el.dragging={"left":e.x-divGridLayout_left,"top":e.y-divGridLayout_top}; - let new_pos=el.calcXY(e.y-divGridLayout_top, e.x-divGridLayout_left); - - if (mouseInGrid==true){ - this.$refs.gridLayout.dragEvent('dragstart', 'drop', new_pos.x,new_pos.y,1,1); - } - if (mouseInGrid==false){ - this.$refs.gridLayout.dragEvent('dragend', 'drop', new_pos.x,new_pos.y,1,1); - this.layout = this.layout.filter(obj => obj.i !=='drop'); - } - } - }, 100); - }, - dragstart:function(e){ - e.dataTransfer.setData('text/plain', ''); - }, - dragend:function(e){ - let divGridLayout=document.getElementById('content'), - divGridLayout_left = divGridLayout.getBoundingClientRect().left + divGridLayout.ownerDocument.defaultView.pageXOffset-window.window.scrollX, - divGridLayout_top = divGridLayout.getBoundingClientRect().top + divGridLayout.ownerDocument.defaultView.pageYOffset-window.window.scrollY, - divGridLayout_width = divGridLayout.getBoundingClientRect().width, - divGridLayout_height = divGridLayout.getBoundingClientRect().height - ; - let mouseInGrid=false; - if (((e.x>divGridLayout_left) && (e.xdivGridLayout_top) && (e.y { - this.$refs.gridLayout.$children[this.layout.length].$refs.item.style.display="block"; - }, 100); - */ - } - }, - }, -}); - From bcb6cb9b988e957652dd769e19347bd80e5f244a Mon Sep 17 00:00:00 2001 From: HAMET Date: Sun, 27 Sep 2020 18:00:58 +0200 Subject: [PATCH 025/111] Add files via upload --- examples/09-drag-from-outside.html | 78 ++++++++++++++++++++++++++ examples/09-drag-from-outside.js | 88 ++++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 examples/09-drag-from-outside.html create mode 100644 examples/09-drag-from-outside.js diff --git a/examples/09-drag-from-outside.html b/examples/09-drag-from-outside.html new file mode 100644 index 00000000..744ca1bb --- /dev/null +++ b/examples/09-drag-from-outside.html @@ -0,0 +1,78 @@ + + + + + Vue Grid Layout Example 09 - Drag From Outside + + + + + + + +

Vue Grid Layout Example 09 - Drag From Outside

+ + View project on Github +
+ Previous example: Responsive Predefined Layouts +
+ + +
+ This demo shows what happens when an item is added from outside of the grid. +
+
+ Once you drop the item within the grid you'll get its coordinates/properties and can perform actions with it accordingly. +
+
+ +
+ +
+
+ Displayed as [x, y, w, h]: +
+
+ {{item.i}}: [{{item.x}}, {{item.y}}, {{item.w}}, {{item.h}}] +
+
+
+
+
+
Droppable Element (Drag me!)
+
+ + + {{item.i}} + + +
+
+ + + + + diff --git a/examples/09-drag-from-outside.js b/examples/09-drag-from-outside.js new file mode 100644 index 00000000..d8a486fe --- /dev/null +++ b/examples/09-drag-from-outside.js @@ -0,0 +1,88 @@ +var testLayout = [ + {"x":0,"y":0,"w":2,"h":2,"i":"0"}, + {"x":2,"y":0,"w":2,"h":4,"i":"1"}, + {"x":4,"y":0,"w":2,"h":5,"i":"2"}, + {"x":6,"y":0,"w":2,"h":3,"i":"3"}, + {"x":8,"y":0,"w":2,"h":3,"i":"4"}, + {"x":10,"y":0,"w":2,"h":3,"i":"5"}, + {"x":0,"y":5,"w":2,"h":5,"i":"6"}, + {"x":2,"y":5,"w":2,"h":5,"i":"7"}, + {"x":4,"y":5,"w":2,"h":5,"i":"8"}, + {"x":5,"y":10,"w":4,"h":3,"i":"9"}, +]; + +let DragPos = {"x":null,"y":null,"w":1,"h":1,"i":null}; +new Vue({ + el: '#app', + data: { + layout: testLayout, + }, + methods: { + dragstart:function(e){ + }, + drag:function(e){ + + let parentRect = document.getElementById('content').getBoundingClientRect(); + let mouseInGrid=false; + if (((e.x>parentRect.left) && (e.xparentRect.top) && (e.y item.i === 'drop')) == -1){ + this.layout.push({ + x: (this.layout.length * 2) % (this.colNum || 12), + y: this.layout.length + (this.colNum || 12), // puts it at the bottom + w: 1, + h: 1, + i: 'drop', + }); + } + let index=this.layout.findIndex(item => item.i === 'drop'); + if (index!=-1){ + try { + this.$refs.gridLayout.$children[this.layout.length].$refs.item.style.display="none"; + } catch { + } + let el=this.$refs.gridLayout.$children[index]; + el.dragging={"top":e.y-parentRect.top,"left":e.x-parentRect.left}; + let new_pos=el.calcXY(e.y-parentRect.top, e.x-parentRect.left); + + if (mouseInGrid==true){ + this.$refs.gridLayout.dragEvent('dragstart', 'drop', new_pos.x,new_pos.y,1,1); + DragPos.i=String(index); DragPos.x=this.layout[index].x; DragPos.y=this.layout[index].y; + } + if (mouseInGrid==false){ + this.$refs.gridLayout.dragEvent('dragend', 'drop', new_pos.x,new_pos.y,1,1); + this.layout = this.layout.filter(obj => obj.i !=='drop'); + } + } + + }, + dragend:function(e){ + let parentRect = document.getElementById('content').getBoundingClientRect(); + let mouseInGrid=false; + if (((e.x>parentRect.left) && (e.xparentRect.top) && (e.y Date: Mon, 28 Sep 2020 00:26:09 +0200 Subject: [PATCH 026/111] Add files via upload --- examples/09-drag-from-outside.html | 6 +++--- examples/09-drag-from-outside.js | 27 +++++++++++++++++---------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/examples/09-drag-from-outside.html b/examples/09-drag-from-outside.html index 744ca1bb..d6172fa5 100644 --- a/examples/09-drag-from-outside.html +++ b/examples/09-drag-from-outside.html @@ -18,7 +18,7 @@ - +

Vue Grid Layout Example 09 - Drag From Outside

View project on Github @@ -48,9 +48,9 @@

Vue Grid Layout Example 09 - Drag From Outside


-
Droppable Element (Drag me!)
+
Droppable Element (Drag me!)
- parentRect.left) && (e.xparentRect.top) && (e.yparentRect.left) && (mouseXY.xparentRect.top) && (mouseXY.y item.i === 'drop')) == -1){ @@ -43,8 +46,8 @@ new Vue({ } catch { } let el=this.$refs.gridLayout.$children[index]; - el.dragging={"top":e.y-parentRect.top,"left":e.x-parentRect.left}; - let new_pos=el.calcXY(e.y-parentRect.top, e.x-parentRect.left); + el.dragging={"top":mouseXY.y-parentRect.top,"left":mouseXY.x-parentRect.left}; + let new_pos=el.calcXY(mouseXY.y-parentRect.top, mouseXY.x-parentRect.left); if (mouseInGrid==true){ this.$refs.gridLayout.dragEvent('dragstart', 'drop', new_pos.x,new_pos.y,1,1); @@ -58,15 +61,18 @@ new Vue({ }, dragend:function(e){ + let parentRect = document.getElementById('content').getBoundingClientRect(); let mouseInGrid=false; - if (((e.x>parentRect.left) && (e.xparentRect.top) && (e.yparentRect.left) && (mouseXY.xparentRect.top) && (mouseXY.y obj.i !=='drop'); - // UNCOMMENT below if you want to add a GridLayout item + // UNCOMMENT below if you want to add a grid-item /* this.layout.push({ x: DragPos.x, @@ -81,8 +87,9 @@ new Vue({ } catch { } */ + } - }, + }, }, }); From 4fd9e85d4bb880d29a70490c4355f44b98ae3d24 Mon Sep 17 00:00:00 2001 From: HAMET Date: Mon, 28 Sep 2020 01:04:58 +0200 Subject: [PATCH 027/111] Add files via upload --- examples/09-drag-from-outside.html | 12 ++++++------ examples/09-drag-from-outside.js | 5 +---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/examples/09-drag-from-outside.html b/examples/09-drag-from-outside.html index d6172fa5..5cf5c30e 100644 --- a/examples/09-drag-from-outside.html +++ b/examples/09-drag-from-outside.html @@ -8,12 +8,12 @@ diff --git a/examples/09-drag-from-outside.js b/examples/09-drag-from-outside.js index 7629e4f0..386eec3e 100644 --- a/examples/09-drag-from-outside.js +++ b/examples/09-drag-from-outside.js @@ -58,10 +58,8 @@ new Vue({ this.layout = this.layout.filter(obj => obj.i !=='drop'); } } - }, dragend:function(e){ - let parentRect = document.getElementById('content').getBoundingClientRect(); let mouseInGrid=false; if (((mouseXY.x>parentRect.left) && (mouseXY.xparentRect.top) && (mouseXY.y Date: Mon, 28 Sep 2020 10:48:34 +0100 Subject: [PATCH 028/111] vue version bump --- CHANGELOG.md | 5 +++++ docs/README.md | 10 +++++++++- package.json | 4 ++-- src/App.vue | 10 +++++++--- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1182d998..e31d2b23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 2.3.9 (September ?, 2020) + +* Fix plugin installation (fixes #311) (thanks [yfwz100](https://github.com/yfwz100)) + + ## 2.3.8 (July 31, 2020) * Make margins reactive (thanks [yfwz100](https://github.com/yfwz100)) diff --git a/docs/README.md b/docs/README.md index 5e331b84..2d56732e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1 +1,9 @@ -# vue-grid-layout \ No newline at end of file +# vue-grid-layout + + +https://github.com/wearebraid/vueformulate.com/tree/master/docs + + +# emit responsiveLayoutUpdatedEvent? + +https://github.com/jbaysolutions/vue-grid-layout/compare/master...wzquyin:master diff --git a/package.json b/package.json index 20418eab..0c5628bb 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,8 @@ "node-sass": "^4.13.0", "rimraf": "^2.6.2", "sass-loader": "^7.0.1", - "vue": "^2.6.10", - "vue-template-compiler": "^2.6.10", + "vue": "^2.6.12", + "vue-template-compiler": "^2.6.12", "webpack-bundle-analyzer": "^3.4.1" } } diff --git a/src/App.vue b/src/App.vue index 6cc55e05..62dd6b96 100644 --- a/src/App.vue +++ b/src/App.vue @@ -61,6 +61,10 @@ :w="item.w" :h="item.h" :i="item.i" + :min-x="item.minX" + :max-x="item.maxX" + :min-y="item.minY" + :max-y="item.maxY" @resize="resize" @move="move" @resized="resized" @@ -110,9 +114,9 @@ //var eventBus = require('./eventBus'); let testLayout = [ - {"x":0,"y":0,"w":2,"h":2,"i":"0", resizable: true, draggable: true, static: false}, + {"x":0,"y":0,"w":2,"h":2,"i":"0", resizable: true, draggable: true, static: false, minY: 0, maxY: 2}, {"x":2,"y":0,"w":2,"h":4,"i":"1", resizable: null, draggable: null, static: true}, - {"x":4,"y":0,"w":2,"h":5,"i":"2", resizable: false, draggable: false, static: false}, + {"x":4,"y":0,"w":2,"h":5,"i":"2", resizable: false, draggable: false, static: false, minX: 4, maxX: 4}, {"x":6,"y":0,"w":2,"h":3,"i":"3", resizable: false, draggable: false, static: false}, {"x":8,"y":0,"w":2,"h":3,"i":"4", resizable: false, draggable: false, static: false}, {"x":10,"y":0,"w":2,"h":3,"i":"5", resizable: false, draggable: false, static: false}, @@ -121,7 +125,7 @@ {"x":4,"y":5,"w":2,"h":5,"i":"8", resizable: false, draggable: false, static: false}, {"x":6,"y":3,"w":2,"h":4,"i":"9", resizable: false, draggable: false, static: true}, {"x":8,"y":4,"w":2,"h":4,"i":"10", resizable: false, draggable: false, static: false}, - {"x":10,"y":4,"w":2,"h":4,"i":"11", resizable: false, draggable: false, static: false}, + {"x":10,"y":4,"w":2,"h":4,"i":"11", resizable: false, draggable: false, static: false, minY: 4}, {"x":0,"y":10,"w":2,"h":5,"i":"12", resizable: false, draggable: false, static: false}, {"x":2,"y":10,"w":2,"h":5,"i":"13", resizable: false, draggable: false, static: false}, {"x":4,"y":8,"w":2,"h":4,"i":"14", resizable: false, draggable: false, static: false}, From 6011cf7bec7ab02a1a1c143ff43ef5e490cfef72 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 28 Sep 2020 11:28:58 +0100 Subject: [PATCH 029/111] drag from outside example merge --- examples/09-dynamic-add-remove.html | 2 ++ ...g-from-outside.html => 10-drag-from-outside.html} | 12 ++++++------ ...-drag-from-outside.js => 10-drag-from-outside.js} | 0 3 files changed, 8 insertions(+), 6 deletions(-) rename examples/{09-drag-from-outside.html => 10-drag-from-outside.html} (92%) rename examples/{09-drag-from-outside.js => 10-drag-from-outside.js} (100%) diff --git a/examples/09-dynamic-add-remove.html b/examples/09-dynamic-add-remove.html index 9b79ce74..62b02f76 100644 --- a/examples/09-dynamic-add-remove.html +++ b/examples/09-dynamic-add-remove.html @@ -24,6 +24,8 @@

Vue Grid Layout Example 9 - Dynamic Add/Remove

View project on Github
Previous example: Responsive - predefined layouts +
+ Next example: Drag from outside
diff --git a/examples/09-drag-from-outside.html b/examples/10-drag-from-outside.html similarity index 92% rename from examples/09-drag-from-outside.html rename to examples/10-drag-from-outside.html index 5cf5c30e..33b9f598 100644 --- a/examples/09-drag-from-outside.html +++ b/examples/10-drag-from-outside.html @@ -5,7 +5,7 @@ Vue Grid Layout Example 09 - Drag From Outside - + - +

Vue Grid Layout Example 09 - Drag From Outside

View project on Github
- Previous example: Responsive Predefined Layouts + Previous example: Dynamic Add/Remove
@@ -57,8 +57,8 @@

Vue Grid Layout Example 09 - Drag From Outside

:is-resizable="true" :vertical-compact="true" :use-css-transforms="true" - - > + + > Vue Grid Layout Example 09 - Drag From Outside
- + diff --git a/examples/09-drag-from-outside.js b/examples/10-drag-from-outside.js similarity index 100% rename from examples/09-drag-from-outside.js rename to examples/10-drag-from-outside.js From 2415d541fa7323929c95f93e8b8eff4fa49aa92b Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 28 Sep 2020 11:30:36 +0100 Subject: [PATCH 030/111] drag from outside typo fix --- examples/10-drag-from-outside.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/10-drag-from-outside.html b/examples/10-drag-from-outside.html index 33b9f598..fe53563a 100644 --- a/examples/10-drag-from-outside.html +++ b/examples/10-drag-from-outside.html @@ -2,7 +2,7 @@ - Vue Grid Layout Example 09 - Drag From Outside + Vue Grid Layout Example 10 - Drag From Outside From 5bf35d34d63af47461dacba224235a304a9046ae Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 28 Sep 2020 11:51:19 +0100 Subject: [PATCH 031/111] 2.3.9 release --- CHANGELOG.md | 4 +- README.md | 2 +- dist/vue-grid-layout.common.js | 10043 +------------------------- dist/vue-grid-layout.common.js.map | 2 +- dist/vue-grid-layout.umd.js | 10043 +------------------------- 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 +- package.json | 4 +- 9 files changed, 35 insertions(+), 20069 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e31d2b23..c99f6970 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # Changelog -## 2.3.9 (September ?, 2020) +## 2.3.9 (September 28, 2020) * Fix plugin installation (fixes #311) (thanks [yfwz100](https://github.com/yfwz100)) - +* Bumped interact.js to 1.9.22 ## 2.3.8 (July 31, 2020) diff --git a/README.md b/README.md index 5167bba3..bde12494 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 by [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** -### **Current version:** 2.3.8 (Supports Vue 2.2+) +### **Current version:** 2.3.9 (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)** diff --git a/dist/vue-grid-layout.common.js b/dist/vue-grid-layout.common.js index 41b6ba69..233c909b 100644 --- a/dist/vue-grid-layout.common.js +++ b/dist/vue-grid-layout.common.js @@ -1293,7 +1293,7 @@ module.exports = __webpack_require__("8e60") ? function (object, key, value) { "use strict"; -// 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=6594d2a5& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"495e29ea-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=6594d2a5& 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)} var staticRenderFns = [] @@ -2530,6 +2530,16 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "5014": +/***/ (function(module, exports, __webpack_require__) { + +/* interact.js 1.9.22 | https://raw.github.com/taye/interact.js/master/LICENSE */ +!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=o,e.getWindow=function(e){if((0,t.default)(e))return e;return(e.ownerDocument||e).defaultView||r.window},e.window=e.realWindow=void 0;var n=void 0;e.realWindow=n;var r=void 0;function o(t){e.realWindow=n=t;var o=t.document.createTextNode("");o.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(o)===o&&(t=t.wrap(t)),e.window=r=t}e.window=r,"undefined"!=typeof window&&window&&o(window);var i={};function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var s=function(t){return!!t&&"object"===a(t)},l=function(t){return"function"==typeof t},u={window:function(n){return n===e.window||(0,t.default)(n)},docFrag:function(t){return s(t)&&11===t.nodeType},object:s,func:l,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==a(t))return!1;var n=e.getWindow(t)||e.window;return/object|function/.test(a(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return s(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return s(t)&&void 0!==t.length&&l(t.splice)}};i.default=u;var c={};function f(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function d(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=p.draggable,e.map.drag=p,e.methodDict.drag="draggable",r.actions.drag=p.defaults},listeners:{"interactions:before-action-move":f,"interactions:action-resume":f,"interactions:action-move":d,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return i.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):i.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:f,move:d,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},v=p;c.default=v;var h={};Object.defineProperty(h,"__esModule",{value:!0}),h.default=void 0;var g={init:function(t){var e=t;g.document=e.document,g.DocumentFragment=e.DocumentFragment||y,g.SVGElement=e.SVGElement||y,g.SVGSVGElement=e.SVGSVGElement||y,g.SVGElementInstance=e.SVGElementInstance||y,g.Element=e.Element||y,g.HTMLElement=e.HTMLElement||g.Element,g.Event=e.Event,g.Touch=e.Touch||y,g.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function y(){}var m=g;h.default=m;var b={};Object.defineProperty(b,"__esModule",{value:!0}),b.default=void 0;var x={init:function(t){var n=h.default.Element,r=e.window.navigator;x.supportsTouch="ontouchstart"in t||i.default.func(t.DocumentTouch)&&h.default.document instanceof t.DocumentTouch,x.supportsPointerEvent=!1!==r.pointerEnabled&&!!h.default.PointerEvent,x.isIOS=/iP(hone|od|ad)/.test(r.platform),x.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),x.isIe9=/MSIE 9/.test(r.userAgent),x.isOperaMobile="Opera"===r.appName&&x.supportsTouch&&/Presto/.test(r.userAgent),x.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",x.pEventTypes=x.supportsPointerEvent?h.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,x.wheelEvent="onmousewheel"in h.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var w=x;b.default=w;var _={};function S(t){var e=t.parentNode;if(i.default.docFrag(e)){for(;(e=e.host)&&i.default.docFrag(e););return e}return e}function P(t,n){return e.window!==e.realWindow&&(n=n.replace(/\/deep\//g," ")),t[b.default.prefixedMatchesSelector](n)}Object.defineProperty(_,"__esModule",{value:!0}),_.nodeContains=function(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1},_.closest=function(t,e){for(;i.default.element(t);){if(P(t,e))return t;t=S(t)}return null},_.parentNode=S,_.matchesSelector=P,_.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,g,y,m;return n},_.matchesUpTo=function(t,e,n){for(;i.default.element(t);){if(P(t,e))return!0;if((t=S(t))===n)return P(t,e)}return!1},_.getActualElement=function(t){return t.correspondingUseElement||t},_.getScrollXY=T,_.getElementClientRect=M,_.getElementRect=function(t){var n=M(t);if(!b.default.isIOS7&&n){var r=T(e.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){var e=[];for(;t;)e.push(t),t=S(t);return e},_.trySelector=function(t){if(!i.default.string(t))return!1;return h.default.document.querySelector(t),!0};var O=function(t){return t.parentNode||t.host};function E(t,e){for(var n,r=[],o=t;(n=O(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function T(t){return{x:(t=t||e.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function M(t){var e=t instanceof h.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var j={};Object.defineProperty(j,"__esModule",{value:!0}),j.default=function(t,e){for(var n in e)t[n]=e[n];return t};var k={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?q(e):e[0];U(r,t.page),N(r,t.client),t.timeStamp=n},W.getTouchPair=V,W.pointerAverage=q,W.touchBBox=function(t){if(!t.length)return null;var e=V(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},W.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=V(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,R.default)(i,a)},W.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=V(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},W.getPointerType=function(t){return i.default.string(t.pointerType)?t.pointerType:i.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof h.default.Touch?"touch":"mouse"},W.getEventTargets=function(t){var e=i.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},W.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},W.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(W,"pointerExtend",{enumerable:!0,get:function(){return F.default}});var $={};function G(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&i.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,a,r,o));return l}(this,t,e,n,r,o,a)},n.dynamicDrop=function(e){return i.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,j.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=vt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ut(e,n.element),o.events=ft(n,0,r),o.events.activate&&(lt(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":pt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(dt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:action-end":function(t,e){if("drag"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;pt(t,e),dt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ut,getDrop:ct,getDropEvents:ft,fireDropEvents:dt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},ht=vt;st.default=ht;var gt={};function yt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),a="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=W.touchDistance(o,l),n.box=W.touchBBox(o),n.scale=1,n.ds=0,n.angle=W.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=W.touchDistance(o,l),n.box=W.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=W.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,i.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=void 0;var mt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return i.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):i.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=mt,e.methodDict.gesture="gesturable",r.actions.gesture=mt.defaults},listeners:{"interactions:action-start":yt,"interactions:action-move":yt,"interactions:action-end":yt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},bt=mt;gt.default=bt;var xt={};function wt(t,e,n,r,o,a,s){if(!e)return!1;if(!0===e){var l=i.default.number(a.width)?a.width:a.right-a.left,u=i.default.number(a.height)?a.height:a.bottom-a.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?a.left:a.right)+s;if("top"===t)return n.y<(u>=0?a.top:a.bottom)+s;if("right"===t)return n.x>(l>=0?a.right:a.left)-s;if("bottom"===t)return n.y>(u>=0?a.bottom:a.top)-s}return!!i.default.element(r)&&(i.default.element(e)?e===r:_.matchesUpTo(r,e,o))}function _t(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(xt,"__esModule",{value:!0}),xt.default=void 0;var St={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;St.cursors=function(t){return t.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"}}(n),St.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(i.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),i.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),i.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:i.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(i.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=St,e.methodDict.resize="resizable",o.actions.resize=St.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,j.default)({},o),corrected:(0,j.default)({},o),previous:(0,j.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),_t(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,j.default)(f,u),i){if((0,j.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),_t(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,a=t.buttons;if(o){var s=(0,j.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(a&l.mouseButtons))){if(i.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=wt(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||St.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-St.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-St.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=St.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:zt.x*u,y:zt.y*u};if(c.x||c.y){var f=Rt(a);i.default.window(a)?a.scrollBy(c.x,c.y):a&&(a.scrollLeft+=c.x,a.scrollTop+=c.y);var d=Rt(a),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:a})}zt.prevTime=s}zt.isScrolling&&(Mt.default.cancel(zt.i),zt.i=Mt.default.request(zt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&zt.check(e.interactable,e.prepared.name))if(e.simulation)zt.x=zt.y=0;else{var r,o,a,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ct(f.container,l,u);if(i.default.window(d))s=n.clientXd.innerWidth-zt.margin,a=n.clientY>d.innerHeight-zt.margin;else{var p=_.getElementClientRect(d);s=n.clientXp.right-zt.margin,a=n.clientY>p.bottom-zt.margin}zt.x=o?1:s?-1:0,zt.y=a?1:r?-1:0,zt.isScrolling||(zt.margin=f.margin,zt.speed=f.speed,zt.start(e))}}};function Ct(t,n,r){return(i.default.string(t)?(0,k.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Rt(t){return i.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Ft={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=zt,zt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=zt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,zt.stop(),zt.interaction&&(zt.interaction=null)},"interactions:stop":zt.stop,"interactions:action-move":function(t){return zt.onInteractionMove(t)}}};At.default=Ft;var Xt={};Object.defineProperty(Xt,"__esModule",{value:!0}),Xt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.window.console.warn(n),r=!0),t.apply(this,arguments)}},Xt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Yt={};function Wt(t){return i.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Lt(t){return i.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.default=void 0;var Bt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Lt,e.prototype.styleCursor=Wt}};Yt.default=Bt;var Ut={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Gt(e,n,t,o)?t:null}function Vt(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Ht(t,e){return i.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Kt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Zt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var a="";if(o.name){var s=n.options[o.name].cursorChecker;a=i.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Kt(t.element,a||"",e)}else e.autoStart.cursorElement&&Kt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.default=void 0;var Jt={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Yt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,j.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Ht(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Gt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||$t(n,qt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||$t(n,qt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Gt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Zt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Kt(n.element,"",e)}},maxInteractions:Ht,withinInteractionLimit:Gt,validateAction:Nt};Ut.default=Jt;var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.default=void 0;var te={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,a=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(a),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ne(e)>0&&(e.prepared.name=null)}},getHoldDuration:ne};ee.default=re;var oe={};Object.defineProperty(oe,"__esModule",{value:!0}),oe.default=void 0;var ie={id:"auto-start",install:function(t){t.usePlugin(Ut.default),t.usePlugin(ee.default),t.usePlugin(Qt.default)}};oe.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;ae.default={};var se={};function le(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):i.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function ue(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function ce(t){var n=t.Interactable;n.prototype.preventDefault=le,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var a=(0,e.getWindow)(r.target).document,s=n.getDocOptions(a);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||i.default.element(r.target)&&(0,_.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,j.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Re(e.prototype,n),r&&Re(e,r),i}($.BaseEvent);ze.InteractEvent=Be,Object.defineProperties(Be.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.PointerInfo=void 0;Ue.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,Ve,qe={};function $e(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||W.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&W.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||W.setZeroCoords(this.coords.delta),(t=(0,j.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=W.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:K.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=W.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ue.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),W.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),W.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,W.pointerExtend(this.downPointer,t),this.interacting()||(W.copyCoords(this.coords.start,this.coords.cur),W.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new ze.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(k.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();qe.Interaction=Ke;var Ze=Ke;qe.default=Ze;var Je={};function Qe(t){t.pointerIsDown&&(rn(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function tn(t){en(t.interaction)}function en(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return rn(t.coords.cur,e),rn(t.coords.delta,e),k.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function nn(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function rn(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(Je,"__esModule",{value:!0}),Je.addTotal=Qe,Je.applyPending=en,Je.default=void 0,qe._ProxyMethods.offsetBy="";var on={id:"offset",before:["modifiers","pointer-events","actions","inertia"],install:function(t){t.Interaction.prototype.offsetBy=nn},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return Qe(t.interaction)},"interactions:before-action-start":tn,"interactions:before-action-move":tn,"interactions:before-action-end":function(t){var e=t.interaction;if(en(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};Je.default=on;var an={};function sn(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=un(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:"onNextFrame",value:function(t){var e=this;this.timeout=Mt.default.request((function(){e.active&&t()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=un(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,a=r.context,s=r.listeners;o===this.target&&a===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();mn.Interactable=wn;var _n={};function Sn(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=Tn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function a(t,n,r,i){var a=kn(i),s=K.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!K.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=kn(i),l=K.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Cn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Rn=zn;An.default=Rn;var Fn={};function Xn(t){return(Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Yn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Kn,doOnInteractions:Gn,methodNames:$n};Fn.default=Zn;var Jn={};function Qn(t){return(Qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tr(t,e,n){return(tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=or(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function er(t,e){return(er=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function nr(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=or(t);if(e){var o=or(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return rr(this,n)}}function rr(t,e){return!e||"object"!==Qn(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function or(t){return(or=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ir(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ar(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,j.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function jr(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function kr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Pr.aspectRatio=Mr;var Ir=(0,ke.makeModifier)(Mr,"aspectRatio");Pr.default=Ir;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.default=void 0;var Ar=function(){};Ar._defaults={};var zr=Ar;Dr.default=zr;var Cr={};Object.defineProperty(Cr,"__esModule",{value:!0}),Object.defineProperty(Cr,"default",{enumerable:!0,get:function(){return Dr.default}});var Rr={};function Fr(t,e,n){return i.default.func(t)?k.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):k.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.getRestrictionRect=Fr,Rr.restrict=Rr.default=void 0;var Xr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,j.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Fr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Fr(o.restriction,n,e);if(a){var s=k.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Rr.restrict=Xr;var Yr=(0,ke.makeModifier)(Xr,"restrict");Rr.default=Yr;var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.restrictEdges=Wr.default=void 0;var Lr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Br={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Ur(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n - * Released under the MIT License. - * https://raw.github.com/taye/interact.js/master/LICENSE - */ -(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; -var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; -var _$scope_24 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/* common-shake removed: exports.createScope = */ void createScope; -/* common-shake removed: exports.initScope = */ void initScope; -exports.Scope = exports.ActionName = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); - -var _Eventable = _interopRequireDefault(_$Eventable_14); - -var _Interactable = _interopRequireDefault(_$Interactable_16); - -var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); - -var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); - -var _interactions = _interopRequireDefault(_$interactions_23({})); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _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); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var win = utils.win, - browser = utils.browser, - raf = utils.raf, - Signals = utils.Signals, - events = utils.events; -var ActionName; -exports.ActionName = ActionName; - -(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); - -function createScope() { - return new Scope(); -} - -var Scope = -/*#__PURE__*/ -function () { - function Scope() { - var _this = this; - - _classCallCheck(this, Scope); - - this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); - this.signals = new Signals(); - this.browser = browser; - this.events = events; - this.utils = utils; - this.defaults = utils.clone(_defaultOptions["default"]); - this.Eventable = _Eventable["default"]; - this.actions = { - names: [], - methodDict: {}, - eventTypes: [] - }; - this.InteractEvent = _InteractEvent["default"]; - this.interactables = new _InteractableSet["default"](this); // all documents being listened to - - this.documents = []; - this._plugins = []; - this._pluginMap = {}; - - this.onWindowUnload = function (event) { - return _this.removeDocument(event.target); - }; - - var scope = this; - - this.Interactable = - /*#__PURE__*/ - function (_InteractableBase) { - _inherits(Interactable, _InteractableBase); - - function Interactable() { - _classCallCheck(this, Interactable); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); - } - - _createClass(Interactable, [{ - key: "set", - value: function set(options) { - _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); - - scope.interactables.signals.fire('set', { - options: options, - interactable: this - }); - return this; - } - }, { - key: "unset", - value: function unset() { - _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); - - for (var i = scope.interactions.list.length - 1; i >= 0; i--) { - var interaction = scope.interactions.list[i]; - - if (interaction.interactable === this) { - interaction.stop(); - scope.interactions.signals.fire('destroy', { - interaction: interaction - }); - interaction.destroy(); - - if (scope.interactions.list.length > 2) { - scope.interactions.list.splice(i, 1); - } - } - } - - scope.interactables.signals.fire('unset', { - interactable: this - }); - } - }, { - key: "_defaults", - get: function get() { - return scope.defaults; - } - }]); - - return Interactable; - }(_Interactable["default"]); - } - - _createClass(Scope, [{ - key: "init", - value: function init(window) { - return initScope(this, window); - } - }, { - key: "pluginIsInstalled", - value: function pluginIsInstalled(plugin) { - return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; - } - }, { - key: "usePlugin", - value: function usePlugin(plugin, options) { - if (this.pluginIsInstalled(plugin)) { - return this; - } - - if (plugin.id) { - this._pluginMap[plugin.id] = plugin; - } - - plugin.install(this, options); - - this._plugins.push(plugin); - - return this; - } - }, { - key: "addDocument", - value: function addDocument(doc, options) { - // do nothing if document is already known - if (this.getDocIndex(doc) !== -1) { - return false; - } - - var window = win.getWindow(doc); - options = options ? utils.extend({}, options) : {}; - this.documents.push({ - doc: doc, - options: options - }); - events.documents.push(doc); // don't add an unload event for the main document - // so that the page may be cached in browser history - - if (doc !== this.document) { - events.add(window, 'unload', this.onWindowUnload); - } - - this.signals.fire('add-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "removeDocument", - value: function removeDocument(doc) { - var index = this.getDocIndex(doc); - var window = win.getWindow(doc); - var options = this.documents[index].options; - events.remove(window, 'unload', this.onWindowUnload); - this.documents.splice(index, 1); - events.documents.splice(index, 1); - this.signals.fire('remove-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "getDocIndex", - value: function getDocIndex(doc) { - for (var i = 0; i < this.documents.length; i++) { - if (this.documents[i].doc === doc) { - return i; - } - } - - return -1; - } - }, { - key: "getDocOptions", - value: function getDocOptions(doc) { - var docIndex = this.getDocIndex(doc); - return docIndex === -1 ? null : this.documents[docIndex].options; - } - }, { - key: "now", - value: function now() { - return (this.window.Date || Date).now(); - } - }]); - - return Scope; -}(); - -exports.Scope = Scope; - -function initScope(scope, window) { - win.init(window); - - _domObjects["default"].init(window); - - browser.init(window); - raf.init(window); - events.init(window); - scope.usePlugin(_interactions["default"]); - scope.document = window.document; - scope.window = window; - return scope; -} - -}); -var _$interactions_23 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _browser = _interopRequireDefault(_$browser_48); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var _events = _interopRequireDefault(_$events_52); - -var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); - -var _Signals = _interopRequireDefault(_$Signals_46); - -var _Interaction = _interopRequireDefault(_$Interaction_18({})); - -var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; - -function install(scope) { - var signals = new _Signals["default"](); - var listeners = {}; - - for (var _i = 0; _i < methodNames.length; _i++) { - var _ref; - - _ref = methodNames[_i]; - var method = _ref; - listeners[method] = doOnInteractions(method, scope); - } - - var pEventTypes = _browser["default"].pEventTypes; - var docEvents; - - if (_domObjects["default"].PointerEvent) { - docEvents = [{ - type: pEventTypes.down, - listener: releasePointersOnRemovedEls - }, { - type: pEventTypes.down, - listener: listeners.pointerDown - }, { - type: pEventTypes.move, - listener: listeners.pointerMove - }, { - type: pEventTypes.up, - listener: listeners.pointerUp - }, { - type: pEventTypes.cancel, - listener: listeners.pointerUp - }]; - } else { - docEvents = [{ - type: 'mousedown', - listener: listeners.pointerDown - }, { - type: 'mousemove', - listener: listeners.pointerMove - }, { - type: 'mouseup', - listener: listeners.pointerUp - }, { - type: 'touchstart', - listener: releasePointersOnRemovedEls - }, { - type: 'touchstart', - listener: listeners.pointerDown - }, { - type: 'touchmove', - listener: listeners.pointerMove - }, { - type: 'touchend', - listener: listeners.pointerUp - }, { - type: 'touchcancel', - listener: listeners.pointerUp - }]; - } - - docEvents.push({ - type: 'blur', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - interaction.documentBlur(event); - } - } - }); - scope.signals.on('add-document', onDocSignal); - scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events - - scope.prevTouchTime = 0; - - scope.Interaction = - /*#__PURE__*/ - function (_InteractionBase) { - _inherits(Interaction, _InteractionBase); - - function Interaction() { - _classCallCheck(this, Interaction); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); - } - - _createClass(Interaction, [{ - key: "_now", - value: function _now() { - return scope.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return scope.interactions.pointerMoveTolerance; - }, - set: function set(value) { - scope.interactions.pointerMoveTolerance = value; - } - }]); - - return Interaction; - }(_Interaction["default"]); - - scope.interactions = { - signals: signals, - // all active and idle interactions - list: [], - "new": function _new(options) { - options.signals = signals; - var interaction = new scope.Interaction(options); - scope.interactions.list.push(interaction); - return interaction; - }, - listeners: listeners, - docEvents: docEvents, - pointerMoveTolerance: 1 - }; - - function releasePointersOnRemovedEls() { - // for all inactive touch interactions with pointers down - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - - if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { - continue; - } // if a pointer is down on an element that is no longer in the DOM tree - - - var _loop = function _loop() { - _ref4 = interaction.pointers[_i4]; - var pointer = _ref4; - - if (!scope.documents.some(function (_ref5) { - var doc = _ref5.doc; - return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); - })) { - // remove the pointer from the interaction - interaction.removePointer(pointer.pointer, pointer.event); - } - }; - - for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { - var _ref4; - - _loop(); - } - } - } -} - -function doOnInteractions(method, scope) { - return function (event) { - var interactions = scope.interactions.list; - - var pointerType = _pointerUtils["default"].getPointerType(event); - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), - eventTarget = _pointerUtils$getEven2[0], - curEventTarget = _pointerUtils$getEven2[1]; - - var matches = []; // [ [pointer, interaction], ...] - - if (/^touch/.test(event.type)) { - scope.prevTouchTime = scope.now(); - - for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { - var _ref6; - - _ref6 = event.changedTouches[_i5]; - var changedTouch = _ref6; - var pointer = changedTouch; - - var pointerId = _pointerUtils["default"].getPointerId(pointer); - - var searchDetails = { - pointer: pointer, - pointerId: pointerId, - pointerType: pointerType, - eventType: event.type, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - scope: scope - }; - var interaction = getInteraction(searchDetails); - matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); - } - } else { - var invalidPointer = false; - - if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { - // ignore mouse events while touch interactions are active - for (var i = 0; i < interactions.length && !invalidPointer; i++) { - invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; - } // try to ignore mouse events that are simulated by the browser - // after a touch event - - - invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated - event.timeStamp === 0; - } - - if (!invalidPointer) { - var _searchDetails = { - pointer: event, - pointerId: _pointerUtils["default"].getPointerId(event), - pointerType: pointerType, - eventType: event.type, - curEventTarget: curEventTarget, - eventTarget: eventTarget, - scope: scope - }; - - var _interaction = getInteraction(_searchDetails); - - matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); - } - } // eslint-disable-next-line no-shadow - - - for (var _i6 = 0; _i6 < matches.length; _i6++) { - var _matches$_i = _slicedToArray(matches[_i6], 4), - _pointer = _matches$_i[0], - _eventTarget = _matches$_i[1], - _curEventTarget = _matches$_i[2], - _interaction2 = _matches$_i[3]; - - _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); - } - }; -} - -function getInteraction(searchDetails) { - var pointerType = searchDetails.pointerType, - scope = searchDetails.scope; - - var foundInteraction = _interactionFinder["default"].search(searchDetails); - - var signalArg = { - interaction: foundInteraction, - searchDetails: searchDetails - }; - scope.interactions.signals.fire('find', signalArg); - return signalArg.interaction || scope.interactions["new"]({ - pointerType: pointerType - }); -} - -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; - - if (scope.browser.isIOS && !options.events) { - options.events = { - passive: false - }; - } // delegate event listener - - - for (var eventType in _events["default"].delegatedEvents) { - eventMethod(doc, eventType, _events["default"].delegateListener); - eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); - } - - var eventOptions = options && options.events; - - for (var _i7 = 0; _i7 < docEvents.length; _i7++) { - var _ref8; - - _ref8 = docEvents[_i7]; - var _ref9 = _ref8, - type = _ref9.type, - listener = _ref9.listener; - eventMethod(doc, type, listener, eventOptions); - } -} - -var _default = { - id: 'core/interactions', - install: install, - onDocSignal: onDocSignal, - doOnInteractions: doOnInteractions, - methodNames: methodNames -}; -exports["default"] = _default; - -}); -var _$Interaction_18 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "PointerInfo", { - enumerable: true, - get: function get() { - return _PointerInfo["default"]; - } -}); -exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); - -var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); - -var _scope = _$scope_24({}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var _ProxyValues; - -exports._ProxyValues = _ProxyValues; - -(function (_ProxyValues) { - _ProxyValues["interactable"] = ""; - _ProxyValues["element"] = ""; - _ProxyValues["prepared"] = ""; - _ProxyValues["pointerIsDown"] = ""; - _ProxyValues["pointerWasMoved"] = ""; - _ProxyValues["_proxy"] = ""; -})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); - -var _ProxyMethods; - -exports._ProxyMethods = _ProxyMethods; - -(function (_ProxyMethods) { - _ProxyMethods["start"] = ""; - _ProxyMethods["move"] = ""; - _ProxyMethods["end"] = ""; - _ProxyMethods["stop"] = ""; - _ProxyMethods["interacting"] = ""; -})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); - -var Interaction = -/*#__PURE__*/ -function () { - /** */ - function Interaction(_ref) { - var _this = this; - - var pointerType = _ref.pointerType, - signals = _ref.signals; - - _classCallCheck(this, Interaction); - - // current interactable being interacted with - this.interactable = null; // the target element of the interactable - - this.element = null; // action that's ready to be fired on next move event - - this.prepared = { - name: null, - axis: null, - edges: null - }; // keep track of added pointers - - this.pointers = []; // pointerdown/mousedown/touchstart event - - this.downEvent = null; - this.downPointer = {}; - this._latestPointer = { - pointer: null, - event: null, - eventTarget: null - }; // previous action event - - this.prevEvent = null; - this.pointerIsDown = false; - this.pointerWasMoved = false; - this._interacting = false; - this._ending = false; - this._stopped = true; - this._proxy = null; - this.simulation = null; - /** - * @alias Interaction.prototype.move - */ - - this.doMove = utils.warnOnce(function (signalArg) { - this.move(signalArg); - }, 'The interaction.doMove() method has been renamed to interaction.move()'); - this.coords = { - // Starting InteractEvent pointer coordinates - start: utils.pointer.newCoords(), - // Previous native pointer move event coordinates - prev: utils.pointer.newCoords(), - // current native pointer move event coordinates - cur: utils.pointer.newCoords(), - // Change in coordinates and time of the pointer - delta: utils.pointer.newCoords(), - // pointer velocity - velocity: utils.pointer.newCoords() - }; - this._signals = signals; - this.pointerType = pointerType; - var that = this; - this._proxy = {}; - - var _loop = function _loop(key) { - Object.defineProperty(_this._proxy, key, { - get: function get() { - return that[key]; - } - }); - }; - - for (var key in _ProxyValues) { - _loop(key); - } - - var _loop2 = function _loop2(_key) { - Object.defineProperty(_this._proxy, _key, { - value: function value() { - return that[_key].apply(that, arguments); - } - }); - }; - - for (var _key in _ProxyMethods) { - _loop2(_key); - } - - this._signals.fire('new', { - interaction: this - }); - } - - _createClass(Interaction, [{ - key: "pointerDown", - value: function pointerDown(pointer, event, eventTarget) { - var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); - - this._signals.fire('down', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - pointerIndex: pointerIndex, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable({ - * // disable the default drag start by down->move - * manualStart: true - * }) - * // start dragging after the user holds the pointer down - * .on('hold', function (event) { - * var interaction = event.interaction - * - * if (!interaction.interacting()) { - * interaction.start({ name: 'drag' }, - * event.interactable, - * event.currentTarget) - * } - * }) - * ``` - * - * Start an action with the given Interactable and Element as tartgets. The - * action must be enabled for the target Interactable and an appropriate - * number of pointers must be held down - 1 for drag/resize, 2 for gesture. - * - * Use it with `interactable.able({ manualStart: false })` to always - * [start actions manually](https://github.com/taye/interact.js/issues/114) - * - * @param {object} action The action to be performed - drag, resize, etc. - * @param {Interactable} target The Interactable to target - * @param {Element} element The DOM Element to target - * @return {object} interact - */ - - }, { - key: "start", - value: function start(action, interactable, element) { - if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { - return false; - } - - utils.copyAction(this.prepared, action); - this.interactable = interactable; - this.element = element; - this.rect = interactable.getRect(element); - this.edges = this.prepared.edges; - this._stopped = false; - this._interacting = this._doPhase({ - interaction: this, - event: this.downEvent, - phase: _InteractEvent.EventPhase.Start - }) && !this._stopped; - return this._interacting; - } - }, { - key: "pointerMove", - value: function pointerMove(pointer, event, eventTarget) { - if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { - this.updatePointer(pointer, event, eventTarget, false); - utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - } - - 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; - var dx; - var dy; // register movement greater than pointerMoveTolerance - - if (this.pointerIsDown && !this.pointerWasMoved) { - dx = this.coords.cur.client.x - this.coords.start.client.x; - dy = this.coords.cur.client.y - this.coords.start.client.y; - this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; - } - - var signalArg = { - pointer: pointer, - pointerIndex: this.getPointerIndex(pointer), - event: event, - eventTarget: eventTarget, - dx: dx, - dy: dy, - duplicate: duplicateMove, - interaction: this - }; - - if (!duplicateMove) { - // set pointer coordinate, time changes and velocity - utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); - utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); - } - - this._signals.fire('move', signalArg); - - if (!duplicateMove) { - // if interacting, fire an 'action-move' signal etc - if (this.interacting()) { - this.move(signalArg); - } - - if (this.pointerWasMoved) { - utils.pointer.copyCoords(this.coords.prev, this.coords.cur); - } - } - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('dragmove', function (event) { - * if (someCondition) { - * // change the snap settings - * event.interactable.draggable({ snap: { targets: [] }}) - * // fire another move event with re-calculated snap - * event.interaction.move() - * } - * }) - * ``` - * - * Force a move of the current action at the same coordinates. Useful if - * snap/restrict has been changed and you want a movement with the new - * settings. - */ - - }, { - key: "move", - value: function move(signalArg) { - signalArg = utils.extend({ - pointer: this._latestPointer.pointer, - event: this._latestPointer.event, - eventTarget: this._latestPointer.eventTarget, - interaction: this - }, signalArg || {}); - signalArg.phase = _InteractEvent.EventPhase.Move; - - this._doPhase(signalArg); - } // End interact move events and stop auto-scroll unless simulation is running - - }, { - key: "pointerUp", - value: function pointerUp(pointer, event, eventTarget, curEventTarget) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - pointerIndex = this.updatePointer(pointer, event, eventTarget, false); - } - - this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { - pointer: pointer, - pointerIndex: pointerIndex, - event: event, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - interaction: this - }); - - if (!this.simulation) { - this.end(event); - } - - this.pointerIsDown = false; - this.removePointer(pointer, event); - } - }, { - key: "documentBlur", - value: function documentBlur(event) { - this.end(event); - - this._signals.fire('blur', { - event: event, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('move', function (event) { - * if (event.pageX > 1000) { - * // end the current action - * event.interaction.end() - * // stop all further listeners from being called - * event.stopImmediatePropagation() - * } - * }) - * ``` - * - * @param {PointerEvent} [event] - */ - - }, { - key: "end", - value: function end(event) { - this._ending = true; - event = event || this._latestPointer.event; - var endPhaseResult; - - if (this.interacting()) { - endPhaseResult = this._doPhase({ - event: event, - interaction: this, - phase: _InteractEvent.EventPhase.End - }); - } - - this._ending = false; - - if (endPhaseResult === true) { - this.stop(); - } - } - }, { - key: "currentAction", - value: function currentAction() { - return this._interacting ? this.prepared.name : null; - } - }, { - key: "interacting", - value: function interacting() { - return this._interacting; - } - /** */ - - }, { - key: "stop", - value: function stop() { - this._signals.fire('stop', { - interaction: this - }); - - this.interactable = this.element = null; - this._interacting = false; - this._stopped = true; - this.prepared.name = this.prevEvent = null; - } - }, { - key: "getPointerIndex", - value: function getPointerIndex(pointer) { - var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer - - return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { - return curPointer.id === pointerId; - }); - } - }, { - key: "getPointerInfo", - value: function getPointerInfo(pointer) { - return this.pointers[this.getPointerIndex(pointer)]; - } - }, { - key: "updatePointer", - value: function updatePointer(pointer, event, eventTarget, down) { - var id = utils.pointer.getPointerId(pointer); - var pointerIndex = this.getPointerIndex(pointer); - var pointerInfo = this.pointers[pointerIndex]; - down = down === false ? false : down || /(down|start)$/i.test(event.type); - - if (!pointerInfo) { - pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); - pointerIndex = this.pointers.length; - this.pointers.push(pointerInfo); - } else { - pointerInfo.pointer = pointer; - } - - if (down) { - this.pointerIsDown = true; - - if (!this.interacting()) { - utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - utils.pointer.copyCoords(this.coords.cur, this.coords.start); - utils.pointer.copyCoords(this.coords.prev, this.coords.start); - utils.pointer.pointerExtend(this.downPointer, pointer); - this.downEvent = event; - pointerInfo.downTime = this.coords.cur.timeStamp; - pointerInfo.downTarget = eventTarget; - this.pointerWasMoved = false; - } - } - - this._updateLatestPointer(pointer, event, eventTarget); - - this._signals.fire('update-pointer', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - down: down, - pointerInfo: pointerInfo, - pointerIndex: pointerIndex, - interaction: this - }); - - return pointerIndex; - } - }, { - key: "removePointer", - value: function removePointer(pointer, event) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - return; - } - - var pointerInfo = this.pointers[pointerIndex]; - - this._signals.fire('remove-pointer', { - pointer: pointer, - event: event, - pointerIndex: pointerIndex, - pointerInfo: pointerInfo, - interaction: this - }); - - this.pointers.splice(pointerIndex, 1); - } - }, { - key: "_updateLatestPointer", - value: function _updateLatestPointer(pointer, event, eventTarget) { - this._latestPointer.pointer = pointer; - this._latestPointer.event = event; - this._latestPointer.eventTarget = eventTarget; - } - }, { - key: "destroy", - value: function destroy() { - this._latestPointer.pointer = null; - this._latestPointer.event = null; - this._latestPointer.eventTarget = null; - } - }, { - key: "_createPreparedEvent", - value: function _createPreparedEvent(event, phase, preEnd, type) { - var actionName = this.prepared.name; - return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); - } - }, { - key: "_fireEvent", - value: function _fireEvent(iEvent) { - this.interactable.fire(iEvent); - - if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { - this.prevEvent = iEvent; - } - } - }, { - key: "_doPhase", - value: function _doPhase(signalArg) { - var event = signalArg.event, - phase = signalArg.phase, - preEnd = signalArg.preEnd, - type = signalArg.type; - - var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); - - if (beforeResult === false) { - return false; - } - - var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); - - var rect = this.rect; - - if (rect) { - // update the rect modifications - var edges = this.edges || this.prepared.edges || { - left: true, - right: true, - top: true, - bottom: true - }; - - if (edges.top) { - rect.top += iEvent.delta.y; - } - - if (edges.bottom) { - rect.bottom += iEvent.delta.y; - } - - if (edges.left) { - rect.left += iEvent.delta.x; - } - - if (edges.right) { - rect.right += iEvent.delta.x; - } - - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; - } - - this._signals.fire("action-".concat(phase), signalArg); - - this._fireEvent(iEvent); - - this._signals.fire("after-action-".concat(phase), signalArg); - - return true; - } - }, { - key: "_now", - value: function _now() { - return Date.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return 1; - } - }]); - - return Interaction; -}(); - -exports.Interaction = Interaction; -var _default = Interaction; -exports["default"] = _default; - -}); -var _$arr_47 = {}; -"use strict"; - -Object.defineProperty(_$arr_47, "__esModule", { - value: true -}); -_$arr_47.contains = contains; -_$arr_47.remove = remove; -_$arr_47.merge = merge; -_$arr_47.from = from; -_$arr_47.findIndex = findIndex; -_$arr_47.find = find; - -function contains(array, target) { - return array.indexOf(target) !== -1; -} - -function remove(array, target) { - return array.splice(array.indexOf(target), 1); -} - -function merge(target, source) { - for (var _i = 0; _i < source.length; _i++) { - var _ref; - - _ref = source[_i]; - var item = _ref; - target.push(item); - } - - return target; -} - -function from(source) { - return merge([], source); -} - -function findIndex(array, func) { - for (var i = 0; i < array.length; i++) { - if (func(array[i], i, array)) { - return i; - } - } - - return -1; -} - -function find(array, func) { - return array[findIndex(array, func)]; -} - -var _$domObjects_50 = {}; -"use strict"; - -Object.defineProperty(_$domObjects_50, "__esModule", { - value: true -}); -_$domObjects_50["default"] = void 0; -var domObjects = { - init: init, - document: null, - DocumentFragment: null, - SVGElement: null, - SVGSVGElement: null, - // eslint-disable-next-line no-undef - SVGElementInstance: null, - Element: null, - HTMLElement: null, - Event: null, - Touch: null, - PointerEvent: null -}; - -function blank() {} - -var _default = domObjects; -_$domObjects_50["default"] = _default; - -function init(window) { - var win = window; - domObjects.document = win.document; - domObjects.DocumentFragment = win.DocumentFragment || blank; - domObjects.SVGElement = win.SVGElement || blank; - domObjects.SVGSVGElement = win.SVGSVGElement || blank; - domObjects.SVGElementInstance = win.SVGElementInstance || blank; - domObjects.Element = win.Element || blank; - domObjects.HTMLElement = win.HTMLElement || domObjects.Element; - domObjects.Event = win.Event; - domObjects.Touch = win.Touch || blank; - domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; -} - -var _$isWindow_58 = {}; -"use strict"; - -Object.defineProperty(_$isWindow_58, "__esModule", { - value: true -}); -_$isWindow_58["default"] = void 0; - -var ___default_58 = function _default(thing) { - return !!(thing && thing.Window) && thing instanceof thing.Window; -}; - -_$isWindow_58["default"] = ___default_58; - -var _$window_66 = {}; -"use strict"; - -Object.defineProperty(_$window_66, "__esModule", { - value: true -}); -_$window_66.init = __init_66; -_$window_66.getWindow = getWindow; -_$window_66["default"] = void 0; - -var _isWindow = _interopRequireDefault(_$isWindow_58); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var win = { - realWindow: undefined, - window: undefined, - getWindow: getWindow, - init: __init_66 -}; - -function __init_66(window) { - // get wrapped window if using Shadow DOM polyfill - win.realWindow = window; // create a TextNode - - var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill - - if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { - // use wrapped window - window = window.wrap(window); - } - - win.window = window; -} - -if (typeof window === 'undefined') { - win.window = undefined; - win.realWindow = undefined; -} else { - __init_66(window); -} - -function getWindow(node) { - if ((0, _isWindow["default"])(node)) { - return node; - } - - var rootNode = node.ownerDocument || node; - return rootNode.defaultView || win.window; -} - -win.init = __init_66; -var ___default_66 = win; -_$window_66["default"] = ___default_66; - -var _$is_57 = {}; -"use strict"; - -Object.defineProperty(_$is_57, "__esModule", { - value: true -}); -_$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; - -var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); - -var _window2 = ___interopRequireDefault_57(_$window_66); - -function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -var __window_57 = function window(thing) { - return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); -}; - -_$is_57.window = __window_57; - -var docFrag = function docFrag(thing) { - return object(thing) && thing.nodeType === 11; -}; - -_$is_57.docFrag = docFrag; - -var object = function object(thing) { - return !!thing && _typeof(thing) === 'object'; -}; - -_$is_57.object = object; - -var func = function func(thing) { - return typeof thing === 'function'; -}; - -_$is_57.func = func; - -var number = function number(thing) { - return typeof thing === 'number'; -}; - -_$is_57.number = number; - -var bool = function bool(thing) { - return typeof thing === 'boolean'; -}; - -_$is_57.bool = bool; - -var string = function string(thing) { - return typeof thing === 'string'; -}; - -_$is_57.string = string; - -var element = function element(thing) { - if (!thing || _typeof(thing) !== 'object') { - return false; - } - - var _window = _window2["default"].getWindow(thing) || _window2["default"].window; - - return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 - : thing.nodeType === 1 && typeof thing.nodeName === 'string'; -}; - -_$is_57.element = element; - -var plainObject = function plainObject(thing) { - return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); -}; - -_$is_57.plainObject = plainObject; - -var array = function array(thing) { - return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); -}; - -_$is_57.array = array; - -var _$browser_48 = {}; -"use strict"; - -Object.defineProperty(_$browser_48, "__esModule", { - value: true -}); -_$browser_48["default"] = void 0; - -var _domObjects = ___interopRequireDefault_48(_$domObjects_50); - -var is = _interopRequireWildcard(_$is_57); - -var _window = ___interopRequireDefault_48(_$window_66); - -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 }; } - -var browser = { - init: __init_48, - supportsTouch: null, - supportsPointerEvent: null, - isIOS7: null, - isIOS: null, - isIe9: null, - isOperaMobile: null, - prefixedMatchesSelector: null, - pEventTypes: null, - wheelEvent: null -}; - -function __init_48(window) { - var Element = _domObjects["default"].Element; - var navigator = _window["default"].window.navigator; // Does the browser support touch input? - - browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents - - browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; - browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 - - browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); - browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently - - browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector - - browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; - browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { - up: 'MSPointerUp', - down: 'MSPointerDown', - over: 'mouseover', - out: 'mouseout', - move: 'MSPointerMove', - cancel: 'MSPointerCancel' - } : { - up: 'pointerup', - down: 'pointerdown', - over: 'pointerover', - out: 'pointerout', - move: 'pointermove', - cancel: 'pointercancel' - } : null; // because Webkit and Opera still use 'mousewheel' event type - - browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; -} - -var ___default_48 = browser; -_$browser_48["default"] = ___default_48; - -var _$domUtils_51 = {}; -"use strict"; - -Object.defineProperty(_$domUtils_51, "__esModule", { - value: true -}); -_$domUtils_51.nodeContains = nodeContains; -_$domUtils_51.closest = closest; -_$domUtils_51.parentNode = parentNode; -_$domUtils_51.matchesSelector = matchesSelector; -_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; -_$domUtils_51.matchesUpTo = matchesUpTo; -_$domUtils_51.getActualElement = getActualElement; -_$domUtils_51.getScrollXY = getScrollXY; -_$domUtils_51.getElementClientRect = getElementClientRect; -_$domUtils_51.getElementRect = getElementRect; -_$domUtils_51.getPath = getPath; -_$domUtils_51.trySelector = trySelector; - -var _browser = ___interopRequireDefault_51(_$browser_48); - -var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); - -var __is_51 = ___interopRequireWildcard_51(_$is_57); - -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; } 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 }; } - -function nodeContains(parent, child) { - while (child) { - if (child === parent) { - return true; - } - - child = child.parentNode; - } - - return false; -} - -function closest(element, selector) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return element; - } - - element = parentNode(element); - } - - return null; -} - -function parentNode(node) { - var parent = node.parentNode; - - if (__is_51.docFrag(parent)) { - // skip past #shado-root fragments - // tslint:disable-next-line - while ((parent = parent.host) && __is_51.docFrag(parent)) { - continue; - } - - return parent; - } - - return parent; -} - -function matchesSelector(element, selector) { - // remove /deep/ from selectors if shadowDOM polyfill is used - if (___window_51["default"].window !== ___window_51["default"].realWindow) { - selector = selector.replace(/\/deep\//g, ' '); - } - - return element[_browser["default"].prefixedMatchesSelector](selector); -} - -var getParent = function getParent(el) { - return el.parentNode ? el.parentNode : el.host; -}; // Test for the element that's "above" all other qualifiers - - -function indexOfDeepestElement(elements) { - var deepestZoneParents = []; - var deepestZone = elements[0]; - var index = deepestZone ? 0 : -1; - var i; - var n; - - for (i = 1; i < elements.length; i++) { - var dropzone = elements[i]; // an element might belong to multiple selector dropzones - - if (!dropzone || dropzone === deepestZone) { - continue; - } - - if (!deepestZone) { - deepestZone = dropzone; - index = i; - continue; - } // check if the deepest or current are document.documentElement or document.rootElement - // - if the current dropzone is, do nothing and continue - - - if (dropzone.parentNode === dropzone.ownerDocument) { - continue; - } // - if deepest is, update with the current dropzone and continue to next - else if (deepestZone.parentNode === dropzone.ownerDocument) { - 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) { - var _parent = deepestZone; - var parentParent = void 0; - - while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { - deepestZoneParents.unshift(_parent); - _parent = parentParent; - } - } - - 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) { - continue; - } - - parent = dropzone.ownerSVGElement; - } else { - parent = dropzone; - } - - var dropzoneParents = []; - - while (parent.parentNode !== parent.ownerDocument) { - dropzoneParents.unshift(parent); - parent = getParent(parent); - } - - n = 0; // get (position of last common ancestor) + 1 - - while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { - n++; - } - - var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; - var child = parents[0].lastChild; - - while (child) { - if (child === parents[1]) { - deepestZone = dropzone; - index = i; - deepestZoneParents = dropzoneParents; - break; - } else if (child === parents[2]) { - break; - } - - child = child.previousSibling; - } - } - - return index; -} - -function matchesUpTo(element, selector, limit) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return true; - } - - element = parentNode(element); - - if (element === limit) { - return matchesSelector(element, selector); - } - } - - return false; -} - -function getActualElement(element) { - return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; -} - -function getScrollXY(relevantWindow) { - relevantWindow = relevantWindow || ___window_51["default"].window; - return { - x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, - y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop - }; -} - -function getElementClientRect(element) { - var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; - return clientRect && { - left: clientRect.left, - right: clientRect.right, - top: clientRect.top, - bottom: clientRect.bottom, - width: clientRect.width || clientRect.right - clientRect.left, - height: clientRect.height || clientRect.bottom - clientRect.top - }; -} - -function getElementRect(element) { - var clientRect = getElementClientRect(element); - - if (!_browser["default"].isIOS7 && clientRect) { - var scroll = getScrollXY(___window_51["default"].getWindow(element)); - clientRect.left += scroll.x; - clientRect.right += scroll.x; - clientRect.top += scroll.y; - clientRect.bottom += scroll.y; - } - - return clientRect; -} - -function getPath(node) { - var path = []; - - while (node) { - path.push(node); - node = parentNode(node); - } - - return path; -} - -function trySelector(value) { - if (!__is_51.string(value)) { - return false; - } // an exception will be raised if it is invalid - - - ___domObjects_51["default"].document.querySelector(value); - - return true; -} - -var _$clone_49 = {}; -"use strict"; - -Object.defineProperty(_$clone_49, "__esModule", { - value: true -}); -_$clone_49["default"] = clone; - -var arr = ___interopRequireWildcard_49(_$arr_47); - -var __is_49 = ___interopRequireWildcard_49(_$is_57); - -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 = {}; - - for (var prop in source) { - var value = source[prop]; - - if (__is_49.plainObject(value)) { - dest[prop] = clone(value); - } else if (__is_49.array(value)) { - dest[prop] = arr.from(value); - } else { - dest[prop] = value; - } - } - - return dest; -} - -var _$pointerExtend_60 = {}; -"use strict"; - -Object.defineProperty(_$pointerExtend_60, "__esModule", { - value: true -}); -_$pointerExtend_60["default"] = void 0; - -function pointerExtend(dest, source) { - for (var prop in source) { - var prefixedPropREs = pointerExtend.prefixedPropREs; - var deprecated = false; // skip deprecated prefixed properties - - for (var vendor in prefixedPropREs) { - if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { - deprecated = true; - break; - } - } - - if (!deprecated && typeof source[prop] !== 'function') { - dest[prop] = source[prop]; - } - } - - return dest; -} - -pointerExtend.prefixedPropREs = { - webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, - moz: /(Pressure)$/ -}; -var ___default_60 = pointerExtend; -_$pointerExtend_60["default"] = ___default_60; - -var _$hypot_55 = {}; -"use strict"; - -Object.defineProperty(_$hypot_55, "__esModule", { - value: true -}); -_$hypot_55["default"] = void 0; - -var ___default_55 = function _default(x, y) { - return Math.sqrt(x * x + y * y); -}; - -_$hypot_55["default"] = ___default_55; - -var _$pointerUtils_61 = {}; -"use strict"; - -Object.defineProperty(_$pointerUtils_61, "__esModule", { - value: true -}); -_$pointerUtils_61["default"] = void 0; - -var ___browser_61 = ___interopRequireDefault_61(_$browser_48); - -var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); - -var domUtils = ___interopRequireWildcard_61(_$domUtils_51); - -var _hypot = ___interopRequireDefault_61(_$hypot_55); - -var __is_61 = ___interopRequireWildcard_61(_$is_57); - -var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); - -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 }; } - -var pointerUtils = { - copyCoords: function copyCoords(dest, src) { - dest.page = dest.page || {}; - dest.page.x = src.page.x; - dest.page.y = src.page.y; - dest.client = dest.client || {}; - dest.client.x = src.client.x; - dest.client.y = src.client.y; - dest.timeStamp = src.timeStamp; - }, - setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { - targetObj.page.x = cur.page.x - prev.page.x; - targetObj.page.y = cur.page.y - prev.page.y; - targetObj.client.x = cur.client.x - prev.client.x; - targetObj.client.y = cur.client.y - prev.client.y; - targetObj.timeStamp = cur.timeStamp - prev.timeStamp; - }, - setCoordVelocity: function setCoordVelocity(targetObj, delta) { - var dt = Math.max(delta.timeStamp / 1000, 0.001); - targetObj.page.x = delta.page.x / dt; - targetObj.page.y = delta.page.y / dt; - targetObj.client.x = delta.client.x / dt; - targetObj.client.y = delta.client.y / dt; - targetObj.timeStamp = dt; - }, - isNativePointer: function isNativePointer(pointer) { - return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; - }, - // Get specified X/Y coords for mouse or event.touches[0] - getXY: function getXY(type, pointer, xy) { - xy = xy || {}; - type = type || 'page'; - xy.x = pointer[type + 'X']; - xy.y = pointer[type + 'Y']; - return xy; - }, - getPageXY: function getPageXY(pointer, page) { - page = page || { - x: 0, - y: 0 - }; // Opera Mobile handles the viewport and scrolling oddly - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - pointerUtils.getXY('screen', pointer, page); - page.x += window.scrollX; - page.y += window.scrollY; - } else { - pointerUtils.getXY('page', pointer, page); - } - - return page; - }, - getClientXY: function getClientXY(pointer, client) { - client = client || {}; - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - // Opera Mobile handles the viewport and scrolling oddly - pointerUtils.getXY('screen', pointer, client); - } else { - pointerUtils.getXY('client', pointer, client); - } - - return client; - }, - getPointerId: function getPointerId(pointer) { - return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; - }, - setCoords: function setCoords(targetObj, pointers, timeStamp) { - var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; - var tmpXY = {}; - pointerUtils.getPageXY(pointer, tmpXY); - targetObj.page.x = tmpXY.x; - targetObj.page.y = tmpXY.y; - pointerUtils.getClientXY(pointer, tmpXY); - targetObj.client.x = tmpXY.x; - targetObj.client.y = tmpXY.y; - targetObj.timeStamp = timeStamp; - }, - pointerExtend: _pointerExtend["default"], - getTouchPair: function getTouchPair(event) { - var touches = []; // array of touches is supplied - - if (__is_61.array(event)) { - touches[0] = event[0]; - touches[1] = event[1]; - } // an event - else { - if (event.type === 'touchend') { - if (event.touches.length === 1) { - touches[0] = event.touches[0]; - touches[1] = event.changedTouches[0]; - } else if (event.touches.length === 0) { - touches[0] = event.changedTouches[0]; - touches[1] = event.changedTouches[1]; - } - } else { - touches[0] = event.touches[0]; - touches[1] = event.touches[1]; - } - } - - return touches; - }, - pointerAverage: function pointerAverage(pointers) { - var average = { - pageX: 0, - pageY: 0, - clientX: 0, - clientY: 0, - screenX: 0, - screenY: 0 - }; - - for (var _i = 0; _i < pointers.length; _i++) { - var _ref; - - _ref = pointers[_i]; - var pointer = _ref; - - for (var _prop in average) { - average[_prop] += pointer[_prop]; - } - } - - for (var prop in average) { - average[prop] /= pointers.length; - } - - return average; - }, - touchBBox: function touchBBox(event) { - if (!event.length && !(event.touches && event.touches.length > 1)) { - return null; - } - - var touches = pointerUtils.getTouchPair(event); - var minX = Math.min(touches[0].pageX, touches[1].pageX); - var minY = Math.min(touches[0].pageY, touches[1].pageY); - var maxX = Math.max(touches[0].pageX, touches[1].pageX); - var maxY = Math.max(touches[0].pageY, touches[1].pageY); - return { - x: minX, - y: minY, - left: minX, - top: minY, - right: maxX, - bottom: maxY, - width: maxX - minX, - height: maxY - minY - }; - }, - touchDistance: function touchDistance(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[0][sourceX] - touches[1][sourceX]; - var dy = touches[0][sourceY] - touches[1][sourceY]; - return (0, _hypot["default"])(dx, dy); - }, - touchAngle: function touchAngle(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[1][sourceX] - touches[0][sourceX]; - var dy = touches[1][sourceY] - touches[0][sourceY]; - var angle = 180 * Math.atan2(dy, dx) / Math.PI; - return angle; - }, - getPointerType: function getPointerType(pointer) { - 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 - // be either a MouseEvent, TouchEvent, or Touch object - : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; - }, - // [ event.target, event.currentTarget ] - getEventTargets: function getEventTargets(event) { - var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; - return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; - }, - newCoords: function newCoords() { - return { - page: { - x: 0, - y: 0 - }, - client: { - x: 0, - y: 0 - }, - timeStamp: 0 - }; - }, - coordsToEvent: function coordsToEvent(coords) { - var event = { - coords: coords, - - 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 event; - } -}; -var ___default_61 = pointerUtils; -_$pointerUtils_61["default"] = ___default_61; - -var _$events_52 = {}; -"use strict"; - -Object.defineProperty(_$events_52, "__esModule", { - value: true -}); -_$events_52["default"] = _$events_52.FakeEvent = void 0; - -/* removed: var _$arr_47 = require("./arr"); */; - -var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); - -var __is_52 = ___interopRequireWildcard_52(_$is_57); - -var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); - -var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); - -function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -var elements = []; -var targets = []; -var delegatedEvents = {}; -var documents = []; - -function add(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target) { - target = { - events: {}, - typeCount: 0 - }; - elementIndex = elements.push(element) - 1; - targets.push(target); - } - - if (!target.events[type]) { - target.events[type] = []; - target.typeCount++; - } - - if (!(0, _$arr_47.contains)(target.events[type], listener)) { - element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].push(listener); - } -} - -function __remove_52(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target || !target.events) { - return; - } - - if (type === 'all') { - for (type in target.events) { - if (target.events.hasOwnProperty(type)) { - __remove_52(element, type, 'all'); - } - } - - return; - } - - if (target.events[type]) { - var len = target.events[type].length; - - if (listener === 'all') { - for (var i = 0; i < len; i++) { - __remove_52(element, type, target.events[type][i], options); - } - - return; - } else { - for (var _i = 0; _i < len; _i++) { - if (target.events[type][_i] === listener) { - element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].splice(_i, 1); - break; - } - } - } - - if (target.events[type] && target.events[type].length === 0) { - target.events[type] = null; - target.typeCount--; - } - } - - if (!target.typeCount) { - targets.splice(elementIndex, 1); - elements.splice(elementIndex, 1); - } -} - -function addDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - - if (!delegatedEvents[type]) { - delegatedEvents[type] = { - contexts: [], - listeners: [], - selectors: [] - }; // add delegate listener functions - - for (var _i2 = 0; _i2 < documents.length; _i2++) { - var _ref; - - _ref = documents[_i2]; - var doc = _ref; - add(doc, type, delegateListener); - add(doc, type, delegateUseCapture, true); - } - } - - var delegated = delegatedEvents[type]; - var index; - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - break; - } - } - - if (index === -1) { - index = delegated.selectors.length; - delegated.selectors.push(selector); - delegated.contexts.push(context); - delegated.listeners.push([]); - } // keep listener and capture and passive flags - - - delegated.listeners[index].push([listener, !!options.capture, options.passive]); -} - -function removeDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var delegated = delegatedEvents[type]; - var matchFound = false; - var index; - - if (!delegated) { - return; - } // count from last index of delegated to 0 - - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - // look for matching selector and context Node - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] - - for (var i = listeners.length - 1; i >= 0; i--) { - var _listeners$i = _slicedToArray(listeners[i], 3), - fn = _listeners$i[0], - capture = _listeners$i[1], - passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match - - - if (fn === listener && capture === !!options.capture && passive === options.passive) { - // remove the listener from the array of listeners - listeners.splice(i, 1); // if all listeners for this interactable have been removed - // remove the interactable from the delegated arrays - - if (!listeners.length) { - delegated.selectors.splice(index, 1); - delegated.contexts.splice(index, 1); - delegated.listeners.splice(index, 1); // remove delegate function from context - - __remove_52(context, type, delegateListener); - __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegatedEvents[type] = null; - } - } // only remove one listener - - - matchFound = true; - break; - } - } - - if (matchFound) { - break; - } - } - } -} // bound to the interactable context when a DOM event -// listener is added to a selector interactable - - -function delegateListener(event, optionalArg) { - var options = getOptions(optionalArg); - var fakeEvent = new FakeEvent(event); - var delegated = delegatedEvents[event.type]; - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), - eventTarget = _pointerUtils$getEven2[0]; - - var element = eventTarget; // climb up document tree looking for selector matches - - while (__is_52.element(element)) { - for (var i = 0; i < delegated.selectors.length; i++) { - var selector = delegated.selectors[i]; - var context = delegated.contexts[i]; - - if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { - var listeners = delegated.listeners[i]; - fakeEvent.currentTarget = element; - - for (var _i3 = 0; _i3 < listeners.length; _i3++) { - var _ref2; - - _ref2 = listeners[_i3]; - - 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); - } - } - } - } - - element = __domUtils_52.parentNode(element); - } -} - -function delegateUseCapture(event) { - return delegateListener.call(this, event, true); -} - -function getOptions(param) { - return __is_52.object(param) ? param : { - capture: param - }; -} - -var FakeEvent = -/*#__PURE__*/ -function () { - function FakeEvent(originalEvent) { - _classCallCheck(this, FakeEvent); - - this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed - - (0, ___pointerExtend_52["default"])(this, originalEvent); - } - - _createClass(FakeEvent, [{ - key: "preventOriginalDefault", - value: function preventOriginalDefault() { - this.originalEvent.preventDefault(); - } - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.originalEvent.stopPropagation(); - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.originalEvent.stopImmediatePropagation(); - } - }]); - - return FakeEvent; -}(); - -_$events_52.FakeEvent = FakeEvent; -var events = { - add: add, - remove: __remove_52, - addDelegate: addDelegate, - removeDelegate: removeDelegate, - delegateListener: delegateListener, - delegateUseCapture: delegateUseCapture, - delegatedEvents: delegatedEvents, - documents: documents, - supportsOptions: false, - supportsPassive: false, - _elements: elements, - _targets: targets, - init: function init(window) { - window.document.createElement('div').addEventListener('test', null, { - get capture() { - return events.supportsOptions = true; - }, - - get passive() { - return events.supportsPassive = true; - } - - }); - } -}; -var ___default_52 = events; -_$events_52["default"] = ___default_52; - -var _$extend_53 = {}; -"use strict"; - -Object.defineProperty(_$extend_53, "__esModule", { - value: true -}); -_$extend_53["default"] = extend; - -function extend(dest, source) { - for (var prop in source) { - dest[prop] = source[prop]; - } - - return dest; -} - -var _$rect_63 = {}; -"use strict"; - -Object.defineProperty(_$rect_63, "__esModule", { - value: true -}); -_$rect_63.getStringOptionResult = getStringOptionResult; -_$rect_63.resolveRectLike = resolveRectLike; -_$rect_63.rectToXY = rectToXY; -_$rect_63.xywhToTlbr = xywhToTlbr; -_$rect_63.tlbrToXywh = tlbrToXywh; -_$rect_63["default"] = void 0; - -/* removed: var _$domUtils_51 = require("./domUtils"); */; - -var _extend = ___interopRequireDefault_63(_$extend_53); - -var __is_63 = ___interopRequireWildcard_63(_$is_57); - -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 }; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -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, target, element) { - if (value === 'parent') { - return (0, _$domUtils_51.parentNode)(element); - } - - if (value === 'self') { - return target.getRect(element); - } - - return (0, _$domUtils_51.closest)(element, value); -} - -function resolveRectLike(value, target, element, functionArgs) { - if (__is_63.string(value)) { - value = getStringOptionResult(value, target, element); - } else if (__is_63.func(value)) { - value = value.apply(void 0, _toConsumableArray(functionArgs)); - } - - if (__is_63.element(value)) { - value = (0, _$domUtils_51.getElementRect)(value); - } - - return value; -} - -function rectToXY(rect) { - return rect && { - x: 'x' in rect ? rect.x : rect.left, - y: 'y' in rect ? rect.y : rect.top - }; -} - -function xywhToTlbr(rect) { - if (rect && !('left' in rect && 'top' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.left = rect.x || 0; - rect.top = rect.y || 0; - rect.right = rect.right || rect.left + rect.width; - rect.bottom = rect.bottom || rect.top + rect.height; - } - - return rect; -} - -function tlbrToXywh(rect) { - if (rect && !('x' in rect && 'y' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.x = rect.left || 0; - rect.y = rect.top || 0; - rect.width = rect.width || rect.right - rect.x; - rect.height = rect.height || rect.bottom - rect.y; - } - - return rect; -} - -var ___default_63 = { - getStringOptionResult: getStringOptionResult, - resolveRectLike: resolveRectLike, - rectToXY: rectToXY, - xywhToTlbr: xywhToTlbr, - tlbrToXywh: tlbrToXywh -}; -_$rect_63["default"] = ___default_63; - -var _$getOriginXY_54 = {}; -"use strict"; - -Object.defineProperty(_$getOriginXY_54, "__esModule", { - value: true -}); -_$getOriginXY_54["default"] = ___default_54; - -/* removed: var _$rect_63 = require("./rect"); */; - -function ___default_54(target, element, action) { - var actionOptions = target.options[action]; - var actionOrigin = actionOptions && actionOptions.origin; - var origin = actionOrigin || target.options.origin; - var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); - return (0, _$rect_63.rectToXY)(originRect) || { - x: 0, - y: 0 - }; -} - -var _$normalizeListeners_59 = {}; -"use strict"; - -Object.defineProperty(_$normalizeListeners_59, "__esModule", { - value: true -}); -_$normalizeListeners_59["default"] = normalize; - -var ___extend_59 = ___interopRequireDefault_59(_$extend_53); - -var __is_59 = ___interopRequireWildcard_59(_$is_57); - -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 }; } - -function normalize(type, listeners, result) { - result = result || {}; - - if (__is_59.string(type) && type.search(' ') !== -1) { - type = split(type); - } - - if (__is_59.array(type)) { - return type.reduce(function (acc, t) { - return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); - }, result); - } // ({ type: fn }) -> ('', { type: fn }) - - - if (__is_59.object(type)) { - listeners = type; - type = ''; - } - - if (__is_59.func(listeners)) { - result[type] = result[type] || []; - result[type].push(listeners); - } else if (__is_59.array(listeners)) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var l = _ref; - normalize(type, l, result); - } - } else if (__is_59.object(listeners)) { - for (var prefix in listeners) { - var combinedTypes = split(prefix).map(function (p) { - return "".concat(type).concat(p); - }); - normalize(combinedTypes, listeners[prefix], result); - } - } - - return result; -} - -function split(type) { - return type.trim().split(/ +/); -} - -var _$raf_62 = {}; -"use strict"; - -Object.defineProperty(_$raf_62, "__esModule", { - value: true -}); -_$raf_62["default"] = void 0; -var lastTime = 0; - -var _request; - -var _cancel; - -function __init_62(window) { - _request = window.requestAnimationFrame; - _cancel = window.cancelAnimationFrame; - - if (!_request) { - var vendors = ['ms', 'moz', 'webkit', 'o']; - - for (var _i = 0; _i < vendors.length; _i++) { - var vendor = vendors[_i]; - _request = window["".concat(vendor, "RequestAnimationFrame")]; - _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; - } - } - - if (!_request) { - _request = function request(callback) { - var currTime = Date.now(); - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal - - var token = setTimeout(function () { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return token; - }; - - _cancel = function cancel(token) { - return clearTimeout(token); - }; - } -} - -var ___default_62 = { - request: function request(callback) { - return _request(callback); - }, - cancel: function cancel(token) { - return _cancel(token); - }, - init: __init_62 -}; -_$raf_62["default"] = ___default_62; - -var _$Signals_46 = {}; -"use strict"; - -Object.defineProperty(_$Signals_46, "__esModule", { - value: true -}); -_$Signals_46["default"] = void 0; - -function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } - -var Signals = -/*#__PURE__*/ -function () { - function Signals() { - ___classCallCheck_46(this, Signals); - - this.listeners = {}; - } - - ___createClass_46(Signals, [{ - key: "on", - value: function on(name, listener) { - if (!this.listeners[name]) { - this.listeners[name] = [listener]; - return; - } - - this.listeners[name].push(listener); - } - }, { - key: "off", - value: function off(name, listener) { - if (!this.listeners[name]) { - return; - } - - var index = this.listeners[name].indexOf(listener); - - if (index !== -1) { - this.listeners[name].splice(index, 1); - } - } - }, { - key: "fire", - value: function fire(name, arg) { - var targetListeners = this.listeners[name]; - - if (!targetListeners) { - return; - } - - for (var _i = 0; _i < targetListeners.length; _i++) { - var _ref; - - _ref = targetListeners[_i]; - var listener = _ref; - - if (listener(arg, name) === false) { - return false; - } - } - } - }]); - - return Signals; -}(); - -var ___default_46 = Signals; -_$Signals_46["default"] = ___default_46; - -var _$utils_56 = {}; -"use strict"; - -Object.defineProperty(_$utils_56, "__esModule", { - value: true -}); -_$utils_56.warnOnce = warnOnce; -_$utils_56._getQBezierValue = _getQBezierValue; -_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; -_$utils_56.easeOutQuad = easeOutQuad; -_$utils_56.copyAction = copyAction; -Object.defineProperty(_$utils_56, "win", { - enumerable: true, - get: function get() { - return ___window_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "browser", { - enumerable: true, - get: function get() { - return ___browser_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "clone", { - enumerable: true, - get: function get() { - return _clone["default"]; - } -}); -Object.defineProperty(_$utils_56, "events", { - enumerable: true, - get: function get() { - return _events["default"]; - } -}); -Object.defineProperty(_$utils_56, "extend", { - enumerable: true, - get: function get() { - return ___extend_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "getOriginXY", { - enumerable: true, - get: function get() { - return _getOriginXY["default"]; - } -}); -Object.defineProperty(_$utils_56, "hypot", { - enumerable: true, - get: function get() { - return ___hypot_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "normalizeListeners", { - enumerable: true, - get: function get() { - return _normalizeListeners["default"]; - } -}); -Object.defineProperty(_$utils_56, "pointer", { - enumerable: true, - get: function get() { - return ___pointerUtils_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "raf", { - enumerable: true, - get: function get() { - return _raf["default"]; - } -}); -Object.defineProperty(_$utils_56, "rect", { - enumerable: true, - get: function get() { - return ___rect_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "Signals", { - enumerable: true, - get: function get() { - return _Signals["default"]; - } -}); -_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; - -var __arr_56 = ___interopRequireWildcard_56(_$arr_47); - -_$utils_56.arr = __arr_56; - -var dom = ___interopRequireWildcard_56(_$domUtils_51); - -_$utils_56.dom = dom; - -var __is_56 = ___interopRequireWildcard_56(_$is_57); - -_$utils_56.is = __is_56; - -var ___window_56 = ___interopRequireDefault_56(_$window_66); - -var ___browser_56 = ___interopRequireDefault_56(_$browser_48); - -var _clone = ___interopRequireDefault_56(_$clone_49); - -var _events = ___interopRequireDefault_56(_$events_52); - -var ___extend_56 = ___interopRequireDefault_56(_$extend_53); - -var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); - -var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); - -var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); - -var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); - -var _raf = ___interopRequireDefault_56(_$raf_62); - -var ___rect_56 = ___interopRequireDefault_56(_$rect_63); - -var _Signals = ___interopRequireDefault_56(_$Signals_46); - -function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 - - return function () { - if (!warned) { - ___window_56["default"].window.console.warn(message); - - warned = true; - } - - return method.apply(this, arguments); - }; -} // http://stackoverflow.com/a/5634528/2280888 - - -function _getQBezierValue(t, p1, p2, p3) { - var iT = 1 - t; - return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; -} - -function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { - return { - x: _getQBezierValue(position, startX, cpX, endX), - y: _getQBezierValue(position, startY, cpY, endY) - }; -} // http://gizma.com/easing/ - - -function easeOutQuad(t, b, c, d) { - t /= d; - return -c * t * (t - 2) + b; -} - -function copyAction(dest, src) { - dest.name = src.name; - dest.axis = src.axis; - dest.edges = src.edges; - return dest; -} - -var _$defaultOptions_20 = {}; -"use strict"; - -Object.defineProperty(_$defaultOptions_20, "__esModule", { - value: true -}); -_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; -// tslint:disable no-empty-interface -var defaults = { - base: { - preventDefault: 'auto', - deltaSource: 'page' - }, - perAction: { - enabled: false, - origin: { - x: 0, - y: 0 - } - }, - actions: {} -}; -_$defaultOptions_20.defaults = defaults; -var ___default_20 = defaults; -_$defaultOptions_20["default"] = ___default_20; - -var _$Eventable_14 = {}; -"use strict"; - -Object.defineProperty(_$Eventable_14, "__esModule", { - value: true -}); -_$Eventable_14["default"] = void 0; - -var __arr_14 = ___interopRequireWildcard_14(_$arr_47); - -var ___extend_14 = ___interopRequireDefault_14(_$extend_53); - -var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); - -function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } - -function fireUntilImmediateStopped(event, listeners) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var listener = _ref; - - if (event.immediatePropagationStopped) { - break; - } - - listener(event); - } -} - -var Eventable = -/*#__PURE__*/ -function () { - function Eventable(options) { - ___classCallCheck_14(this, Eventable); - - this.types = {}; - this.propagationStopped = false; - this.immediatePropagationStopped = false; - this.options = (0, ___extend_14["default"])({}, options || {}); - } - - ___createClass_14(Eventable, [{ - key: "fire", - value: function fire(event) { - var listeners; - var global = this.global; // Interactable#on() listeners - // tslint:disable no-conditional-assignment - - if (listeners = this.types[event.type]) { - fireUntilImmediateStopped(event, listeners); - } // interact.on() listeners - - - if (!event.propagationStopped && global && (listeners = global[event.type])) { - fireUntilImmediateStopped(event, listeners); - } - } - }, { - key: "on", - value: function on(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); - } - } - }, { - key: "off", - value: function off(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - var eventList = this.types[type]; - - if (!eventList || !eventList.length) { - continue; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var subListener = _ref2; - var index = eventList.indexOf(subListener); - - if (index !== -1) { - eventList.splice(index, 1); - } - } - } - } - }, { - key: "getRect", - value: function getRect(_element) { - return null; - } - }]); - - return Eventable; -}(); - -var ___default_14 = Eventable; -_$Eventable_14["default"] = ___default_14; - -var _$Interactable_16 = {}; -"use strict"; - -Object.defineProperty(_$Interactable_16, "__esModule", { - value: true -}); -_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; - -var __arr_16 = ___interopRequireWildcard_16(_$arr_47); - -var ___browser_16 = ___interopRequireDefault_16(_$browser_48); - -var ___clone_16 = ___interopRequireDefault_16(_$clone_49); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_16 = ___interopRequireDefault_16(_$events_52); - -var ___extend_16 = ___interopRequireDefault_16(_$extend_53); - -var __is_16 = ___interopRequireWildcard_16(_$is_57); - -var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -var _Eventable = ___interopRequireDefault_16(_$Eventable_14); - -function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } - -/** */ -var Interactable = -/*#__PURE__*/ -function () { - /** */ - function Interactable(target, options, defaultContext) { - ___classCallCheck_16(this, Interactable); - - this.events = new _Eventable["default"](); - this._actions = options.actions; - this.target = target; - this._context = options.context || defaultContext; - this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); - this._doc = this._win.document; - this.set(options); - } - - ___createClass_16(Interactable, [{ - key: "setOnEvents", - value: function setOnEvents(actionName, phases) { - if (__is_16.func(phases.onstart)) { - this.on("".concat(actionName, "start"), phases.onstart); - } - - if (__is_16.func(phases.onmove)) { - this.on("".concat(actionName, "move"), phases.onmove); - } - - if (__is_16.func(phases.onend)) { - this.on("".concat(actionName, "end"), phases.onend); - } - - if (__is_16.func(phases.oninertiastart)) { - this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); - } - - return this; - } - }, { - key: "updatePerActionListeners", - value: function updatePerActionListeners(actionName, prev, cur) { - if (__is_16.array(prev) || __is_16.object(prev)) { - this.off(actionName, prev); - } - - if (__is_16.array(cur) || __is_16.object(cur)) { - this.on(actionName, cur); - } - } - }, { - key: "setPerAction", - value: function setPerAction(actionName, options) { - var defaults = this._defaults; // for all the default per-action options - - for (var optionName in options) { - var actionOptions = this.options[actionName]; - var optionValue = options[optionName]; - var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones - - if (optionName === 'listeners') { - this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); - } // if the option value is an array - - - if (isArray) { - actionOptions[optionName] = __arr_16.from(optionValue); - } // if the option value is an object - else if (!isArray && __is_16.plainObject(optionValue)) { - // copy the object - actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults - - if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { - actionOptions[optionName].enabled = optionValue.enabled !== false; - } - } // if the option value is a boolean and the default is an object - else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { - actionOptions[optionName].enabled = optionValue; - } // if it's anything else, do a plain assignment - else { - actionOptions[optionName] = optionValue; - } - } - } - /** - * The default function to get an Interactables bounding rect. Can be - * overridden using {@link Interactable.rectChecker}. - * - * @param {Element} [element] The element to measure. - * @return {object} The object's bounding rectangle. - */ - - }, { - key: "getRect", - value: function getRect(element) { - element = element || (__is_16.element(this.target) ? this.target : null); - - if (__is_16.string(this.target)) { - element = element || this._context.querySelector(this.target); - } - - return (0, _$domUtils_51.getElementRect)(element); - } - /** - * Returns or sets the function used to calculate the interactable's - * element's rectangle - * - * @param {function} [checker] A function which returns this Interactable's - * bounding rectangle. See {@link Interactable.getRect} - * @return {function | object} The checker function or this Interactable - */ - - }, { - key: "rectChecker", - value: function rectChecker(checker) { - if (__is_16.func(checker)) { - this.getRect = checker; - return this; - } - - if (checker === null) { - delete this.getRect; - return this; - } - - return this.getRect; - } - }, { - key: "_backCompatOption", - value: function _backCompatOption(optionName, newValue) { - if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { - this.options[optionName] = newValue; - - for (var _i = 0; _i < this._actions.names.length; _i++) { - var _ref; - - _ref = this._actions.names[_i]; - var action = _ref; - this.options[action][optionName] = newValue; - } - - return this; - } - - return this.options[optionName]; - } - /** - * Gets or sets the origin of the Interactable's element. The x and y - * of the origin will be subtracted from action event coordinates. - * - * @param {Element | object | string} [origin] An HTML or SVG Element whose - * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' - * or any CSS selector - * - * @return {object} The current origin or this Interactable - */ - - }, { - key: "origin", - value: function origin(newValue) { - return this._backCompatOption('origin', newValue); - } - /** - * Returns or sets the mouse coordinate types used to calculate the - * movement of the pointer. - * - * @param {string} [newValue] Use 'client' if you will be scrolling while - * interacting; Use 'page' if you want autoScroll to work - * @return {string | object} The current deltaSource or this Interactable - */ - - }, { - key: "deltaSource", - value: function deltaSource(newValue) { - if (newValue === 'page' || newValue === 'client') { - this.options.deltaSource = newValue; - return this; - } - - return this.options.deltaSource; - } - /** - * Gets the selector context Node of the Interactable. The default is - * `window.document`. - * - * @return {Node} The context Node of this Interactable - */ - - }, { - key: "context", - value: function context() { - return this._context; - } - }, { - key: "inContext", - value: function inContext(element) { - return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); - } - }, { - key: "testIgnoreAllow", - value: function testIgnoreAllow(options, targetNode, eventTarget) { - return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); - } - }, { - key: "testAllow", - value: function testAllow(allowFrom, targetNode, element) { - if (!allowFrom) { - return true; - } - - if (!__is_16.element(element)) { - return false; - } - - if (__is_16.string(allowFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); - } else if (__is_16.element(allowFrom)) { - return (0, _$domUtils_51.nodeContains)(allowFrom, element); - } - - return false; - } - }, { - key: "testIgnore", - value: function testIgnore(ignoreFrom, targetNode, element) { - if (!ignoreFrom || !__is_16.element(element)) { - return false; - } - - if (__is_16.string(ignoreFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); - } else if (__is_16.element(ignoreFrom)) { - return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); - } - - return false; - } - /** - * Calls listeners for the given InteractEvent type bound globally - * and directly to this Interactable - * - * @param {InteractEvent} iEvent The InteractEvent object to be fired on this - * Interactable - * @return {Interactable} this Interactable - */ - - }, { - key: "fire", - value: function fire(iEvent) { - this.events.fire(iEvent); - return this; - } - }, { - key: "_onOff", - value: function _onOff(method, typeArg, listenerArg, options) { - if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { - options = listenerArg; - listenerArg = null; - } - - var addRemove = method === 'on' ? 'add' : 'remove'; - var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); - - for (var type in listeners) { - if (type === 'wheel') { - type = ___browser_16["default"].wheelEvent; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var listener = _ref2; - - // if it is an action event type - if (__arr_16.contains(this._actions.eventTypes, type)) { - this.events[method](type, listener); - } // 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 Interactable's element - else { - ___events_16["default"][addRemove](this.target, type, listener, options); - } - } - } - - return this; - } - /** - * Binds a listener for an InteractEvent, pointerEvent or DOM event. - * - * @param {string | array | object} types The types of events to listen - * for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * addEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "on", - value: function on(types, listener, options) { - return this._onOff('on', types, listener, options); - } - /** - * Removes an InteractEvent, pointerEvent or DOM event listener. - * - * @param {string | array | object} types The types of events that were - * listened for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * removeEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "off", - value: function off(types, listener, options) { - return this._onOff('off', types, listener, options); - } - /** - * Reset the options of this Interactable - * - * @param {object} options The new settings to apply - * @return {object} This Interactable - */ - - }, { - key: "set", - value: function set(options) { - var defaults = this._defaults; - - if (!__is_16.object(options)) { - options = {}; - } - - this.options = (0, ___clone_16["default"])(defaults.base); - - for (var actionName in this._actions.methodDict) { - var methodName = this._actions.methodDict[actionName]; - this.options[actionName] = {}; - this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); - this[methodName](options[actionName]); - } - - for (var setting in options) { - if (__is_16.func(this[setting])) { - this[setting](options[setting]); - } - } - - return this; - } - /** - * Remove this interactable from the list of interactables and remove it's - * action capabilities and event listeners - * - * @return {interact} - */ - - }, { - key: "unset", - value: function unset() { - ___events_16["default"].remove(this.target, 'all'); - - if (__is_16.string(this.target)) { - // remove delegated events - for (var type in ___events_16["default"].delegatedEvents) { - var delegated = ___events_16["default"].delegatedEvents[type]; - - if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { - delegated.selectors.splice(0, 1); - delegated.contexts.splice(0, 1); - delegated.listeners.splice(0, 1); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegated[type] = null; - } - } - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); - } - } else { - ___events_16["default"].remove(this.target, 'all'); - } - } - }, { - key: "_defaults", - get: function get() { - return { - base: {}, - perAction: {}, - actions: {} - }; - } - }]); - - return Interactable; -}(); - -_$Interactable_16.Interactable = Interactable; -var ___default_16 = Interactable; -_$Interactable_16["default"] = ___default_16; - -var _$InteractableSet_17 = {}; -"use strict"; - -Object.defineProperty(_$InteractableSet_17, "__esModule", { - value: true -}); -_$InteractableSet_17["default"] = void 0; - -var __arr_17 = ___interopRequireWildcard_17(_$arr_47); - -var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); - -var ___extend_17 = ___interopRequireDefault_17(_$extend_53); - -var __is_17 = ___interopRequireWildcard_17(_$is_57); - -var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); - -function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } - -var InteractableSet = -/*#__PURE__*/ -function () { - function InteractableSet(scope) { - var _this = this; - - ___classCallCheck_17(this, InteractableSet); - - this.scope = scope; - this.signals = new ___Signals_17["default"](); // all set interactables - - this.list = []; - this.selectorMap = {}; - this.signals.on('unset', function (_ref) { - var interactable = _ref.interactable; - var target = interactable.target, - context = interactable._context; - var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; - var targetIndex = targetMappings.findIndex(function (m) { - return m.context === context; - }); - - if (targetMappings[targetIndex]) { - // Destroying mappingInfo's context and interactable - targetMappings[targetIndex].context = null; - targetMappings[targetIndex].interactable = null; - } - - targetMappings.splice(targetIndex, 1); - }); - } - - ___createClass_17(InteractableSet, [{ - key: "new", - value: function _new(target, options) { - options = (0, ___extend_17["default"])(options || {}, { - actions: this.scope.actions - }); - var interactable = new this.scope.Interactable(target, options, this.scope.document); - var mappingInfo = { - context: interactable._context, - interactable: interactable - }; - this.scope.addDocument(interactable._doc); - this.list.push(interactable); - - if (__is_17.string(target)) { - if (!this.selectorMap[target]) { - this.selectorMap[target] = []; - } - - this.selectorMap[target].push(mappingInfo); - } else { - if (!interactable.target[this.scope.id]) { - Object.defineProperty(target, this.scope.id, { - value: [], - configurable: true - }); - } - - target[this.scope.id].push(mappingInfo); - } - - this.signals.fire('new', { - target: target, - options: options, - interactable: interactable, - win: this.scope._win - }); - return interactable; - } - }, { - key: "get", - value: function get(target, options) { - var context = options && options.context || this.scope.document; - var isSelector = __is_17.string(target); - var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; - - if (!targetMappings) { - return null; - } - - var found = __arr_17.find(targetMappings, function (m) { - return m.context === context && (isSelector || m.interactable.inContext(target)); - }); - return found && found.interactable; - } - }, { - key: "forEachMatch", - value: function forEachMatch(node, callback) { - for (var _i = 0; _i < this.list.length; _i++) { - var _ref2; - - _ref2 = this.list[_i]; - var interactable = _ref2; - var ret = void 0; - - if ((__is_17.string(interactable.target) // target is a selector and the element matches - ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element - node === interactable.target) && // the element is in context - interactable.inContext(node)) { - ret = callback(interactable); - } - - if (ret !== undefined) { - return ret; - } - } - } - }]); - - return InteractableSet; -}(); - -_$InteractableSet_17["default"] = InteractableSet; - -var _$BaseEvent_13 = {}; -"use strict"; - -Object.defineProperty(_$BaseEvent_13, "__esModule", { - value: true -}); -_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; - -function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } - -var EventPhase; -_$BaseEvent_13.EventPhase = EventPhase; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); - -var BaseEvent = -/*#__PURE__*/ -function () { - function BaseEvent(interaction) { - ___classCallCheck_13(this, BaseEvent); - - this.immediatePropagationStopped = false; - this.propagationStopped = false; - this._interaction = interaction; - } - - ___createClass_13(BaseEvent, [{ - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }, { - key: "interaction", - get: function get() { - return this._interaction._proxy; - } - }]); - - return BaseEvent; -}(); - -_$BaseEvent_13.BaseEvent = BaseEvent; -var ___default_13 = BaseEvent; -_$BaseEvent_13["default"] = ___default_13; - -var _$InteractEvent_15 = {}; -"use strict"; - -Object.defineProperty(_$InteractEvent_15, "__esModule", { - value: true -}); -_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; - -var ___extend_15 = ___interopRequireDefault_15(_$extend_53); - -var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); - -var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); - -var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); - -var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); - -function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var __EventPhase_15; -_$InteractEvent_15.EventPhase = __EventPhase_15; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); - -var InteractEvent = -/*#__PURE__*/ -function (_BaseEvent) { - _inherits(InteractEvent, _BaseEvent); - - /** */ - function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { - var _this; - - ___classCallCheck_15(this, InteractEvent); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); - element = element || interaction.element; - var target = interaction.interactable; - var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; - var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); - var starting = phase === 'start'; - var ending = phase === 'end'; - var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; - var coords = starting ? interaction.coords.start : ending ? { - page: prevEvent.page, - client: prevEvent.client, - timeStamp: interaction.coords.cur.timeStamp - } : interaction.coords.cur; - _this.page = (0, ___extend_15["default"])({}, coords.page); - _this.client = (0, ___extend_15["default"])({}, coords.client); - _this.rect = (0, ___extend_15["default"])({}, interaction.rect); - _this.timeStamp = coords.timeStamp; - - if (!ending) { - _this.page.x -= origin.x; - _this.page.y -= origin.y; - _this.client.x -= origin.x; - _this.client.y -= origin.y; - } - - _this.ctrlKey = event.ctrlKey; - _this.altKey = event.altKey; - _this.shiftKey = event.shiftKey; - _this.metaKey = event.metaKey; - _this.button = event.button; - _this.buttons = event.buttons; - _this.target = element; - _this.currentTarget = element; - _this.relatedTarget = related || null; - _this.preEnd = preEnd; - _this.type = type || actionName + (phase || ''); - _this.interactable = target; - _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; - _this.x0 = interaction.coords.start.page.x - origin.x; - _this.y0 = interaction.coords.start.page.y - origin.y; - _this.clientX0 = interaction.coords.start.client.x - origin.x; - _this.clientY0 = interaction.coords.start.client.y - origin.y; - - if (starting || ending) { - _this.delta = { - x: 0, - y: 0 - }; - } else { - _this.delta = { - x: _this[deltaSource].x - prevEvent[deltaSource].x, - y: _this[deltaSource].y - prevEvent[deltaSource].y - }; - } - - _this.dt = interaction.coords.delta.timeStamp; - _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second - - _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); - _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); - _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; - return _this; - } - - ___createClass_15(InteractEvent, [{ - key: "getSwipe", - value: function getSwipe() { - var interaction = this._interaction; - - if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { - return null; - } - - var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; - var overlap = 22.5; - - if (angle < 0) { - angle += 360; - } - - var left = 135 - overlap <= angle && angle < 225 + overlap; - var up = 225 - overlap <= angle && angle < 315 + overlap; - var right = !left && (315 - overlap <= angle || angle < 45 + overlap); - var down = !up && 45 - overlap <= angle && angle < 135 + overlap; - return { - up: up, - down: down, - left: left, - right: right, - angle: angle, - speed: interaction.prevEvent.speed, - velocity: { - x: interaction.prevEvent.velocityX, - y: interaction.prevEvent.velocityY - } - }; - } - }, { - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "pageX", - get: function get() { - return this.page.x; - }, - set: function set(value) { - this.page.x = value; - } - }, { - key: "pageY", - get: function get() { - return this.page.y; - }, - set: function set(value) { - this.page.y = value; - } - }, { - key: "clientX", - get: function get() { - return this.client.x; - }, - set: function set(value) { - this.client.x = value; - } - }, { - key: "clientY", - get: function get() { - return this.client.y; - }, - set: function set(value) { - this.client.y = value; - } - }, { - key: "dx", - get: function get() { - return this.delta.x; - }, - set: function set(value) { - this.delta.x = value; - } - }, { - key: "dy", - get: function get() { - return this.delta.y; - }, - set: function set(value) { - this.delta.y = value; - } - }, { - key: "velocityX", - get: function get() { - return this.velocity.x; - }, - set: function set(value) { - this.velocity.x = value; - } - }, { - key: "velocityY", - get: function get() { - return this.velocity.y; - }, - set: function set(value) { - this.velocity.y = value; - } - }]); - - return InteractEvent; -}(_BaseEvent2["default"]); - -_$InteractEvent_15.InteractEvent = InteractEvent; -var ___default_15 = InteractEvent; -_$InteractEvent_15["default"] = ___default_15; - -var _$PointerInfo_19 = {}; -"use strict"; - -Object.defineProperty(_$PointerInfo_19, "__esModule", { - value: true -}); -_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; - -function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/* eslint-disable @typescript-eslint/no-parameter-properties */ -var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { - ___classCallCheck_19(this, PointerInfo); - - this.id = id; - this.pointer = pointer; - this.event = event; - this.downTime = downTime; - this.downTarget = downTarget; -}; - -_$PointerInfo_19.PointerInfo = PointerInfo; -var ___default_19 = PointerInfo; -_$PointerInfo_19["default"] = ___default_19; - -var _$interactionFinder_22 = {}; -"use strict"; - -Object.defineProperty(_$interactionFinder_22, "__esModule", { - value: true -}); -_$interactionFinder_22["default"] = void 0; - -var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); - -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'], - search: function search(details) { - for (var _i = 0; _i < finder.methodOrder.length; _i++) { - var _ref; - - _ref = finder.methodOrder[_i]; - var method = _ref; - var interaction = finder[method](details); - - if (interaction) { - return interaction; - } - } - }, - // try to resume simulation with a new pointer - simulationResume: function simulationResume(_ref2) { - var pointerType = _ref2.pointerType, - eventType = _ref2.eventType, - eventTarget = _ref2.eventTarget, - scope = _ref2.scope; - - if (!/down|start/i.test(eventType)) { - return null; - } - - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref3; - - _ref3 = scope.interactions.list[_i2]; - var interaction = _ref3; - var element = eventTarget; - - if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { - while (element) { - // if the element is the interaction element - if (element === interaction.element) { - return interaction; - } - - element = __dom_22.parentNode(element); - } - } - } - - return null; - }, - // if it's a mouse or pen interaction - mouseOrPen: function mouseOrPen(_ref4) { - var pointerId = _ref4.pointerId, - pointerType = _ref4.pointerType, - eventType = _ref4.eventType, - scope = _ref4.scope; - - if (pointerType !== 'mouse' && pointerType !== 'pen') { - return null; - } - - var firstNonActive; - - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref5; - - _ref5 = scope.interactions.list[_i3]; - var interaction = _ref5; - - if (interaction.pointerType === pointerType) { - // if it's a down event, skip interactions with running simulations - if (interaction.simulation && !hasPointerId(interaction, pointerId)) { - continue; - } // if the interaction is active, return it immediately - - - if (interaction.interacting()) { - return interaction; - } // otherwise save it and look for another active interaction - else if (!firstNonActive) { - firstNonActive = interaction; - } - } - } // if no active mouse interaction was found use the first inactive mouse - // interaction - - - if (firstNonActive) { - return firstNonActive; - } // find any mouse or pen interaction. - // ignore the interaction if the eventType is a *down, and a simulation - // is active - - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref6; - - _ref6 = scope.interactions.list[_i4]; - var _interaction = _ref6; - - if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { - return _interaction; - } - } - - return null; - }, - // get interaction that has this pointer - hasPointer: function hasPointer(_ref7) { - var pointerId = _ref7.pointerId, - scope = _ref7.scope; - - for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { - var _ref8; - - _ref8 = scope.interactions.list[_i5]; - var interaction = _ref8; - - if (hasPointerId(interaction, pointerId)) { - return interaction; - } - } - - return null; - }, - // get first idle interaction with a matching pointerType - idle: function idle(_ref9) { - var pointerType = _ref9.pointerType, - scope = _ref9.scope; - - for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { - var _ref10; - - _ref10 = scope.interactions.list[_i6]; - var interaction = _ref10; - - // if there's already a pointer held down - if (interaction.pointers.length === 1) { - var target = interaction.interactable; // don't add this pointer if there is a target interactable and it - // isn't gesturable - - if (target && !(target.options.gesture && target.options.gesture.enabled)) { - continue; - } - } // maximum of 2 pointers per interaction - else if (interaction.pointers.length >= 2) { - continue; - } - - if (!interaction.interacting() && pointerType === interaction.pointerType) { - return interaction; - } - } - - return null; - } -}; - -function hasPointerId(interaction, pointerId) { - return interaction.pointers.some(function (_ref11) { - var id = _ref11.id; - return id === pointerId; - }); -} - -var ___default_22 = finder; -_$interactionFinder_22["default"] = ___default_22; - -var _$drag_1 = {}; -"use strict"; - -Object.defineProperty(_$drag_1, "__esModule", { - value: true -}); -_$drag_1["default"] = void 0; - -var ___scope_1 = _$scope_24({}); - -var __arr_1 = ___interopRequireWildcard_1(_$arr_47); - -var __is_1 = ___interopRequireWildcard_1(_$is_57); - -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'; - -function __install_1(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('before-action-move', beforeMove); - interactions.signals.on('action-resume', beforeMove); // dragmove - - interactions.signals.on('action-move', move); - Interactable.prototype.draggable = drag.draggable; - actions[___scope_1.ActionName.Drag] = drag; - actions.names.push(___scope_1.ActionName.Drag); - __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); - actions.methodDict.drag = 'draggable'; - defaults.actions.drag = drag.defaults; -} - -function beforeMove(_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x') { - interaction.coords.cur.page.y = interaction.coords.start.page.y; - interaction.coords.cur.client.y = interaction.coords.start.client.y; - interaction.coords.velocity.client.y = 0; - interaction.coords.velocity.page.y = 0; - } else if (axis === 'y') { - interaction.coords.cur.page.x = interaction.coords.start.page.x; - interaction.coords.cur.client.x = interaction.coords.start.client.x; - interaction.coords.velocity.client.x = 0; - interaction.coords.velocity.page.x = 0; - } -} - -function move(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x' || axis === 'y') { - var opposite = axis === 'x' ? 'y' : 'x'; - iEvent.page[opposite] = interaction.coords.start.page[opposite]; - iEvent.client[opposite] = interaction.coords.start.client[opposite]; - iEvent.delta[opposite] = 0; - } -} -/** - * ```js - * interact(element).draggable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // the axis in which the first movement must be - * // for the drag sequence to start - * // 'xy' by default - any direction - * startAxis: 'x' || 'y' || 'xy', - * - * // 'xy' by default - don't restrict to one axis (move in any direction) - * // 'x' or 'y' to restrict movement to either axis - * // 'start' to restrict movement to the axis the drag started in - * lockAxis: 'x' || 'y' || 'xy' || 'start', - * - * // max number of drags that can happen concurrently - * // with elements of this Interactable. Infinity by default - * max: Infinity, - * - * // max number of drags that can target the same element+Interactable - * // 1 by default - * maxPerElement: 2 - * }) - * - * var isDraggable = interact('element').draggable(); // true - * ``` - * - * Get or set whether drag actions can be performed on the target - * - * @alias Interactable.prototype.draggable - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on drag events (object makes the Interactable - * draggable) - * @return {boolean | Interactable} boolean indicating if this can be the - * target of drag events, or this Interctable - */ - - -var draggable = function draggable(options) { - if (__is_1.object(options)) { - this.options.drag.enabled = options.enabled !== false; - this.setPerAction('drag', options); - this.setOnEvents('drag', options); - - if (/^(xy|x|y|start)$/.test(options.lockAxis)) { - this.options.drag.lockAxis = options.lockAxis; - } - - if (/^(xy|x|y)$/.test(options.startAxis)) { - this.options.drag.startAxis = options.startAxis; - } - - return this; - } - - if (__is_1.bool(options)) { - this.options.drag.enabled = options; - return this; - } - - return this.options.drag; -}; - -var drag = { - id: 'actions/drag', - install: __install_1, - draggable: draggable, - beforeMove: beforeMove, - move: move, - defaults: { - startAxis: 'xy', - lockAxis: 'xy' - }, - checker: function checker(_pointer, _event, interactable) { - var dragOptions = interactable.options.drag; - return dragOptions.enabled ? { - name: 'drag', - axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis - } : null; - }, - getCursor: function getCursor() { - return 'move'; - } -}; -var ___default_1 = drag; -_$drag_1["default"] = ___default_1; - -var _$DropEvent_2 = {}; -"use strict"; - -Object.defineProperty(_$DropEvent_2, "__esModule", { - value: true -}); -_$DropEvent_2["default"] = void 0; - -var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); - -var __arr_2 = ___interopRequireWildcard_2(_$arr_47); - -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 }; } - -function ___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); } - -function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } - -function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } - -function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } - -function ___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); } - -function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } - -var DropEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_2(DropEvent, _BaseEvent); - - /** - * Class of events fired on dropzones during drags with acceptable targets. - */ - function DropEvent(dropState, dragEvent, type) { - var _this; - - ___classCallCheck_2(this, DropEvent); - - _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); - _this.propagationStopped = false; - _this.immediatePropagationStopped = false; - - var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, - element = _ref.element, - dropzone = _ref.dropzone; - - _this.type = type; - _this.target = element; - _this.currentTarget = element; - _this.dropzone = dropzone; - _this.dragEvent = dragEvent; - _this.relatedTarget = dragEvent.target; - _this.draggable = dragEvent.interactable; - _this.timeStamp = dragEvent.timeStamp; - return _this; - } - /** - * If this is a `dropactivate` event, the dropzone element will be - * deactivated. - * - * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the - * dropzone element and more. - */ - - - ___createClass_2(DropEvent, [{ - key: "reject", - value: function reject() { - var _this2 = this; - - var dropState = this._interaction.dropState; - - if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { - return; - } - - dropState.prev.dropzone = this.dropzone; - dropState.prev.element = this.target; - dropState.rejected = true; - dropState.events.enter = null; - this.stopImmediatePropagation(); - - if (this.type === 'dropactivate') { - var activeDrops = dropState.activeDrops; - var index = __arr_2.findIndex(activeDrops, function (_ref2) { - var dropzone = _ref2.dropzone, - element = _ref2.element; - return dropzone === _this2.dropzone && element === _this2.target; - }); - dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); - var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); - deactivateEvent.dropzone = this.dropzone; - deactivateEvent.target = this.target; - this.dropzone.fire(deactivateEvent); - } else { - this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); - } - } - }, { - key: "preventDefault", - value: function preventDefault() {} - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }]); - - return DropEvent; -}(___BaseEvent2_2["default"]); - -var ___default_2 = DropEvent; -_$DropEvent_2["default"] = ___default_2; - -var _$drop_3 = {}; -"use strict"; - -Object.defineProperty(_$drop_3, "__esModule", { - value: true -}); -_$drop_3["default"] = void 0; - -var __utils_3 = ___interopRequireWildcard_3(_$utils_56); - -var _drag = ___interopRequireDefault_3(_$drag_1); - -var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); - -function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interact = scope.interact, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_drag["default"]); - interactions.signals.on('before-action-start', function (_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - interaction.dropState = { - cur: { - dropzone: null, - element: null - }, - prev: { - dropzone: null, - element: null - }, - rejected: null, - events: null, - activeDrops: null - }; - }); - interactions.signals.on('after-action-start', function (_ref2) { - var interaction = _ref2.interaction, - event = _ref2.event, - dragEvent = _ref2.iEvent; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; // reset active dropzones - - dropState.activeDrops = null; - dropState.events = null; - dropState.activeDrops = getActiveDrops(scope, interaction.element); - dropState.events = getDropEvents(interaction, event, dragEvent); - - if (dropState.events.activate) { - fireActivationEvents(dropState.activeDrops, dropState.events.activate); - } - }); // FIXME proper signal types - - interactions.signals.on('action-move', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('action-end', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('after-action-move', function (_ref3) { - var interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - interaction.dropState.events = {}; - }); - interactions.signals.on('after-action-end', function (_ref4) { - var interaction = _ref4.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - }); - interactions.signals.on('stop', function (_ref5) { - var interaction = _ref5.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; - - if (dropState) { - dropState.activeDrops = null; - dropState.events = null; - dropState.cur.dropzone = null; - dropState.cur.element = null; - dropState.prev.dropzone = null; - dropState.prev.element = null; - dropState.rejected = false; - } - }); - /** - * - * ```js - * interact('.drop').dropzone({ - * accept: '.can-drop' || document.getElementById('single-drop'), - * overlap: 'pointer' || 'center' || zeroToOne - * } - * ``` - * - * Returns or sets whether draggables can be dropped onto this target to - * trigger drop events - * - * Dropzones can receive the following events: - * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends - * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone - * - `dragmove` when a draggable that has entered the dropzone is moved - * - `drop` when a draggable is dropped into this dropzone - * - * Use the `accept` option to allow only elements that match the given CSS - * selector or element. The value can be: - * - * - **an Element** - only that element can be dropped into this dropzone. - * - **a string**, - the element being dragged must match it as a CSS selector. - * - **`null`** - accept options is cleared - it accepts any element. - * - * Use the `overlap` option to set how drops are checked for. The allowed - * values are: - * - * - `'pointer'`, the pointer must be over the dropzone (default) - * - `'center'`, the draggable element's center must be over the dropzone - * - a number from 0-1 which is the `(intersection area) / (draggable area)`. - * e.g. `0.5` for drop to happen when half of the area of the draggable is - * over the dropzone - * - * Use the `checker` option to specify a function to check if a dragged element - * is over this Interactable. - * - * @param {boolean | object | null} [options] The new options to be set. - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.dropzone = function (options) { - return dropzoneMethod(this, options); - }; - /** - * ```js - * interact(target) - * .dropChecker(function(dragEvent, // related dragmove or dragend event - * event, // TouchEvent/PointerEvent/MouseEvent - * dropped, // bool result of the default checker - * dropzone, // dropzone Interactable - * dropElement, // dropzone elemnt - * draggable, // draggable Interactable - * draggableElement) {// draggable element - * - * return dropped && event.target.hasAttribute('allow-drop') - * } - * ``` - */ - - - Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { - return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); - }; - /** - * Returns or sets whether the dimensions of dropzone elements are calculated - * on every dragmove or only on dragstart for the default dropChecker - * - * @param {boolean} [newValue] True to check on each move. False to check only - * before start - * @return {boolean | interact} The current setting or interact - */ - - - interact.dynamicDrop = function (newValue) { - if (__utils_3.is.bool(newValue)) { - // if (dragging && scope.dynamicDrop !== newValue && !newValue) { - // calcRects(dropzones) - // } - scope.dynamicDrop = newValue; - return interact; - } - - return scope.dynamicDrop; - }; - - __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); - actions.methodDict.drop = 'dropzone'; - scope.dynamicDrop = false; - defaults.actions.drop = drop.defaults; -} - -function collectDrops(_ref6, draggableElement) { - var interactables = _ref6.interactables; - var drops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i = 0; _i < interactables.list.length; _i++) { - var _ref7; - - _ref7 = interactables.list[_i]; - var dropzone = _ref7; - - if (!dropzone.options.drop.enabled) { - continue; - } - - var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting - - 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({ - dropzone: dropzone, - draggableElement: draggableElement - })) { - continue; - } // query for new elements if necessary - - - var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; - - for (var _i2 = 0; _i2 < dropElements.length; _i2++) { - var _ref8; - - _ref8 = dropElements[_i2]; - var dropzoneElement = _ref8; - - if (dropzoneElement !== draggableElement) { - drops.push({ - dropzone: dropzone, - element: dropzoneElement - }); - } - } - } - - return drops; -} - -function fireActivationEvents(activeDrops, event) { - // loop through all active dropzones and trigger event - for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { - var _ref9; - - _ref9 = activeDrops[_i3]; - var _ref10 = _ref9, - dropzone = _ref10.dropzone, - element = _ref10.element; - event.dropzone = dropzone; // set current element as event target - - event.target = element; - dropzone.fire(event); - event.propagationStopped = event.immediatePropagationStopped = false; - } -} // return a new array of possible drops. getActiveDrops should always be -// called when a drag has just started or a drag event happens while -// dynamicDrop is true - - -function getActiveDrops(scope, dragElement) { - // get dropzones and their elements that could receive the draggable - var activeDrops = collectDrops(scope, dragElement); - - for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { - var _ref11; - - _ref11 = activeDrops[_i4]; - var activeDrop = _ref11; - activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); - } - - return activeDrops; -} - -function getDrop(_ref12, dragEvent, pointerEvent) { - var dropState = _ref12.dropState, - draggable = _ref12.interactable, - dragElement = _ref12.element; - var validDrops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { - var _ref13; - - _ref13 = dropState.activeDrops[_i5]; - var _ref14 = _ref13, - dropzone = _ref14.dropzone, - dropzoneElement = _ref14.element, - rect = _ref14.rect; - validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); - } // get the most appropriate dropzone based on DOM depth and order - - - var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); - return dropState.activeDrops[dropIndex] || null; -} - -function getDropEvents(interaction, _pointerEvent, dragEvent) { - var dropState = interaction.dropState; - var dropEvents = { - enter: null, - leave: null, - activate: null, - deactivate: null, - move: null, - drop: null - }; - - if (dragEvent.type === 'dragstart') { - dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); - dropEvents.activate.target = null; - dropEvents.activate.dropzone = null; - } - - if (dragEvent.type === 'dragend') { - dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); - dropEvents.deactivate.target = null; - dropEvents.deactivate.dropzone = null; - } - - if (dropState.rejected) { - return dropEvents; - } - - if (dropState.cur.element !== dropState.prev.element) { - // if there was a previous dropzone, create a dragleave event - if (dropState.prev.dropzone) { - dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); - dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; - dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; - } // if dropzone is not null, create a dragenter event - - - if (dropState.cur.dropzone) { - dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); - dragEvent.dragEnter = dropState.cur.element; - dragEvent.dropzone = dropState.cur.dropzone; - } - } - - if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { - dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); - dragEvent.dropzone = dropState.cur.dropzone; - dragEvent.relatedTarget = dropState.cur.element; - } - - if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { - dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); - dropEvents.move.dragmove = dragEvent; - dragEvent.dropzone = dropState.cur.dropzone; - } - - return dropEvents; -} - -function fireDropEvents(interaction, events) { - var dropState = interaction.dropState; - var activeDrops = dropState.activeDrops, - cur = dropState.cur, - prev = dropState.prev; - - if (events.leave) { - prev.dropzone.fire(events.leave); - } - - if (events.move) { - cur.dropzone.fire(events.move); - } - - if (events.enter) { - cur.dropzone.fire(events.enter); - } - - if (events.drop) { - cur.dropzone.fire(events.drop); - } - - if (events.deactivate) { - fireActivationEvents(activeDrops, events.deactivate); - } - - dropState.prev.dropzone = cur.dropzone; - dropState.prev.element = cur.element; -} - -function onEventCreated(_ref15, scope) { - var interaction = _ref15.interaction, - iEvent = _ref15.iEvent, - event = _ref15.event; - - if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { - return; - } - - var dropState = interaction.dropState; - - if (scope.dynamicDrop) { - dropState.activeDrops = getActiveDrops(scope, interaction.element); - } - - var dragEvent = iEvent; - var dropResult = getDrop(interaction, dragEvent, event); // update rejected status - - dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; - dropState.cur.dropzone = dropResult && dropResult.dropzone; - dropState.cur.element = dropResult && dropResult.element; - dropState.events = getDropEvents(interaction, event, dragEvent); -} - -function dropzoneMethod(interactable, options) { - if (__utils_3.is.object(options)) { - interactable.options.drop.enabled = options.enabled !== false; - - if (options.listeners) { - var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' - - var corrected = Object.keys(normalized).reduce(function (acc, type) { - var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; - acc[correctedType] = normalized[type]; - return acc; - }, {}); - interactable.off(interactable.options.drop.listeners); - interactable.on(corrected); - interactable.options.drop.listeners = corrected; - } - - if (__utils_3.is.func(options.ondrop)) { - interactable.on('drop', options.ondrop); - } - - if (__utils_3.is.func(options.ondropactivate)) { - interactable.on('dropactivate', options.ondropactivate); - } - - if (__utils_3.is.func(options.ondropdeactivate)) { - interactable.on('dropdeactivate', options.ondropdeactivate); - } - - if (__utils_3.is.func(options.ondragenter)) { - interactable.on('dragenter', options.ondragenter); - } - - if (__utils_3.is.func(options.ondragleave)) { - interactable.on('dragleave', options.ondragleave); - } - - if (__utils_3.is.func(options.ondropmove)) { - interactable.on('dropmove', options.ondropmove); - } - - if (/^(pointer|center)$/.test(options.overlap)) { - interactable.options.drop.overlap = options.overlap; - } else if (__utils_3.is.number(options.overlap)) { - interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); - } - - if ('accept' in options) { - interactable.options.drop.accept = options.accept; - } - - if ('checker' in options) { - interactable.options.drop.checker = options.checker; - } - - return interactable; - } - - if (__utils_3.is.bool(options)) { - interactable.options.drop.enabled = options; - return interactable; - } - - return interactable.options.drop; -} - -function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { - var dropped = false; // if the dropzone has no rect (eg. display: none) - // call the custom dropChecker or just return false - - if (!(rect = rect || interactable.getRect(dropElement))) { - return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; - } - - var dropOverlap = interactable.options.drop.overlap; - - if (dropOverlap === 'pointer') { - var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); - var page = __utils_3.pointer.getPageXY(dragEvent); - page.x += origin.x; - page.y += origin.y; - var horizontal = page.x > rect.left && page.x < rect.right; - var vertical = page.y > rect.top && page.y < rect.bottom; - dropped = horizontal && vertical; - } - - var dragRect = draggable.getRect(draggableElement); - - if (dragRect && dropOverlap === 'center') { - var cx = dragRect.left + dragRect.width / 2; - var cy = dragRect.top + dragRect.height / 2; - dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; - } - - if (dragRect && __utils_3.is.number(dropOverlap)) { - 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)); - var overlapRatio = overlapArea / (dragRect.width * dragRect.height); - dropped = overlapRatio >= dropOverlap; - } - - if (interactable.options.drop.checker) { - dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); - } - - return dropped; -} - -var drop = { - id: 'actions/drop', - install: __install_3, - getActiveDrops: getActiveDrops, - getDrop: getDrop, - getDropEvents: getDropEvents, - fireDropEvents: fireDropEvents, - defaults: { - enabled: false, - accept: null, - overlap: 'pointer' - } -}; -var ___default_3 = drop; -_$drop_3["default"] = ___default_3; - -var _$gesture_4 = {}; -"use strict"; - -Object.defineProperty(_$gesture_4, "__esModule", { - value: true -}); -_$gesture_4["default"] = void 0; - -var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); - -var ___scope_4 = _$scope_24({}); - -var __utils_4 = ___interopRequireWildcard_4(_$utils_56); - -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 }; } - -___scope_4.ActionName.Gesture = 'gesture'; - -function __install_4(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - /** - * ```js - * interact(element).gesturable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // limit multiple gestures. - * // See the explanation in {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isGestureable = interact(element).gesturable() - * ``` - * - * Gets or sets whether multitouch gestures can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on gesture events (makes the Interactable gesturable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of gesture events, or this Interactable - */ - - Interactable.prototype.gesturable = function (options) { - if (__utils_4.is.object(options)) { - this.options.gesture.enabled = options.enabled !== false; - this.setPerAction('gesture', options); - this.setOnEvents('gesture', options); - return this; - } - - if (__utils_4.is.bool(options)) { - this.options.gesture.enabled = options; - return this; - } - - return this.options.gesture; - }; - - interactions.signals.on('action-start', updateGestureProps); - interactions.signals.on('action-move', updateGestureProps); - interactions.signals.on('action-end', updateGestureProps); - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.gesture = { - angle: 0, - distance: 0, - scale: 1, - startAngle: 0, - startDistance: 0 - }; - }); - actions[___scope_4.ActionName.Gesture] = gesture; - actions.names.push(___scope_4.ActionName.Gesture); - __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); - actions.methodDict.gesture = 'gesturable'; - defaults.actions.gesture = gesture.defaults; -} - -var gesture = { - id: 'actions/gesture', - install: __install_4, - defaults: {}, - checker: function checker(_pointer, _event, _interactable, _element, interaction) { - if (interaction.pointers.length >= 2) { - return { - name: 'gesture' - }; - } - - return null; - }, - getCursor: function getCursor() { - return ''; - } -}; - -function updateGestureProps(_ref2) { - var interaction = _ref2.interaction, - iEvent = _ref2.iEvent, - event = _ref2.event, - phase = _ref2.phase; - - if (interaction.prepared.name !== 'gesture') { - return; - } - - var pointers = interaction.pointers.map(function (p) { - return p.pointer; - }); - var starting = phase === 'start'; - var ending = phase === 'end'; - var deltaSource = interaction.interactable.options.deltaSource; - iEvent.touches = [pointers[0], pointers[1]]; - - if (starting) { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = 1; - iEvent.ds = 0; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.da = 0; - interaction.gesture.startDistance = iEvent.distance; - interaction.gesture.startAngle = iEvent.angle; - } else if (ending || event instanceof ___InteractEvent_4["default"]) { - var prevEvent = interaction.prevEvent; - iEvent.distance = prevEvent.distance; - iEvent.box = prevEvent.box; - iEvent.scale = prevEvent.scale; - iEvent.ds = 0; - iEvent.angle = prevEvent.angle; - iEvent.da = 0; - } else { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = iEvent.distance / interaction.gesture.startDistance; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.ds = iEvent.scale - interaction.gesture.scale; - iEvent.da = iEvent.angle - interaction.gesture.angle; - } - - interaction.gesture.distance = iEvent.distance; - interaction.gesture.angle = iEvent.angle; - - if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { - interaction.gesture.scale = iEvent.scale; - } -} - -var ___default_4 = gesture; -_$gesture_4["default"] = ___default_4; - -var _$resize_6 = {}; -"use strict"; - -Object.defineProperty(_$resize_6, "__esModule", { - value: true -}); -_$resize_6["default"] = void 0; - -var ___scope_6 = _$scope_24({}); - -var __arr_6 = ___interopRequireWildcard_6(_$arr_47); - -var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); - -var ___extend_6 = ___interopRequireDefault_6(_$extend_53); - -var __is_6 = ___interopRequireWildcard_6(_$is_57); - -function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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'; - -function __install_6(scope) { - var actions = scope.actions, - browser = scope.browser, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; // Less Precision with touch input - - interactions.signals.on('new', function (interaction) { - interaction.resizeAxes = 'xy'; - }); - 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); - resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; - /** - * ```js - * interact(element).resizable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * edges: { - * top : true, // Use pointer coords to check for resize. - * left : false, // Disable resizing from left edge. - * bottom: '.resize-s',// Resize if pointer target matches selector - * right : handleEl // Resize if pointer target is the given Element - * }, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height are adjusted at a 1:1 ratio. - * square: false, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height maintain the aspect ratio they had when resizing started. - * preserveAspectRatio: false, - * - * // a value of 'none' will limit the resize rect to a minimum of 0x0 - * // 'negate' will allow the rect to have negative width/height - * // 'reposition' will keep the width/height positive by swapping - * // the top and bottom edges and/or swapping the left and right edges - * invert: 'none' || 'negate' || 'reposition' - * - * // limit multiple resizes. - * // See the explanation in the {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isResizeable = interact(element).resizable() - * ``` - * - * Gets or sets whether resize actions can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on resize events (object makes the Interactable - * resizable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of resize elements, or this Interactable - */ - - Interactable.prototype.resizable = function (options) { - return resizable(this, options, scope); - }; - - actions[___scope_6.ActionName.Resize] = resize; - actions.names.push(___scope_6.ActionName.Resize); - __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); - actions.methodDict.resize = 'resizable'; - defaults.actions.resize = resize.defaults; -} - -var resize = { - id: 'actions/resize', - install: __install_6, - defaults: { - square: false, - preserveAspectRatio: false, - axis: 'xy', - // use default margin - margin: NaN, - // object with props left, right, top, bottom which are - // true/false values to resize when the pointer is over that edge, - // CSS selectors to match the handles for each direction - // or the Elements for each handle - edges: null, - // a value of 'none' will limit the resize rect to a minimum of 0x0 - // 'negate' will alow the rect to have negative width/height - // 'reposition' will keep the width/height positive by swapping - // the top and bottom edges and/or swapping the left and right edges - invert: 'none' - }, - checker: function checker(_pointer, _event, interactable, element, interaction, rect) { - if (!rect) { - return null; - } - - var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); - var options = interactable.options; - - if (options.resize.enabled) { - var resizeOptions = options.resize; - var resizeEdges = { - left: false, - right: false, - top: false, - bottom: false - }; // if using resize.edges - - if (__is_6.object(resizeOptions.edges)) { - for (var edge in resizeEdges) { - resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); - } - - resizeEdges.left = resizeEdges.left && !resizeEdges.right; - resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; - - if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { - return { - name: 'resize', - edges: resizeEdges - }; - } - } else { - var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; - var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; - - if (right || bottom) { - return { - name: 'resize', - axes: (right ? 'x' : '') + (bottom ? 'y' : '') - }; - } - } - } - - return null; - }, - cursors: null, - getCursor: function getCursor(_ref) { - var edges = _ref.edges, - axis = _ref.axis, - name = _ref.name; - var cursors = resize.cursors; - var result = null; - - if (axis) { - result = cursors[name + axis]; - } else if (edges) { - var cursorKey = ''; - var _arr = ['top', 'bottom', 'left', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (edges[edge]) { - cursorKey += edge; - } - } - - result = cursors[cursorKey]; - } - - return result; - }, - defaultMargin: null -}; - -function resizable(interactable, options, scope) { - if (__is_6.object(options)) { - interactable.options.resize.enabled = options.enabled !== false; - interactable.setPerAction('resize', options); - interactable.setOnEvents('resize', options); - - if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { - interactable.options.resize.axis = options.axis; - } else if (options.axis === null) { - interactable.options.resize.axis = scope.defaults.actions.resize.axis; - } - - if (__is_6.bool(options.preserveAspectRatio)) { - interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; - } else if (__is_6.bool(options.square)) { - interactable.options.resize.square = options.square; - } - - return interactable; - } - - if (__is_6.bool(options)) { - interactable.options.resize.enabled = options; - return interactable; - } - - return interactable.options.resize; -} - -function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { - // false, '', undefined, null - if (!value) { - return false; - } // true value, use pointer coords and element rect - - - if (value === true) { - // if dimensions are negative, "switch" edges - var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; - var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension - - margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); - - if (width < 0) { - if (name === 'left') { - name = 'right'; - } else if (name === 'right') { - name = 'left'; - } - } - - if (height < 0) { - if (name === 'top') { - name = 'bottom'; - } else if (name === 'bottom') { - name = 'top'; - } - } - - if (name === 'left') { - return page.x < (width >= 0 ? rect.left : rect.right) + margin; - } - - if (name === 'top') { - return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; - } - - if (name === 'right') { - return page.x > (width >= 0 ? rect.right : rect.left) - margin; - } - - if (name === 'bottom') { - return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; - } - } // the remaining checks require an element - - - if (!__is_6.element(element)) { - return false; - } - - return __is_6.element(value) // the value is an element to use as a resize handle - ? value === element // otherwise check if element matches value as selector - : __dom_6.matchesUpTo(element, value, interactableElement); -} - -function initCursors(browser) { - return browser.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 start(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - 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 - * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make - * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend - * on the active edges and the edge being interacted with. - */ - - if (resizeOptions.square || resizeOptions.preserveAspectRatio) { - var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); - linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; - linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; - linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; - linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; - interaction.prepared._linkedEdges = linkedEdges; - } else { - interaction.prepared._linkedEdges = null; - } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize - - - if (resizeOptions.preserveAspectRatio) { - interaction.resizeStartAspectRatio = startRect.width / startRect.height; - } - - interaction.resizeRects = { - start: 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: { - left: 0, - right: 0, - width: 0, - top: 0, - bottom: 0, - height: 0 - } - }; - iEvent.edges = interaction.prepared.edges; - iEvent.rect = interaction.resizeRects.inverted; - iEvent.deltaRect = interaction.resizeRects.delta; -} - -function __move_6(_ref3) { - var iEvent = _ref3.iEvent, - interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - var resizeOptions = interaction.interactable.options.resize; - var invert = resizeOptions.invert; - var invertible = invert === 'reposition' || invert === 'negate'; - var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow - - var start = interaction.resizeRects.start; - var current = interaction.resizeRects.current; - var inverted = interaction.resizeRects.inverted; - var deltaRect = interaction.resizeRects.delta; - var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); - var originalEdges = edges; - var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); - - if (resizeOptions.preserveAspectRatio || resizeOptions.square) { - // `resize.preserveAspectRatio` takes precedence over `resize.square` - var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; - edges = interaction.prepared._linkedEdges; - - if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { - eventDelta.y = -eventDelta.x / startAspectRatio; - } else if (originalEdges.left || originalEdges.right) { - eventDelta.y = eventDelta.x / startAspectRatio; - } else if (originalEdges.top || originalEdges.bottom) { - eventDelta.x = eventDelta.y * startAspectRatio; - } - } // update the 'current' rect without modifications - - - if (edges.top) { - current.top += eventDelta.y; - } - - if (edges.bottom) { - current.bottom += eventDelta.y; - } - - if (edges.left) { - current.left += eventDelta.x; - } - - if (edges.right) { - current.right += eventDelta.x; - } - - if (invertible) { - // if invertible, copy the current rect - (0, ___extend_6["default"])(inverted, current); - - if (invert === 'reposition') { - // swap edge values if necessary to keep width/height positive - var swap; - - if (inverted.top > inverted.bottom) { - swap = inverted.top; - inverted.top = inverted.bottom; - inverted.bottom = swap; - } - - if (inverted.left > inverted.right) { - swap = inverted.left; - inverted.left = inverted.right; - inverted.right = swap; - } - } - } else { - // if not invertible, restrict to minimum of 0x0 rect - inverted.top = Math.min(current.top, start.bottom); - inverted.bottom = Math.max(current.bottom, start.top); - inverted.left = Math.min(current.left, start.right); - inverted.right = Math.max(current.right, start.left); - } - - inverted.width = inverted.right - inverted.left; - inverted.height = inverted.bottom - inverted.top; - - for (var edge in inverted) { - deltaRect[edge] = inverted[edge] - previous[edge]; - } - - iEvent.edges = interaction.prepared.edges; - iEvent.rect = inverted; - iEvent.deltaRect = deltaRect; -} - -function end(_ref4) { - var iEvent = _ref4.iEvent, - interaction = _ref4.interaction; - - 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; - } - - var options = interaction.interactable.options; - - if (options.resize.square) { - if (interaction.resizeAxes === 'y') { - iEvent.delta.x = iEvent.delta.y; - } else { - iEvent.delta.y = iEvent.delta.x; - } - - iEvent.axes = 'xy'; - } else { - iEvent.axes = interaction.resizeAxes; - - if (interaction.resizeAxes === 'x') { - iEvent.delta.y = 0; - } else if (interaction.resizeAxes === 'y') { - iEvent.delta.x = 0; - } - } -} - -var ___default_6 = resize; -_$resize_6["default"] = ___default_6; - -var _$actions_5 = {}; -"use strict"; - -Object.defineProperty(_$actions_5, "__esModule", { - value: true -}); -_$actions_5.install = __install_5; -Object.defineProperty(_$actions_5, "drag", { - enumerable: true, - get: function get() { - return ___drag_5["default"]; - } -}); -Object.defineProperty(_$actions_5, "drop", { - enumerable: true, - get: function get() { - return _drop["default"]; - } -}); -Object.defineProperty(_$actions_5, "gesture", { - enumerable: true, - get: function get() { - return _gesture["default"]; - } -}); -Object.defineProperty(_$actions_5, "resize", { - enumerable: true, - get: function get() { - return _resize["default"]; - } -}); -_$actions_5.id = void 0; - -var ___drag_5 = ___interopRequireDefault_5(_$drag_1); - -var _drop = ___interopRequireDefault_5(_$drop_3); - -var _gesture = ___interopRequireDefault_5(_$gesture_4); - -var _resize = ___interopRequireDefault_5(_$resize_6); - -function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_5(scope) { - scope.usePlugin(_gesture["default"]); - scope.usePlugin(_resize["default"]); - scope.usePlugin(___drag_5["default"]); - scope.usePlugin(_drop["default"]); -} - -var id = 'actions'; -_$actions_5.id = id; - -var _$autoScroll_7 = {}; -"use strict"; - -Object.defineProperty(_$autoScroll_7, "__esModule", { - value: true -}); -_$autoScroll_7.getContainer = getContainer; -_$autoScroll_7.getScroll = getScroll; -_$autoScroll_7.getScrollSize = getScrollSize; -_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; -_$autoScroll_7["default"] = void 0; - -var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); - -var __is_7 = ___interopRequireWildcard_7(_$is_57); - -var ___raf_7 = ___interopRequireDefault_7(_$raf_62); - -/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - defaults = scope.defaults, - actions = scope.actions; - scope.autoScroll = autoScroll; - - autoScroll.now = function () { - return scope.now(); - }; - - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.autoScroll = null; - }); - interactions.signals.on('destroy', function (_ref2) { - var interaction = _ref2.interaction; - interaction.autoScroll = null; - autoScroll.stop(); - - if (autoScroll.interaction) { - autoScroll.interaction = null; - } - }); - interactions.signals.on('stop', autoScroll.stop); - interactions.signals.on('action-move', function (arg) { - return autoScroll.onInteractionMove(arg); - }); - actions.eventTypes.push('autoscroll'); - defaults.perAction.autoScroll = autoScroll.defaults; -} - -var autoScroll = { - defaults: { - enabled: false, - margin: 60, - // the item that is scrolled (Window or HTMLElement) - container: null, - // the scroll speed in pixels per second - speed: 300 - }, - now: Date.now, - interaction: null, - i: null, - x: 0, - y: 0, - isScrolling: false, - prevTime: 0, - margin: 0, - speed: 0, - start: function start(interaction) { - autoScroll.isScrolling = true; - - ___raf_7["default"].cancel(autoScroll.i); - - interaction.autoScroll = autoScroll; - autoScroll.interaction = interaction; - autoScroll.prevTime = autoScroll.now(); - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - }, - stop: function stop() { - autoScroll.isScrolling = false; - - if (autoScroll.interaction) { - autoScroll.interaction.autoScroll = null; - } - - ___raf_7["default"].cancel(autoScroll.i); - }, - // scroll the window by the values in scroll.x/y - scroll: function scroll() { - var interaction = autoScroll.interaction; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - var now = autoScroll.now(); // change in time in seconds - - var dt = (now - autoScroll.prevTime) / 1000; // displacement - - var s = options.speed * dt; - - if (s >= 1) { - var scrollBy = { - x: autoScroll.x * s, - y: autoScroll.y * s - }; - - if (scrollBy.x || scrollBy.y) { - var prevScroll = getScroll(container); - - if (__is_7.window(container)) { - container.scrollBy(scrollBy.x, scrollBy.y); - } else if (container) { - container.scrollLeft += scrollBy.x; - container.scrollTop += scrollBy.y; - } - - var curScroll = getScroll(container); - var delta = { - x: curScroll.x - prevScroll.x, - y: curScroll.y - prevScroll.y - }; - - if (delta.x || delta.y) { - interactable.fire({ - type: 'autoscroll', - target: element, - interactable: interactable, - delta: delta, - interaction: interaction, - container: container - }); - } - } - - autoScroll.prevTime = now; - } - - if (autoScroll.isScrolling) { - ___raf_7["default"].cancel(autoScroll.i); - - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - } - }, - check: function check(interactable, actionName) { - var options = interactable.options; - return options[actionName].autoScroll && options[actionName].autoScroll.enabled; - }, - onInteractionMove: function onInteractionMove(_ref3) { - var interaction = _ref3.interaction, - pointer = _ref3.pointer; - - if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { - return; - } - - if (interaction.simulation) { - autoScroll.x = autoScroll.y = 0; - return; - } - - var top; - var right; - var bottom; - var left; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - - if (__is_7.window(container)) { - left = pointer.clientX < autoScroll.margin; - top = pointer.clientY < autoScroll.margin; - right = pointer.clientX > container.innerWidth - autoScroll.margin; - bottom = pointer.clientY > container.innerHeight - autoScroll.margin; - } else { - var rect = __domUtils_7.getElementClientRect(container); - left = pointer.clientX < rect.left + autoScroll.margin; - top = pointer.clientY < rect.top + autoScroll.margin; - right = pointer.clientX > rect.right - autoScroll.margin; - bottom = pointer.clientY > rect.bottom - autoScroll.margin; - } - - autoScroll.x = right ? 1 : left ? -1 : 0; - autoScroll.y = bottom ? 1 : top ? -1 : 0; - - if (!autoScroll.isScrolling) { - // set the autoScroll properties to those of the target - autoScroll.margin = options.margin; - autoScroll.speed = options.speed; - autoScroll.start(interaction); - } - } -}; - -function getContainer(value, interactable, element) { - return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); -} - -function getScroll(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollLeft, - y: container.scrollTop - }; -} - -function getScrollSize(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollWidth, - y: container.scrollHeight - }; -} - -function getScrollSizeDelta(_ref4, func) { - var interaction = _ref4.interaction, - element = _ref4.element; - var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; - - if (!scrollOptions || !scrollOptions.enabled) { - func(); - return { - x: 0, - y: 0 - }; - } - - var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); - var prevSize = getScroll(scrollContainer); - func(); - var curSize = getScroll(scrollContainer); - return { - x: curSize.x - prevSize.x, - y: curSize.y - prevSize.y - }; -} - -var ___default_7 = { - id: 'auto-scroll', - install: __install_7 -}; -_$autoScroll_7["default"] = ___default_7; - -var _$InteractableMethods_8 = {}; -"use strict"; - -Object.defineProperty(_$InteractableMethods_8, "__esModule", { - value: true -}); -_$InteractableMethods_8["default"] = void 0; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -var __is_8 = ___interopRequireWildcard_8(_$is_57); - -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, - actions = scope.actions; - Interactable.prototype.getAction = getAction; - /** - * ```js - * interact(element, { ignoreFrom: document.getElementById('no-action') }) - * // or - * interact(element).ignoreFrom('input, textarea, a') - * ``` - * @deprecated - * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any - * of it's parents match the given CSS selector or Element, no - * drag/resize/gesture is started. - * - * Don't use this method. Instead set the `ignoreFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .draggable({ - * ignoreFrom: 'input, textarea, a[href]'', - * }) - * .pointerEvents({ - * ignoreFrom: '[no-pointer]', - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to not ignore any elements - * @return {string | Element | object} The current ignoreFrom value or this - * Interactable - */ - - Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('ignoreFrom', newValue); - }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); - /** - * @deprecated - * - * A drag/resize/gesture is started only If the target of the `mousedown`, - * `pointerdown` or `touchstart` event or any of it's parents match the given - * CSS selector or Element. - * - * Don't use this method. Instead set the `allowFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .resizable({ - * allowFrom: '.resize-handle', - * .pointerEvents({ - * allowFrom: '.handle',, - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to allow from any element - * @return {string | Element | object} The current allowFrom value or this - * Interactable - */ - - Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('allowFrom', newValue); - }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); - /** - * ```js - * interact('.resize-drag') - * .resizable(true) - * .draggable(true) - * .actionChecker(function (pointer, event, action, interactable, element, interaction) { - * - * if (interact.matchesSelector(event.target, '.drag-handle')) { - * // force drag with handle target - * action.name = drag - * } - * else { - * // resize from the top and right edges - * action.name = 'resize' - * action.edges = { top: true, right: true } - * } - * - * return action - * }) - * ``` - * - * Returns or sets the function used to check action to be performed on - * pointerDown - * - * @param {function | null} [checker] A function which takes a pointer event, - * defaultAction string, interactable, element and interaction as parameters - * and returns an object with name property 'drag' 'resize' or 'gesture' and - * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right - * props. - * @return {Function | Interactable} The checker function or this Interactable - */ - - Interactable.prototype.actionChecker = actionChecker; - /** - * Returns or sets whether the the cursor should be changed depending on the - * action that would be performed if the mouse were pressed and dragged. - * - * @param {boolean} [newValue] - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.styleCursor = styleCursor; - - Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { - return defaultActionChecker(this, pointer, event, interaction, element, actions); - }; -} - -function getAction(pointer, event, interaction, element) { - var action = this.defaultActionChecker(pointer, event, interaction, element); - - if (this.options.actionChecker) { - return this.options.actionChecker(pointer, event, action, this, element, interaction); - } - - return action; -} - -function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { - var rect = interactable.getRect(element); - var buttons = event.buttons || { - 0: 1, - 1: 4, - 3: 8, - 4: 16 - }[event.button]; - var action = null; - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - - // check mouseButton setting if the pointer is down - if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { - continue; - } - - action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); - - if (action) { - return action; - } - } -} - -function styleCursor(newValue) { - if (__is_8.bool(newValue)) { - this.options.styleCursor = newValue; - return this; - } - - if (newValue === null) { - delete this.options.styleCursor; - return this; - } - - return this.options.styleCursor; -} - -function actionChecker(checker) { - if (__is_8.func(checker)) { - this.options.actionChecker = checker; - return this; - } - - if (checker === null) { - delete this.options.actionChecker; - return this; - } - - return this.options.actionChecker; -} - -var ___default_8 = { - id: 'auto-start/interactableMethods', - install: __install_8 -}; -_$InteractableMethods_8["default"] = ___default_8; - -var _$base_9 = {}; -"use strict"; - -Object.defineProperty(_$base_9, "__esModule", { - value: true -}); -_$base_9["default"] = void 0; - -var __utils_9 = ___interopRequireWildcard_9(_$utils_56); - -var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); - -function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown - - interactions.signals.on('down', function (_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget; - - if (interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); // set cursor style on mousemove - - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - pointer = _ref2.pointer, - event = _ref2.event, - eventTarget = _ref2.eventTarget; - - if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); - interactions.signals.on('move', function (arg) { - var interaction = arg.interaction; - - if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { - return; - } - - scope.autoStart.signals.fire('before-start', arg); - var interactable = interaction.interactable; - - if (interaction.prepared.name && interactable) { - // check manualStart and interaction limit - if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { - interaction.stop(); - } else { - interaction.start(interaction.prepared, interactable, interaction.element); - setInteractionCursor(interaction, scope); - } - } - }); - interactions.signals.on('stop', function (_ref3) { - var interaction = _ref3.interaction; - var interactable = interaction.interactable; - - if (interactable && interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - }); - defaults.base.actionChecker = null; - defaults.base.styleCursor = true; - __utils_9.extend(defaults.perAction, { - manualStart: false, - max: Infinity, - maxPerElement: 1, - allowFrom: null, - ignoreFrom: null, - // only allow left button by default - // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value - mouseButtons: 1 - }); - /** - * Returns or sets the maximum number of concurrent interactions allowed. By - * default only 1 interaction is allowed at a time (for backwards - * compatibility). To allow multiple interactions on the same Interactables and - * elements, you need to enable it in the draggable, resizable and gesturable - * `'max'` and `'maxPerElement'` options. - * - * @alias module:interact.maxInteractions - * - * @param {number} [newValue] Any number. newValue <= 0 means no interactions. - */ - - interact.maxInteractions = function (newValue) { - return maxInteractions(newValue, scope); - }; - - scope.autoStart = { - // Allow this many interactions to happen simultaneously - maxInteractions: Infinity, - withinInteractionLimit: withinInteractionLimit, - cursorElement: null, - signals: new __utils_9.Signals() - }; -} // Check if the current interactable supports the action. -// If so, return the validated action. Otherwise, return null - - -function validateAction(action, interactable, element, eventTarget, scope) { - if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { - return action; - } - - return null; -} - -function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { - for (var i = 0, len = matches.length; i < len; i++) { - var match = matches[i]; - var matchElement = matchElements[i]; - var matchAction = match.getAction(pointer, event, interaction, matchElement); - - if (!matchAction) { - continue; - } - - var action = validateAction(matchAction, match, matchElement, eventTarget, scope); - - if (action) { - return { - action: action, - interactable: match, - element: matchElement - }; - } - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function getActionInfo(interaction, pointer, event, eventTarget, scope) { - var matches = []; - var matchElements = []; - var element = eventTarget; - - function pushMatches(interactable) { - matches.push(interactable); - matchElements.push(element); - } - - while (__utils_9.is.element(element)) { - matches = []; - matchElements = []; - scope.interactables.forEachMatch(element, pushMatches); - var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); - - if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { - return actionInfo; - } - - element = __utils_9.dom.parentNode(element); - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function prepare(interaction, _ref4, scope) { - var action = _ref4.action, - interactable = _ref4.interactable, - element = _ref4.element; - action = action || { - name: null - }; // clear previous target element cursor - - if (interaction.interactable && interaction.interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - - interaction.interactable = interactable; - interaction.element = element; - __utils_9.copyAction(interaction.prepared, action); - interaction.rect = interactable && action.name ? interactable.getRect(element) : null; - setInteractionCursor(interaction, scope); - scope.autoStart.signals.fire('prepared', { - interaction: interaction - }); -} - -function withinInteractionLimit(interactable, element, action, scope) { - var options = interactable.options; - var maxActions = options[action.name].max; - var maxPerElement = options[action.name].maxPerElement; - var autoStartMax = scope.autoStart.maxInteractions; - var activeInteractions = 0; - var interactableCount = 0; - var elementCount = 0; // no actions if any of these values == 0 - - if (!(maxActions && maxPerElement && autoStartMax)) { - return false; - } - - for (var _i = 0; _i < scope.interactions.list.length; _i++) { - var _ref5; - - _ref5 = scope.interactions.list[_i]; - var interaction = _ref5; - var otherAction = interaction.prepared.name; - - if (!interaction.interacting()) { - continue; - } - - activeInteractions++; - - if (activeInteractions >= autoStartMax) { - return false; - } - - if (interaction.interactable !== interactable) { - continue; - } - - interactableCount += otherAction === action.name ? 1 : 0; - - if (interactableCount >= maxActions) { - return false; - } - - if (interaction.element === element) { - elementCount++; - - if (otherAction === action.name && elementCount >= maxPerElement) { - return false; - } - } - } - - return autoStartMax > 0; -} - -function maxInteractions(newValue, scope) { - if (__utils_9.is.number(newValue)) { - scope.autoStart.maxInteractions = newValue; - return this; - } - - return scope.autoStart.maxInteractions; -} - -function setCursor(element, cursor, scope) { - if (scope.autoStart.cursorElement) { - scope.autoStart.cursorElement.style.cursor = ''; - } - - element.ownerDocument.documentElement.style.cursor = cursor; - element.style.cursor = cursor; - 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, - maxInteractions: maxInteractions, - withinInteractionLimit: withinInteractionLimit, - validateAction: validateAction -}; -_$base_9["default"] = ___default_9; - -var _$dragAxis_10 = {}; -"use strict"; - -Object.defineProperty(_$dragAxis_10, "__esModule", { - value: true -}); -_$dragAxis_10["default"] = void 0; - -var ___scope_10 = _$scope_24({}); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var __is_10 = ___interopRequireWildcard_10(_$is_57); - -var _base = ___interopRequireDefault_10(_$base_9); - -function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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) { - var interaction = _ref.interaction, - eventTarget = _ref.eventTarget, - dx = _ref.dx, - dy = _ref.dy; - - if (interaction.prepared.name !== 'drag') { - return; - } // check if a drag is in the correct axis - - - var absX = Math.abs(dx); - var absY = Math.abs(dy); - var targetOptions = interaction.interactable.options.drag; - var startAxis = targetOptions.startAxis; - var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; - interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' - : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable - - if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { - // cancel the prepared action - interaction.prepared.name = null; // then try to get a drag from another ineractable - - var element = eventTarget; - - var getDraggable = function getDraggable(interactable) { - if (interactable === interaction.interactable) { - return; - } - - var options = interaction.interactable.options.drag; - - if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { - var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); - - if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { - return interactable; - } - } - }; // check all interactables - - - while (__is_10.element(element)) { - var interactable = scope.interactables.forEachMatch(element, getDraggable); - - if (interactable) { - interaction.prepared.name = ___scope_10.ActionName.Drag; - interaction.interactable = interactable; - interaction.element = element; - break; - } - - element = (0, _$domUtils_51.parentNode)(element); - } - } - }); - - function checkStartAxis(startAxis, interactable) { - if (!interactable) { - return false; - } - - var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; - return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; - } -} - -var ___default_10 = { - id: 'auto-start/dragAxis', - install: __install_10 -}; -_$dragAxis_10["default"] = ___default_10; - -var _$hold_11 = {}; -"use strict"; - -Object.defineProperty(_$hold_11, "__esModule", { - value: true -}); -_$hold_11["default"] = void 0; - -var ___base_11 = ___interopRequireDefault_11(_$base_9); - -function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_11(scope) { - var autoStart = scope.autoStart, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(___base_11["default"]); - defaults.perAction.hold = 0; - defaults.perAction.delay = 0; - interactions.signals.on('new', function (interaction) { - interaction.autoStartHoldTimer = null; - }); - autoStart.signals.on('prepared', function (_ref) { - var interaction = _ref.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.autoStartHoldTimer = setTimeout(function () { - interaction.start(interaction.prepared, interaction.interactable, interaction.element); - }, hold); - } - }); - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - duplicate = _ref2.duplicate; - - if (interaction.pointerWasMoved && !duplicate) { - clearTimeout(interaction.autoStartHoldTimer); - } - }); // prevent regular down->move autoStart - - autoStart.signals.on('before-start', function (_ref3) { - var interaction = _ref3.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.prepared.name = null; - } - }); -} - -function getHoldDuration(interaction) { - var actionName = interaction.prepared && interaction.prepared.name; - - if (!actionName) { - return null; - } - - var options = interaction.interactable.options; - return options[actionName].hold || options[actionName].delay; -} - -var ___default_11 = { - id: 'auto-start/hold', - install: __install_11, - getHoldDuration: getHoldDuration -}; -_$hold_11["default"] = ___default_11; - -var _$autoStart_12 = {}; -"use strict"; - -Object.defineProperty(_$autoStart_12, "__esModule", { - value: true -}); -_$autoStart_12.install = __install_12; -Object.defineProperty(_$autoStart_12, "autoStart", { - enumerable: true, - get: function get() { - return ___base_12["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "dragAxis", { - enumerable: true, - get: function get() { - return _dragAxis["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "hold", { - enumerable: true, - get: function get() { - return _hold["default"]; - } -}); -_$autoStart_12.id = void 0; - -var ___base_12 = ___interopRequireDefault_12(_$base_9); - -var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); - -var _hold = ___interopRequireDefault_12(_$hold_11); - -function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_12(scope) { - scope.usePlugin(___base_12["default"]); - scope.usePlugin(_hold["default"]); - scope.usePlugin(_dragAxis["default"]); -} - -var __id_12 = 'auto-start'; -_$autoStart_12.id = __id_12; - -var _$interactablePreventDefault_21 = {}; -"use strict"; - -Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { - value: true -}); -_$interactablePreventDefault_21.install = __install_21; -_$interactablePreventDefault_21["default"] = void 0; - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_21 = ___interopRequireDefault_21(_$events_52); - -var __is_21 = ___interopRequireWildcard_21(_$is_57); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -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 }; } - -function preventDefault(newValue) { - if (/^(always|never|auto)$/.test(newValue)) { - this.options.preventDefault = newValue; - return this; - } - - if (__is_21.bool(newValue)) { - this.options.preventDefault = newValue ? 'always' : 'never'; - return this; - } - - return this.options.preventDefault; -} - -function checkAndPreventDefault(interactable, scope, event) { - var setting = interactable.options.preventDefault; - - if (setting === 'never') { - return; - } - - if (setting === 'always') { - event.preventDefault(); - return; - } // setting === 'auto' - // if the browser supports passive event listeners and isn't running on iOS, - // don't preventDefault of touch{start,move} events. CSS touch-action and - // user-select should be used instead of calling event.preventDefault(). - - - if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { - var doc = (0, _$window_66.getWindow)(event.target).document; - var docOptions = scope.getDocOptions(doc); - - if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { - return; - } - } // don't preventDefault of pointerdown events - - - if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { - return; - } // don't preventDefault on editable elements - - - if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { - return; - } - - event.preventDefault(); -} - -function onInteractionEvent(_ref) { - var interaction = _ref.interaction, - event = _ref.event; - - if (interaction.interactable) { - interaction.interactable.checkAndPreventDefault(event); - } -} - -function __install_21(scope) { - /** @lends Interactable */ - var Interactable = scope.Interactable; - /** - * Returns or sets whether to prevent the browser's default behaviour in - * response to pointer events. Can be set to: - * - `'always'` to always prevent - * - `'never'` to never prevent - * - `'auto'` to let interact.js try to determine what would be best - * - * @param {string} [newValue] `'always'`, `'never'` or `'auto'` - * @return {string | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.preventDefault = preventDefault; - - Interactable.prototype.checkAndPreventDefault = function (event) { - return checkAndPreventDefault(this, scope, event); - }; - - var _arr = ['down', 'move', 'up', 'cancel']; - - for (var _i = 0; _i < _arr.length; _i++) { - var eventSignal = _arr[_i]; - scope.interactions.signals.on(eventSignal, onInteractionEvent); - } // prevent native HTML5 drag on interact.js target elements - - - scope.interactions.docEvents.push({ - type: 'dragstart', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - - if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { - interaction.interactable.checkAndPreventDefault(event); - return; - } - } - } - }); -} - -var ___default_21 = { - id: 'core/interactablePreventDefault', - install: __install_21 -}; -_$interactablePreventDefault_21["default"] = ___default_21; - -var _$devTools_25 = {}; -"use strict"; - -Object.defineProperty(_$devTools_25, "__esModule", { - value: true -}); -_$devTools_25["default"] = void 0; - -var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___extend_25 = ___interopRequireDefault_25(_$extend_53); - -var __is_25 = ___interopRequireWildcard_25(_$is_57); - -var ___window_25 = ___interopRequireDefault_25(_$window_66); - -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 }; } - -function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } - -function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -var CheckName; - -(function (CheckName) { - CheckName["touchAction"] = ""; - CheckName["boxSizing"] = ""; - CheckName["noListeners"] = ""; -})(CheckName || (CheckName = {})); - -var prefix = '[interact.js] '; -var links = { - touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', - boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' -}; -var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax - -function __install_25(scope) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - logger = _ref.logger; - - var interactions = scope.interactions, - Interactable = scope.Interactable, - defaults = scope.defaults; - logger = logger || console; - interactions.signals.on('action-start', function (_ref2) { - var interaction = _ref2.interaction; - - for (var _i = 0; _i < checks.length; _i++) { - var _ref3; - - _ref3 = checks[_i]; - var check = _ref3; - var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; - - if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { - var _logger; - - (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); - } - } - }); - defaults.base.devTools = { - ignore: {} - }; - - Interactable.prototype.devTools = function (options) { - if (options) { - (0, ___extend_25["default"])(this.options.devTools, options); - return this; - } - - return this.options.devTools; - }; -} - -var checks = [{ - name: 'touchAction', - perform: function perform(_ref4) { - var element = _ref4.element; - return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); - }, - getInfo: function getInfo(_ref5) { - var element = _ref5.element; - return [element, links.touchAction]; - }, - text: 'Consider adding CSS "touch-action: none" to this element\n' -}, { - name: 'boxSizing', - perform: function perform(interaction) { - var element = interaction.element; - return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); - }, - text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', - getInfo: function getInfo(_ref6) { - var element = _ref6.element; - return [element, links.boxSizing]; - } -}, { - name: 'noListeners', - perform: function perform(interaction) { - var actionName = interaction.prepared.name; - var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; - return !moveListeners.length; - }, - getInfo: function getInfo(interaction) { - return [interaction.prepared.name, interaction.interactable]; - }, - text: 'There are no listeners set for this action' -}]; - -function hasStyle(element, prop, styleRe) { - return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); -} - -function parentHasStyle(element, prop, styleRe) { - var parent = element; - - while (__is_25.element(parent)) { - if (hasStyle(parent, prop, styleRe)) { - return true; - } - - parent = (0, _$domUtils_51.parentNode)(parent); - } - - return false; -} - -var __id_25 = 'dev-tools'; -var defaultExport = isProduction ? { - id: __id_25, - install: function install() {} -} : { - id: __id_25, - install: __install_25, - checks: checks, - CheckName: CheckName, - links: links, - prefix: prefix -}; -var ___default_25 = defaultExport; -_$devTools_25["default"] = ___default_25; - -var _$base_30 = {}; -"use strict"; - -Object.defineProperty(_$base_30, "__esModule", { - value: true -}); -_$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; - -var ___extend_30 = ___interopRequireDefault_30(_$extend_53); - -function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } - -function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __install_30(scope) { - var interactions = scope.interactions; - scope.defaults.perAction.modifiers = []; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.modifiers = { - startOffset: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - offsets: {}, - states: null, - result: null, - endPrevented: false, - startDelta: null - }; - }); - interactions.signals.on('before-action-start', function (arg) { - __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, arg.interaction.modifiers.result.coords); - __beforeMove_30(arg); - }); - interactions.signals.on('after-action-move', restoreCoords); - interactions.signals.on('before-action-move', __beforeMove_30); - interactions.signals.on('before-action-start', setCoords); - interactions.signals.on('after-action-start', restoreCoords); - interactions.signals.on('before-action-end', beforeEnd); - interactions.signals.on('stop', stop); -} - -function __start_30(_ref2, pageCoords, prevCoords) { - var interaction = _ref2.interaction, - phase = _ref2.phase; - var interactable = interaction.interactable, - element = interaction.element; - var modifierList = getModifierList(interaction); - var states = prepareStates(modifierList); - var rect = (0, ___extend_30["default"])({}, interaction.rect); - - if (!('width' in rect)) { - rect.width = rect.right - rect.left; - } - - if (!('height' in rect)) { - rect.height = rect.bottom - rect.top; - } - - var startOffset = getRectOffset(rect, pageCoords); - interaction.modifiers.startOffset = startOffset; - interaction.modifiers.startDelta = { - x: 0, - y: 0 - }; - var arg = { - interaction: interaction, - interactable: interactable, - element: element, - pageCoords: pageCoords, - phase: phase, - rect: rect, - startOffset: startOffset, - states: states, - preEnd: 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); - var result = interaction.modifiers.result = setAll(arg); - return result; -} - -function startAll(arg) { - var states = arg.states; - - for (var _i = 0; _i < states.length; _i++) { - var _ref3; - - _ref3 = states[_i]; - var state = _ref3; - - if (state.methods.start) { - arg.state = state; - state.methods.start(arg); - } - } -} - -function setAll(arg) { - var prevCoords = arg.prevCoords, - phase = arg.phase, - preEnd = arg.preEnd, - requireEndOnly = arg.requireEndOnly, - rect = arg.rect, - states = arg.states; - arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); - arg.rect = (0, ___extend_30["default"])({}, rect); - var result = { - delta: { - x: 0, - y: 0 - }, - rectDelta: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - coords: arg.coords, - changed: true - }; - - for (var _i2 = 0; _i2 < states.length; _i2++) { - var _ref4; - - _ref4 = states[_i2]; - var state = _ref4; - var options = state.options; - - if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { - continue; - } - - arg.state = state; - state.methods.set(arg); - } - - result.delta.x = arg.coords.x - arg.pageCoords.x; - result.delta.y = arg.coords.y - arg.pageCoords.y; - var rectChanged = false; - - if (rect) { - result.rectDelta.left = arg.rect.left - rect.left; - result.rectDelta.right = arg.rect.right - rect.right; - result.rectDelta.top = arg.rect.top - rect.top; - result.rectDelta.bottom = arg.rect.bottom - rect.bottom; - rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; - } - - result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; - return result; -} - -function __beforeMove_30(arg) { - var interaction = arg.interaction, - phase = arg.phase, - preEnd = arg.preEnd, - 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: arg.modifiedCoords || interaction.coords.cur.page, - prevCoords: prevCoords, - rect: interaction.rect, - 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 - - if (!modifierResult.changed && interaction.interacting()) { - 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); -} - -function beforeEnd(arg) { - var interaction = arg.interaction, - event = arg.event, - noPreEnd = arg.noPreEnd; - var states = interaction.modifiers.states; - - if (noPreEnd || !states || !states.length) { - return; - } - - var didPreEnd = false; - - for (var _i3 = 0; _i3 < states.length; _i3++) { - var _ref5; - - _ref5 = states[_i3]; - var state = _ref5; - arg.state = state; - var options = state.options, - methods = state.methods; - var endResult = methods.beforeEnd && methods.beforeEnd(arg); - - if (endResult === false) { - interaction.modifiers.endPrevented = true; - return false; - } // if the endOnly option is true for any modifier - - - if (!didPreEnd && shouldDo(options, true, true)) { - // fire a move event at the modified coordinates - interaction.move({ - event: event, - preEnd: true - }); - didPreEnd = true; - } - } -} - -function stop(arg) { - var interaction = arg.interaction; - var states = interaction.modifiers.states; - - if (!states || !states.length) { - return; - } - - var modifierArg = (0, ___extend_30["default"])({ - states: states, - interactable: interaction.interactable, - element: interaction.element, - rect: null - }, arg); - - for (var _i4 = 0; _i4 < states.length; _i4++) { - var _ref6; - - _ref6 = states[_i4]; - var state = _ref6; - modifierArg.state = state; - - if (state.methods.stop) { - state.methods.stop(modifierArg); - } - } - - arg.interaction.modifiers.states = null; - arg.interaction.modifiers.endPrevented = false; -} - -function getModifierList(interaction) { - var actionOptions = interaction.interactable.options[interaction.prepared.name]; - var actionModifiers = actionOptions.modifiers; - - if (actionModifiers && actionModifiers.length) { - return actionModifiers.filter(function (modifier) { - return !modifier.options || modifier.options.enabled !== false; - }); - } - - return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { - var options = actionOptions[type]; - return options && options.enabled && { - options: options, - methods: options._methods - }; - }).filter(function (m) { - return !!m; - }); -} - -function prepareStates(modifierList) { - var states = []; - - for (var index = 0; index < modifierList.length; index++) { - var _modifierList$index = modifierList[index], - options = _modifierList$index.options, - methods = _modifierList$index.methods, - name = _modifierList$index.name; - - if (options && options.enabled === false) { - continue; - } - - states.push({ - options: options, - methods: methods, - index: index, - name: name - }); - } - - return states; -} - -function setCoords(arg) { - var interaction = arg.interaction, - phase = arg.phase; - var curCoords = interaction.coords.cur; - var startCoords = interaction.coords.start; - var _interaction$modifier = interaction.modifiers, - result = _interaction$modifier.result, - startDelta = _interaction$modifier.startDelta; - var curDelta = result.delta; - - if (phase === 'start') { - (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); - } - - var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; - - for (var _i5 = 0; _i5 < _arr.length; _i5++) { - var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), - coordsSet = _arr$_i[0], - delta = _arr$_i[1]; - - coordsSet.page.x += delta.x; - coordsSet.page.y += delta.y; - coordsSet.client.x += delta.x; - coordsSet.client.y += delta.y; - } - - var rectDelta = interaction.modifiers.result.rectDelta; - var rect = arg.rect || interaction.rect; - rect.left += rectDelta.left; - rect.right += rectDelta.right; - rect.top += rectDelta.top; - rect.bottom += rectDelta.bottom; - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; -} - -function restoreCoords(_ref7) { - var _ref7$interaction = _ref7.interaction, - coords = _ref7$interaction.coords, - rect = _ref7$interaction.rect, - modifiers = _ref7$interaction.modifiers; - - if (!modifiers.result) { - return; - } - - var startDelta = modifiers.startDelta; - var _modifiers$result = modifiers.result, - curDelta = _modifiers$result.delta, - rectDelta = _modifiers$result.rectDelta; - var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; - - for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { - var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), - coordsSet = _coordsAndDeltas$_i[0], - delta = _coordsAndDeltas$_i[1]; - - coordsSet.page.x -= delta.x; - coordsSet.page.y -= delta.y; - coordsSet.client.x -= delta.x; - coordsSet.client.y -= delta.y; - } - - rect.left -= rectDelta.left; - rect.right -= rectDelta.right; - rect.top -= rectDelta.top; - rect.bottom -= rectDelta.bottom; -} - -function shouldDo(options, preEnd, requireEndOnly, phase) { - return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; -} - -function getRectOffset(rect, coords) { - return rect ? { - left: coords.x - rect.left, - top: coords.y - rect.top, - right: rect.right - coords.x, - bottom: rect.bottom - coords.y - } : { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; -} - -function makeModifier(module, name) { - var defaults = module.defaults; - var methods = { - start: module.start, - set: module.set, - beforeEnd: module.beforeEnd, - stop: module.stop - }; - - var modifier = function modifier(_options) { - var options = _options || {}; - options.enabled = options.enabled !== false; // add missing defaults to options - - for (var prop in defaults) { - if (!(prop in options)) { - options[prop] = defaults[prop]; - } - } - - var m = { - options: options, - methods: methods, - name: name - }; - return m; - }; - - if (name && typeof name === 'string') { - // for backwrads compatibility - modifier._defaults = defaults; - modifier._methods = methods; - } - - return modifier; -} - -var ___default_30 = { - id: 'modifiers/base', - install: __install_30, - startAll: startAll, - setAll: setAll, - prepareStates: prepareStates, - start: __start_30, - beforeMove: __beforeMove_30, - beforeEnd: beforeEnd, - stop: stop, - shouldDo: shouldDo, - getModifierList: getModifierList, - getRectOffset: getRectOffset, - makeModifier: makeModifier -}; -_$base_30["default"] = ___default_30; - -var _$inertia_26 = {}; -"use strict"; - -Object.defineProperty(_$inertia_26, "__esModule", { - value: true -}); -_$inertia_26["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -var ___base_26 = ___interopRequireWildcard_26(_$base_30); - -var __utils_26 = ___interopRequireWildcard_26(_$utils_56); - -var ___raf_26 = ___interopRequireDefault_26(_$raf_62); - -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'; - -function __install_26(scope) { - var interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.inertia = { - active: false, - smoothEnd: false, - allowResume: false, - upCoords: {}, - timeout: null - }; - }); - 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', __stop_26); - defaults.perAction.inertia = { - enabled: false, - resistance: 10, - minSpeed: 100, - endSpeed: 10, - allowResume: true, - smoothEndDuration: 300 - }; - scope.usePlugin(___base_26["default"]); -} - -function resume(_ref2, scope) { - var interaction = _ref2.interaction, - event = _ref2.event, - pointer = _ref2.pointer, - eventTarget = _ref2.eventTarget; - var state = interaction.inertia; // Check if the down event hits the current inertia target - - if (state.active) { - var element = eventTarget; // climb up the DOM tree from the event target - - while (__utils_26.is.element(element)) { - // if interaction element is the current inertia target element - if (element === interaction.element) { - // stop inertia - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; // update pointers to the down event's coordinates - - interaction.updatePointer(pointer, event, eventTarget, true); - __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { - return p.pointer; - }), interaction._now()); // fire appropriate signals - - var signalArg = { - interaction: interaction, - phase: _$InteractEvent_15.EventPhase.Resume - }; - scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event - - var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); - - interaction._fireEvent(resumeEvent); - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); - break; - } - - element = __utils_26.dom.parentNode(element); - } - } -} - -function release(_ref3, scope) { - var interaction = _ref3.interaction, - event = _ref3.event, - noPreEnd = _ref3.noPreEnd; - var state = interaction.inertia; - - if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { - return null; - } - - var options = __getOptions_26(interaction); - - var now = interaction._now(); - - var velocityClient = interaction.coords.velocity.client; - var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); - var smoothEnd = false; - var modifierResult; // check if inertia should be started - - var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; - var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; - var modifierArg = { - interaction: interaction, - pageCoords: interaction.coords.cur.page, - states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { - return __utils_26.extend({}, modifierStatus); - }), - preEnd: true, - prevCoords: null, - requireEndOnly: null, - phase: _$InteractEvent_15.EventPhase.InertiaStart - }; // smoothEnd - - if (inertiaPossible && !inertia) { - modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; - modifierArg.requireEndOnly = false; - modifierResult = ___base_26["default"].setAll(modifierArg); - - if (modifierResult.changed) { - smoothEnd = true; - } - } - - if (!(inertia || smoothEnd)) { - return null; - } - - __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; - interaction.simulation = state; - interaction.interactable.fire(state.startEvent); - - if (inertia) { - state.vx0 = interaction.coords.velocity.client.x; - state.vy0 = interaction.coords.velocity.client.y; - state.v0 = pointerSpeed; - calcInertia(interaction, state); - __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); - modifierArg.pageCoords.x += state.xe; - modifierArg.pageCoords.y += state.ye; - modifierArg.prevCoords = null; - modifierArg.requireEndOnly = true; - modifierResult = ___base_26["default"].setAll(modifierArg); - state.modifiedXe += modifierResult.delta.x; - state.modifiedYe += modifierResult.delta.y; - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.smoothEnd = true; - state.xe = modifierResult.delta.x; - state.ye = modifierResult.delta.y; - state.sx = state.sy = 0; - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } - - return false; -} - -function __stop_26(_ref4) { - var interaction = _ref4.interaction; - var state = interaction.inertia; - - if (state.active) { - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; - } -} - -function calcInertia(interaction, state) { - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; - state.x0 = interaction.prevEvent.page.x; - state.y0 = interaction.prevEvent.page.y; - state.t0 = state.startEvent.timeStamp / 1000; - state.sx = state.sy = 0; - state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; - state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; - state.te = inertiaDur; - state.lambda_v0 = lambda / state.v0; - state.one_ve_v0 = 1 - options.endSpeed / state.v0; -} - -function inertiaTick(interaction) { - updateInertiaCoords(interaction); - __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); - __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); - var state = interaction.inertia; - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var t = interaction._now() / 1000 - state.t0; - - if (t < state.te) { - var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; - - if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { - state.sx = state.xe * progress; - state.sy = state.ye * progress; - } else { - var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); - state.sx = quadPoint.x; - state.sy = quadPoint.y; - } - - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.sx = state.modifiedXe; - state.sy = state.modifiedYe; - interaction.move(); - interaction.end(state.startEvent); - state.active = false; - interaction.simulation = null; - } - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); -} - -function smothEndTick(interaction) { - updateInertiaCoords(interaction); - var state = interaction.inertia; - var t = interaction._now() - state.t0; - - var _getOptions = __getOptions_26(interaction), - duration = _getOptions.smoothEndDuration; - - if (t < duration) { - state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); - state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } else { - state.sx = state.xe; - state.sy = state.ye; - interaction.move(); - interaction.end(state.startEvent); - state.smoothEnd = state.active = false; - interaction.simulation = null; - } -} - -function updateInertiaCoords(interaction) { - var state = interaction.inertia; // return if inertia isn't running - - if (!state.active) { - return; - } - - var pageUp = state.upCoords.page; - var clientUp = state.upCoords.client; - __utils_26.pointer.setCoords(interaction.coords.cur, [{ - pageX: pageUp.x + state.sx, - pageY: pageUp.y + state.sy, - clientX: clientUp.x + state.sx, - clientY: clientUp.y + state.sy - }], interaction._now()); -} - -function __getOptions_26(_ref5) { - var interactable = _ref5.interactable, - prepared = _ref5.prepared; - return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; -} - -var ___default_26 = { - id: 'inertia', - install: __install_26, - calcInertia: calcInertia, - inertiaTick: inertiaTick, - smothEndTick: smothEndTick, - updateInertiaCoords: updateInertiaCoords -}; -_$inertia_26["default"] = ___default_26; - -var _$pointer_33 = {}; -"use strict"; - -Object.defineProperty(_$pointer_33, "__esModule", { - value: true -}); -_$pointer_33["default"] = void 0; - -var ___extend_33 = ___interopRequireDefault_33(_$extend_53); - -var __is_33 = ___interopRequireWildcard_33(_$is_57); - -var ___rect_33 = ___interopRequireDefault_33(_$rect_63); - -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 }; } - -function __start_33(_ref) { - var rect = _ref.rect, - startOffset = _ref.startOffset, - state = _ref.state, - interaction = _ref.interaction, - pageCoords = _ref.pageCoords; - var options = state.options; - var elementRect = options.elementRect; - var offset = (0, ___extend_33["default"])({ - left: 0, - top: 0, - right: 0, - bottom: 0 - }, options.offset || {}); - - if (rect && elementRect) { - var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); - - if (restriction) { - var widthDiff = restriction.right - restriction.left - rect.width; - var heightDiff = restriction.bottom - restriction.top - rect.height; - - if (widthDiff < 0) { - offset.left += widthDiff; - offset.right += widthDiff; - } - - if (heightDiff < 0) { - offset.top += heightDiff; - offset.bottom += heightDiff; - } - } - - offset.left += startOffset.left - rect.width * elementRect.left; - offset.top += startOffset.top - rect.height * elementRect.top; - offset.right += startOffset.right - rect.width * (1 - elementRect.right); - offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); - } - - state.offset = offset; -} - -function set(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var options = state.options, - offset = state.offset; - var restriction = getRestrictionRect(options.restriction, interaction, coords); - - if (!restriction) { - return; - } - - var rect = ___rect_33["default"].xywhToTlbr(restriction); - - coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); - coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); -} - -function getRestrictionRect(value, interaction, coords) { - if (__is_33.func(value)) { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); - } else { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); - } -} - -var __defaults_33 = { - restriction: null, - elementRect: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrict = { - start: __start_33, - set: set, - getRestrictionRect: getRestrictionRect, - defaults: __defaults_33 -}; -var ___default_33 = restrict; -_$pointer_33["default"] = ___default_33; - -var _$edges_32 = {}; -"use strict"; - -Object.defineProperty(_$edges_32, "__esModule", { - value: true -}); -_$edges_32["default"] = void 0; - -var ___extend_32 = ___interopRequireDefault_32(_$extend_53); - -var ___rect_32 = ___interopRequireDefault_32(_$rect_63); - -var _pointer = ___interopRequireDefault_32(_$pointer_33); - -function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -// This module adds the options.resize.restrictEdges setting which sets min and -// max for the top, left, bottom and right edges of the target being resized. -// -// interact(target).resize({ -// edges: { top: true, left: true }, -// restrictEdges: { -// inner: { top: 200, left: 200, right: 400, bottom: 400 }, -// outer: { top: 0, left: 0, right: 600, bottom: 600 }, -// }, -// }) -var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; -var noInner = { - top: +Infinity, - left: +Infinity, - bottom: -Infinity, - right: -Infinity -}; -var noOuter = { - top: -Infinity, - left: -Infinity, - bottom: +Infinity, - right: +Infinity -}; - -function __start_32(_ref) { - var interaction = _ref.interaction, - state = _ref.state; - var options = state.options; - var startOffset = interaction.modifiers.startOffset; - var offset; - - if (options) { - var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); - offset = ___rect_32["default"].rectToXY(offsetRect); - } - - offset = offset || { - x: 0, - y: 0 - }; - state.offset = { - top: offset.y + startOffset.top, - left: offset.x + startOffset.left, - bottom: offset.y - startOffset.bottom, - right: offset.x - startOffset.right - }; -} - -function __set_32(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var offset = state.offset, - options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var page = (0, ___extend_32["default"])({}, coords); - var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; - var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; - fixRect(inner, noInner); - fixRect(outer, noOuter); - - if (edges.top) { - coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); - } else if (edges.bottom) { - coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); - } - - if (edges.left) { - coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); - } else if (edges.right) { - coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); - } -} - -function fixRect(rect, defaults) { - var _arr = ['top', 'left', 'bottom', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (!(edge in rect)) { - rect[edge] = defaults[edge]; - } - } - - return rect; -} - -var __defaults_32 = { - inner: null, - outer: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrictEdges = { - noInner: noInner, - noOuter: noOuter, - getRestrictionRect: __getRestrictionRect_32, - start: __start_32, - set: __set_32, - defaults: __defaults_32 -}; -var ___default_32 = restrictEdges; -_$edges_32["default"] = ___default_32; - -var _$rect_34 = {}; -"use strict"; - -Object.defineProperty(_$rect_34, "__esModule", { - value: true -}); -_$rect_34["default"] = void 0; - -var ___extend_34 = ___interopRequireDefault_34(_$extend_53); - -var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); - -function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __defaults_34 = (0, ___extend_34["default"])({ - get elementRect() { - return { - top: 0, - left: 0, - bottom: 1, - right: 1 - }; - }, - - set elementRect(_) {} - -}, ___pointer_34["default"].defaults); -var restrictRect = { - start: ___pointer_34["default"].start, - set: ___pointer_34["default"].set, - defaults: __defaults_34 -}; -var ___default_34 = restrictRect; -_$rect_34["default"] = ___default_34; - -var _$size_35 = {}; -"use strict"; - -Object.defineProperty(_$size_35, "__esModule", { - value: true -}); -_$size_35["default"] = void 0; - -var ___extend_35 = ___interopRequireDefault_35(_$extend_53); - -var ___rect_35 = ___interopRequireDefault_35(_$rect_63); - -var _edges = ___interopRequireDefault_35(_$edges_32); - -function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var noMin = { - width: -Infinity, - height: -Infinity -}; -var noMax = { - width: +Infinity, - height: +Infinity -}; - -function __start_35(arg) { - return _edges["default"].start(arg); -} - -function __set_35(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); - - var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; - var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; - state.options = { - endOnly: options.endOnly, - inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), - outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) - }; - - if (edges.top) { - state.options.inner.top = rect.bottom - minSize.height; - state.options.outer.top = rect.bottom - maxSize.height; - } else if (edges.bottom) { - state.options.inner.bottom = rect.top + minSize.height; - state.options.outer.bottom = rect.top + maxSize.height; - } - - if (edges.left) { - state.options.inner.left = rect.right - minSize.width; - state.options.outer.left = rect.right - maxSize.width; - } else if (edges.right) { - state.options.inner.right = rect.left + minSize.width; - state.options.outer.right = rect.left + maxSize.width; - } - - _edges["default"].set(arg); - - state.options = options; -} - -var __defaults_35 = { - min: null, - max: null, - endOnly: false, - enabled: false -}; -var restrictSize = { - start: __start_35, - set: __set_35, - defaults: __defaults_35 -}; -var ___default_35 = restrictSize; -_$size_35["default"] = ___default_35; - -var _$pointer_37 = {}; -"use strict"; - -Object.defineProperty(_$pointer_37, "__esModule", { - value: true -}); -_$pointer_37["default"] = void 0; - -var __utils_37 = ___interopRequireWildcard_37(_$utils_56); - -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, - interactable = arg.interactable, - element = arg.element, - rect = arg.rect, - state = arg.state, - startOffset = arg.startOffset; - var options = state.options; - var offsets = []; - var origin = options.offsetWithOrigin ? getOrigin(arg) : { - x: 0, - y: 0 - }; - var snapOffset; - - if (options.offset === 'startCoords') { - snapOffset = { - x: interaction.coords.start.page.x, - y: interaction.coords.start.page.y - }; - } else { - var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); - snapOffset = __utils_37.rect.rectToXY(offsetRect) || { - x: 0, - y: 0 - }; - snapOffset.x += origin.x; - snapOffset.y += origin.y; - } - - var relativePoints = options.relativePoints || []; - - if (rect && options.relativePoints && options.relativePoints.length) { - for (var index = 0; index < relativePoints.length; index++) { - var relativePoint = relativePoints[index]; - offsets.push({ - index: index, - relativePoint: relativePoint, - x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, - y: startOffset.top - rect.height * relativePoint.y + snapOffset.y - }); - } - } else { - offsets.push(__utils_37.extend({ - index: 0, - relativePoint: null - }, snapOffset)); - } - - state.offsets = offsets; -} - -function __set_37(arg) { - var interaction = arg.interaction, - coords = arg.coords, - state = arg.state; - var options = state.options, - offsets = state.offsets; - var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); - var page = __utils_37.extend({}, coords); - var targets = []; - var target; - - if (!options.offsetWithOrigin) { - page.x -= origin.x; - page.y -= origin.y; - } - - state.realX = page.x; - state.realY = page.y; - - for (var _i = 0; _i < offsets.length; _i++) { - var _ref; - - _ref = offsets[_i]; - var offset = _ref; - var relativeX = page.x - offset.x; - var relativeY = page.y - offset.y; - - for (var index = 0, _len = options.targets.length; index < _len; index++) { - var snapTarget = options.targets[index]; - - if (__utils_37.is.func(snapTarget)) { - target = snapTarget(relativeX, relativeY, interaction, offset, index); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - targets.push({ - x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, - y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, - range: __utils_37.is.number(target.range) ? target.range : options.range - }); - } - } - - var closest = { - target: null, - inRange: false, - distance: 0, - range: 0, - dx: 0, - dy: 0 - }; - - for (var i = 0, len = targets.length; i < len; i++) { - target = targets[i]; - var range = target.range; - var dx = target.x - page.x; - var dy = target.y - page.y; - var distance = __utils_37.hypot(dx, dy); - var inRange = distance <= range; // Infinite targets count as being out of range - // compared to non infinite ones that are in range - - if (range === Infinity && closest.inRange && closest.range !== Infinity) { - inRange = false; - } - - if (!closest.target || (inRange // is the closest target in range? - ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target - ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't - : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest - distance < closest.distance : // The other is not in range and the pointer is closer to this target - !closest.inRange && distance < closest.distance)) { - closest.target = target; - closest.distance = distance; - closest.range = range; - closest.inRange = inRange; - closest.dx = dx; - closest.dy = dy; - state.range = range; - } - } - - if (closest.inRange) { - coords.x = closest.target.x; - coords.y = closest.target.y; - } - - state.closest = closest; -} - -function getOrigin(arg) { - 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; -} - -var __defaults_37 = { - range: Infinity, - targets: null, - offset: null, - offsetWithOrigin: true, - origin: null, - relativePoints: null, - endOnly: false, - enabled: false -}; -var snap = { - start: __start_37, - set: __set_37, - defaults: __defaults_37 -}; -var ___default_37 = snap; -_$pointer_37["default"] = ___default_37; - -var _$size_38 = {}; -"use strict"; - -Object.defineProperty(_$size_38, "__esModule", { - value: true -}); -_$size_38["default"] = void 0; - -var ___extend_38 = ___interopRequireDefault_38(_$extend_53); - -var __is_38 = ___interopRequireWildcard_38(_$is_57); - -var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); - -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 }; } - -function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } - -function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __start_38(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state = { - options: { - targets: null, - relativePoints: [{ - x: edges.left ? 0 : 1, - y: edges.top ? 0 : 1 - }], - offset: options.offset || 'self', - origin: { - x: 0, - y: 0 - }, - range: options.range - } - }; - state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; - - ___pointer_38["default"].start(arg); - - state.offsets = arg.state.offsets; - arg.state = state; -} - -function __set_38(arg) { - var interaction = arg.interaction, - state = arg.state, - coords = arg.coords; - var options = state.options, - offsets = state.offsets; - var relative = { - x: coords.x - offsets[0].x, - y: coords.y - offsets[0].y - }; - state.options = (0, ___extend_38["default"])({}, options); - state.options.targets = []; - - for (var _i = 0; _i < (options.targets || []).length; _i++) { - var _ref; - - _ref = (options.targets || [])[_i]; - var snapTarget = _ref; - var target = void 0; - - if (__is_38.func(snapTarget)) { - target = snapTarget(relative.x, relative.y, interaction); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { - var _ref2; - - _ref2 = state.targetFields[_i2]; - - var _ref3 = _ref2, - _ref4 = ___slicedToArray_38(_ref3, 2), - xField = _ref4[0], - yField = _ref4[1]; - - if (xField in target || yField in target) { - target.x = target[xField]; - target.y = target[yField]; - break; - } - } - - state.options.targets.push(target); - } - - ___pointer_38["default"].set(arg); - - state.options = options; -} - -var __defaults_38 = { - range: Infinity, - targets: null, - offset: null, - endOnly: false, - enabled: false -}; -var snapSize = { - start: __start_38, - set: __set_38, - defaults: __defaults_38 -}; -var ___default_38 = snapSize; -_$size_38["default"] = ___default_38; - -var _$edges_36 = {}; -"use strict"; - -Object.defineProperty(_$edges_36, "__esModule", { - value: true -}); -_$edges_36["default"] = void 0; - -var ___clone_36 = ___interopRequireDefault_36(_$clone_49); - -var ___extend_36 = ___interopRequireDefault_36(_$extend_53); - -var _size = ___interopRequireDefault_36(_$size_38); - -function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/** - * @module modifiers/snapEdges - * - * @description - * This module allows snapping of the edges of targets during resize - * interactions. - * - * @example - * interact(target).resizable({ - * snapEdges: { - * targets: [interact.snappers.grid({ x: 100, y: 50 })], - * }, - * }) - * - * interact(target).resizable({ - * snapEdges: { - * targets: [ - * interact.snappers.grid({ - * top: 50, - * left: 50, - * bottom: 100, - * right: 100, - * }), - * ], - * }, - * }) - */ -function __start_36(arg) { - var edges = arg.interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; - return _size["default"].start(arg); -} - -function __set_36(arg) { - return _size["default"].set(arg); -} - -var snapEdges = { - start: __start_36, - set: __set_36, - defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { - offset: { - x: 0, - y: 0 - } - }) -}; -var ___default_36 = snapEdges; -_$edges_36["default"] = ___default_36; - -var _$modifiers_31 = {}; -"use strict"; - -Object.defineProperty(_$modifiers_31, "__esModule", { - value: true -}); -_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; - -var ___base_31 = ___interopRequireDefault_31(_$base_30); - -var ___edges_31 = ___interopRequireDefault_31(_$edges_32); - -var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); - -var ___rect_31 = ___interopRequireDefault_31(_$rect_34); - -var ___size_31 = ___interopRequireDefault_31(_$size_35); - -var _edges2 = ___interopRequireDefault_31(_$edges_36); - -var _pointer2 = ___interopRequireDefault_31(_$pointer_37); - -var _size2 = ___interopRequireDefault_31(_$size_38); - -function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __makeModifier_31 = ___base_31["default"].makeModifier; -var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); -_$modifiers_31.snap = __snap_31; -var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); -_$modifiers_31.snapSize = __snapSize_31; -var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); -_$modifiers_31.snapEdges = __snapEdges_31; -var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); -_$modifiers_31.restrict = __restrict_31; -var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); -_$modifiers_31.restrictRect = __restrictRect_31; -var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); -_$modifiers_31.restrictEdges = __restrictEdges_31; -var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); -_$modifiers_31.restrictSize = __restrictSize_31; - -var _$PointerEvent_39 = {}; -"use strict"; - -Object.defineProperty(_$PointerEvent_39, "__esModule", { - value: true -}); -_$PointerEvent_39["default"] = void 0; - -var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); - -var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); - -function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } - -function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } - -function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___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); } - -function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } - -/** */ -var PointerEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_39(PointerEvent, _BaseEvent); - - /** */ - function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { - var _this; - - ___classCallCheck_39(this, PointerEvent); - - _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); - - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); - - if (event !== pointer) { - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); - } - - _this.timeStamp = timeStamp; - _this.originalEvent = event; - _this.type = type; - _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); - _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); - _this.target = eventTarget; - _this.currentTarget = null; - - if (type === 'tap') { - var pointerIndex = interaction.getPointerIndex(pointer); - _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; - var interval = _this.timeStamp - interaction.tapTime; - _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); - } else if (type === 'doubletap') { - _this.dt = pointer.timeStamp - interaction.tapTime; - } - - return _this; - } - - ___createClass_39(PointerEvent, [{ - key: "_subtractOrigin", - value: function _subtractOrigin(_ref) { - var originX = _ref.x, - originY = _ref.y; - this.pageX -= originX; - this.pageY -= originY; - this.clientX -= originX; - this.clientY -= originY; - return this; - } - }, { - key: "_addOrigin", - value: function _addOrigin(_ref2) { - var originX = _ref2.x, - originY = _ref2.y; - this.pageX += originX; - this.pageY += originY; - this.clientX += originX; - this.clientY += originY; - return this; - } - /** - * Prevent the default behaviour of the original Event - */ - - }, { - key: "preventDefault", - value: function preventDefault() { - this.originalEvent.preventDefault(); - } - }]); - - return PointerEvent; -}(___BaseEvent2_39["default"]); - -_$PointerEvent_39["default"] = PointerEvent; - -var _$base_40 = {}; -"use strict"; - -Object.defineProperty(_$base_40, "__esModule", { - value: true -}); -_$base_40["default"] = void 0; - -var __utils_40 = ___interopRequireWildcard_40(_$utils_56); - -var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); - -function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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']; -var simpleEvents = ['down', 'up', 'cancel']; -var __defaults_40 = { - holdDuration: 600, - ignoreFrom: null, - allowFrom: null, - origin: { - x: 0, - y: 0 - } -}; -var pointerEvents = { - id: 'pointer-events/base', - install: __install_40, - signals: signals, - PointerEvent: _PointerEvent["default"], - fire: fire, - collectEventTargets: collectEventTargets, - createSignalListener: createSignalListener, - defaults: __defaults_40, - types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] -}; - -function fire(arg, scope) { - var interaction = arg.interaction, - pointer = arg.pointer, - event = arg.event, - eventTarget = arg.eventTarget, - _arg$type = arg.type, - type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, - _arg$targets = arg.targets, - targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; - var _arg$pointerEvent = arg.pointerEvent, - pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - targets: targets, - type: type, - pointerEvent: pointerEvent - }; - - for (var i = 0; i < targets.length; i++) { - var target = targets[i]; - - for (var prop in target.props || {}) { - pointerEvent[prop] = target.props[prop]; - } - - var origin = __utils_40.getOriginXY(target.eventable, target.node); - - pointerEvent._subtractOrigin(origin); - - pointerEvent.eventable = target.eventable; - pointerEvent.currentTarget = target.node; - target.eventable.fire(pointerEvent); - - pointerEvent._addOrigin(origin); - - if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { - break; - } - } - - signals.fire('fired', signalArg); - - if (type === 'tap') { - // if pointerEvent should make a double tap, create and fire a doubletap - // PointerEvent and use that as the prevTap - var prevTap = pointerEvent["double"] ? fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'doubletap' - }, scope) : pointerEvent; - interaction.prevTap = prevTap; - interaction.tapTime = prevTap.timeStamp; - } - - return pointerEvent; -} - -function collectEventTargets(_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget, - type = _ref.type; - var pointerIndex = interaction.getPointerIndex(pointer); - var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted - - if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target - !(pointerInfo && pointerInfo.downTarget === eventTarget))) { - return []; - } - - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: type, - path: path, - targets: [], - node: null - }; - - for (var _i = 0; _i < path.length; _i++) { - var _ref2; - - _ref2 = path[_i]; - var node = _ref2; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (type === 'hold') { - signalArg.targets = signalArg.targets.filter(function (target) { - return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; - }); - } - - return signalArg.targets; -} - -function __install_40(scope) { - var interactions = scope.interactions; - scope.pointerEvents = pointerEvents; - scope.defaults.actions.pointerEvents = pointerEvents.defaults; - interactions.signals.on('new', function (_ref3) { - var interaction = _ref3.interaction; - interaction.prevTap = null; // the most recent tap event on this interaction - - interaction.tapTime = 0; // time of the most recent tap event - }); - interactions.signals.on('update-pointer', function (_ref4) { - var down = _ref4.down, - pointerInfo = _ref4.pointerInfo; - - if (!down && pointerInfo.hold) { - return; - } - - pointerInfo.hold = { - duration: Infinity, - timeout: null - }; - }); - interactions.signals.on('move', function (_ref5) { - var interaction = _ref5.interaction, - pointer = _ref5.pointer, - event = _ref5.event, - eventTarget = _ref5.eventTarget, - duplicateMove = _ref5.duplicateMove; - var pointerIndex = interaction.getPointerIndex(pointer); - - if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { - if (interaction.pointerIsDown) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - - fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'move' - }, scope); - } - }); - interactions.signals.on('down', function (_ref6) { - var interaction = _ref6.interaction, - pointer = _ref6.pointer, - event = _ref6.event, - eventTarget = _ref6.eventTarget, - pointerIndex = _ref6.pointerIndex; - var timer = interaction.pointers[pointerIndex].hold; - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'hold', - targets: [], - path: path, - node: null - }; - - for (var _i2 = 0; _i2 < path.length; _i2++) { - var _ref7; - - _ref7 = path[_i2]; - var node = _ref7; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (!signalArg.targets.length) { - return; - } - - var minDuration = Infinity; - - for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { - var _ref8; - - _ref8 = signalArg.targets[_i3]; - var target = _ref8; - var holdDuration = target.eventable.options.holdDuration; - - if (holdDuration < minDuration) { - minDuration = holdDuration; - } - } - - timer.duration = minDuration; - timer.timeout = setTimeout(function () { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'hold' - }, scope); - }, minDuration); - }); - var _arr = ['up', 'cancel']; - - for (var _i4 = 0; _i4 < _arr.length; _i4++) { - var signalName = _arr[_i4]; - interactions.signals.on(signalName, function (_ref10) { - var interaction = _ref10.interaction, - pointerIndex = _ref10.pointerIndex; - - if (interaction.pointers[pointerIndex].hold) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - }); - } - - for (var i = 0; i < simpleSignals.length; i++) { - interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); - } - - interactions.signals.on('up', function (_ref9) { - var interaction = _ref9.interaction, - pointer = _ref9.pointer, - event = _ref9.event, - eventTarget = _ref9.eventTarget; - - if (!interaction.pointerWasMoved) { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'tap' - }, scope); - } - }); -} - -function createSignalListener(type, scope) { - return function (_ref11) { - var interaction = _ref11.interaction, - pointer = _ref11.pointer, - event = _ref11.event, - eventTarget = _ref11.eventTarget; - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: type - }, scope); - }; -} - -var ___default_40 = pointerEvents; -_$base_40["default"] = ___default_40; - -var _$holdRepeat_41 = {}; -"use strict"; - -Object.defineProperty(_$holdRepeat_41, "__esModule", { - value: true -}); -_$holdRepeat_41["default"] = void 0; - -var ___base_41 = ___interopRequireDefault_41(_$base_40); - -function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_41(scope) { - var pointerEvents = scope.pointerEvents, - interactions = scope.interactions; - scope.usePlugin(___base_41["default"]); - pointerEvents.signals.on('new', onNew); - pointerEvents.signals.on('fired', function (arg) { - return onFired(arg, scope); - }); - var _arr = ['move', 'up', 'cancel', 'endall']; - - for (var _i = 0; _i < _arr.length; _i++) { - var signal = _arr[_i]; - interactions.signals.on(signal, endHoldRepeat); - } // don't repeat by default - - - pointerEvents.defaults.holdRepeatInterval = 0; - pointerEvents.types.push('holdrepeat'); -} - -function onNew(_ref) { - var pointerEvent = _ref.pointerEvent; - - if (pointerEvent.type !== 'hold') { - return; - } - - pointerEvent.count = (pointerEvent.count || 0) + 1; -} - -function onFired(_ref2, scope) { - var interaction = _ref2.interaction, - pointerEvent = _ref2.pointerEvent, - eventTarget = _ref2.eventTarget, - targets = _ref2.targets; - - if (pointerEvent.type !== 'hold' || !targets.length) { - return; - } // get the repeat interval from the first eventable - - - var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less - - if (interval <= 0) { - return; - } // set a timeout to fire the holdrepeat event - - - interaction.holdIntervalHandle = setTimeout(function () { - scope.pointerEvents.fire({ - interaction: interaction, - eventTarget: eventTarget, - type: 'hold', - pointer: pointerEvent, - event: pointerEvent - }, scope); - }, interval); -} - -function endHoldRepeat(_ref3) { - var interaction = _ref3.interaction; - - // set the interaction's holdStopTime property - // to stop further holdRepeat events - if (interaction.holdIntervalHandle) { - clearInterval(interaction.holdIntervalHandle); - interaction.holdIntervalHandle = null; - } -} - -var ___default_41 = { - id: 'pointer-events/holdRepeat', - install: __install_41 -}; -_$holdRepeat_41["default"] = ___default_41; - -var _$interactableTargets_43 = {}; -"use strict"; - -Object.defineProperty(_$interactableTargets_43, "__esModule", { - value: true -}); -_$interactableTargets_43["default"] = void 0; - -/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; - -var ___extend_43 = ___interopRequireDefault_43(_$extend_53); - -function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_43(scope) { - var pointerEvents = scope.pointerEvents, - actions = scope.actions, - Interactable = scope.Interactable, - interactables = scope.interactables; - pointerEvents.signals.on('collect-targets', function (_ref) { - var targets = _ref.targets, - node = _ref.node, - type = _ref.type, - eventTarget = _ref.eventTarget; - scope.interactables.forEachMatch(node, function (interactable) { - var eventable = interactable.events; - var options = eventable.options; - - if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { - targets.push({ - node: node, - eventable: eventable, - props: { - interactable: interactable - } - }); - } - }); - }); - interactables.signals.on('new', function (_ref2) { - var interactable = _ref2.interactable; - - interactable.events.getRect = function (element) { - return interactable.getRect(element); - }; - }); - interactables.signals.on('set', function (_ref3) { - var interactable = _ref3.interactable, - options = _ref3.options; - (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); - (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); - }); - (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); - Interactable.prototype.pointerEvents = pointerEventsMethod; - var __backCompatOption = Interactable.prototype._backCompatOption; - - Interactable.prototype._backCompatOption = function (optionName, newValue) { - var ret = __backCompatOption.call(this, optionName, newValue); - - if (ret === this) { - this.events.options[optionName] = newValue; - } - - return ret; - }; -} - -function pointerEventsMethod(options) { - (0, ___extend_43["default"])(this.events.options, options); - return this; -} - -var ___default_43 = { - id: 'pointer-events/interactableTargets', - install: __install_43 -}; -_$interactableTargets_43["default"] = ___default_43; - -var _$pointerEvents_42 = {}; -"use strict"; - -Object.defineProperty(_$pointerEvents_42, "__esModule", { - value: true -}); -_$pointerEvents_42.install = __install_42; -Object.defineProperty(_$pointerEvents_42, "pointerEvents", { - enumerable: true, - get: function get() { - return ___base_42["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "holdRepeat", { - enumerable: true, - get: function get() { - return _holdRepeat["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "interactableTargets", { - enumerable: true, - get: function get() { - return _interactableTargets["default"]; - } -}); -_$pointerEvents_42.id = void 0; - -var ___base_42 = ___interopRequireDefault_42(_$base_40); - -var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); - -var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); - -function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_42(scope) { - scope.usePlugin(___base_42["default"]); - scope.usePlugin(_holdRepeat["default"]); - scope.usePlugin(_interactableTargets["default"]); -} - -var __id_42 = 'pointer-events'; -_$pointerEvents_42.id = __id_42; - -var _$reflow_44 = {}; -"use strict"; - -Object.defineProperty(_$reflow_44, "__esModule", { - value: true -}); -_$reflow_44.install = __install_44; -_$reflow_44["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -_$InteractEvent_15.EventPhase.Reflow = 'reflow'; - -function __install_44(scope) { - var actions = scope.actions, - interactions = scope.interactions, - Interactable = scope.Interactable; // add action reflow event types - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - actions.eventTypes.push("".concat(actionName, "reflow")); - } // remove completed reflow interactions - - - interactions.signals.on('stop', function (_ref2) { - var interaction = _ref2.interaction; - - if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { - if (interaction._reflowResolve) { - interaction._reflowResolve(); - } - - _$utils_56.arr.remove(scope.interactions.list, interaction); - } - }); - /** - * ```js - * const interactable = interact(target) - * const drag = { name: drag, axis: 'x' } - * const resize = { name: resize, edges: { left: true, bottom: true } - * - * interactable.reflow(drag) - * interactable.reflow(resize) - * ``` - * - * Start an action sequence to re-apply modifiers, check drops, etc. - * - * @param { Object } action The action to begin - * @param { string } action.name The name of the action - * @returns { Promise } - */ - - Interactable.prototype.reflow = function (action) { - return reflow(this, action, scope); - }; -} - -function reflow(interactable, action, scope) { - 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 - - var Promise = _$utils_56.win.window.Promise; - var promises = Promise ? [] : null; - - var _loop = function _loop() { - _ref3 = elements[_i2]; - var element = _ref3; - var rect = interactable.getRect(element); - - if (!rect) { - return "break"; - } - - var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { - return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; - }); - - var reflowPromise = void 0; - - if (runningInteraction) { - runningInteraction.move(); - - if (promises) { - reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { - runningInteraction._reflowResolve = resolve; - }); - } - } else { - var xywh = _$utils_56.rect.tlbrToXywh(rect); - - var coords = { - page: { - x: xywh.x, - y: xywh.y - }, - client: { - x: xywh.x, - y: xywh.y - }, - timeStamp: scope.now() - }; - - var event = _$utils_56.pointer.coordsToEvent(coords); - - reflowPromise = startReflow(scope, interactable, element, action, event); - } - - if (promises) { - promises.push(reflowPromise); - } - }; - - for (var _i2 = 0; _i2 < elements.length; _i2++) { - var _ref3; - - var _ret = _loop(); - - if (_ret === "break") break; - } - - return promises && Promise.all(promises).then(function () { - return interactable; - }); -} - -function startReflow(scope, interactable, element, action, event) { - var interaction = scope.interactions["new"]({ - pointerType: 'reflow' - }); - var signalArg = { - interaction: interaction, - event: event, - pointer: event, - eventTarget: element, - phase: _$InteractEvent_15.EventPhase.Reflow - }; - interaction.interactable = interactable; - interaction.element = element; - interaction.prepared = (0, _$utils_56.extend)({}, action); - interaction.prevEvent = event; - interaction.updatePointer(event, event, element, true); - - interaction._doPhase(signalArg); - - var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { - interaction._reflowResolve = resolve; - }) : null; - interaction._reflowPromise = reflowPromise; - interaction.start(action, interactable, element); - - if (interaction._interacting) { - interaction.move(signalArg); - interaction.end(event); - } else { - interaction.stop(); - } - - interaction.removePointer(event, event); - interaction.pointerIsDown = false; - return reflowPromise; -} - -var ___default_44 = { - id: 'reflow', - install: __install_44 -}; -_$reflow_44["default"] = ___default_44; - -var _$interact_28 = {}; -"use strict"; - -Object.defineProperty(_$interact_28, "__esModule", { - value: true -}); -_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; - -var ___scope_28 = _$scope_24({}); - -var __utils_28 = ___interopRequireWildcard_28(_$utils_56); - -var ___browser_28 = ___interopRequireDefault_28(_$browser_48); - -var ___events_28 = ___interopRequireDefault_28(_$events_52); - -function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 = {}; -var scope = new ___scope_28.Scope(); -/** - * ```js - * interact('#draggable').draggable(true) - * - * var rectables = interact('rect') - * rectables - * .gesturable(true) - * .on('gesturemove', function (event) { - * // ... - * }) - * ``` - * - * The methods of this variable can be used to set elements as interactables - * and also to change various default settings. - * - * Calling it as a function and passing an element or a valid CSS selector - * string returns an Interactable object which has various methods to configure - * it. - * - * @global - * - * @param {Element | string} target The HTML or SVG Element to interact with - * or CSS selector - * @return {Interactable} - */ - -_$interact_28.scope = scope; - -var interact = function interact(target, options) { - var interactable = scope.interactables.get(target, options); - - if (!interactable) { - interactable = scope.interactables["new"](target, options); - interactable.events.global = globalEvents; - } - - return interactable; -}; -/** - * Use a plugin - * - * @alias module:interact.use - * - * @param {Object} plugin - * @param {function} plugin.install - * @return {interact} - */ - - -_$interact_28.interact = interact; -interact.use = use; - -function use(plugin, options) { - scope.usePlugin(plugin, options); - return interact; -} -/** - * Check if an element or selector has been set with the {@link interact} - * function - * - * @alias module:interact.isSet - * - * @param {Element} element The Element being searched for - * @return {boolean} Indicates if the element or CSS selector was previously - * passed to interact - */ - - -interact.isSet = isSet; - -function isSet(target, options) { - return !!scope.interactables.get(target, options && options.context); -} -/** - * Add a global listener for an InteractEvent or adds a DOM event to `document` - * - * @alias module:interact.on - * - * @param {string | array | object} type The types of events to listen for - * @param {function} listener The function event (s) - * @param {object | boolean} [options] object or useCapture flag for - * addEventListener - * @return {object} interact - */ - - -interact.on = on; - -function on(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i = 0; _i < type.length; _i++) { - var _ref; - - _ref = type[_i]; - var eventType = _ref; - interact.on(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.on(prop, type[prop], listener); - } - - return interact; - } // if it is an InteractEvent type, add listener to globalEvents - - - if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { - // if this type of event was never bound - if (!globalEvents[type]) { - globalEvents[type] = [listener]; - } else { - globalEvents[type].push(listener); - } - } // If non InteractEvent type, addEventListener to document - else { - ___events_28["default"].add(scope.document, type, listener, { - options: options - }); - } - - return interact; -} -/** - * Removes a global InteractEvent listener or DOM event from `document` - * - * @alias module:interact.off - * - * @param {string | array | object} type The types of events that were listened - * for - * @param {function} listener The listener function to be removed - * @param {object | boolean} options [options] object or useCapture flag for - * removeEventListener - * @return {object} interact - */ - - -interact.off = off; - -function off(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i2 = 0; _i2 < type.length; _i2++) { - var _ref2; - - _ref2 = type[_i2]; - var eventType = _ref2; - interact.off(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.off(prop, type[prop], listener); - } - - return interact; - } - - if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { - ___events_28["default"].remove(scope.document, type, listener, options); - } else { - var index; - - if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { - globalEvents[type].splice(index, 1); - } - } - - return interact; -} -/** - * Returns an object which exposes internal data - * @alias module:interact.debug - * - * @return {object} An object with properties that outline the current state - * and expose internal functions and variables - */ - - -interact.debug = debug; - -function debug() { - return scope; -} // expose the functions used to calculate multi-touch properties - - -interact.getPointerAverage = __utils_28.pointer.pointerAverage; -interact.getTouchBBox = __utils_28.pointer.touchBBox; -interact.getTouchDistance = __utils_28.pointer.touchDistance; -interact.getTouchAngle = __utils_28.pointer.touchAngle; -interact.getElementRect = __utils_28.dom.getElementRect; -interact.getElementClientRect = __utils_28.dom.getElementClientRect; -interact.matchesSelector = __utils_28.dom.matchesSelector; -interact.closest = __utils_28.dom.closest; -/** - * @alias module:interact.supportsTouch - * - * @return {boolean} Whether or not the browser supports touch input - */ - -interact.supportsTouch = supportsTouch; - -function supportsTouch() { - return ___browser_28["default"].supportsTouch; -} -/** - * @alias module:interact.supportsPointerEvent - * - * @return {boolean} Whether or not the browser supports PointerEvents - */ - - -interact.supportsPointerEvent = supportsPointerEvent; - -function supportsPointerEvent() { - return ___browser_28["default"].supportsPointerEvent; -} -/** - * Cancels all interactions (end events are not fired) - * - * @alias module:interact.stop - * - * @return {object} interact - */ - - -interact.stop = __stop_28; - -function __stop_28() { - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - interaction.stop(); - } - - return interact; -} -/** - * Returns or sets the distance the pointer must be moved before an action - * sequence occurs. This also affects tolerance for tap events. - * - * @alias module:interact.pointerMoveTolerance - * - * @param {number} [newValue] The movement from the start position must be greater than this value - * @return {interact | number} - */ - - -interact.pointerMoveTolerance = pointerMoveTolerance; - -function pointerMoveTolerance(newValue) { - if (__utils_28.is.number(newValue)) { - scope.interactions.pointerMoveTolerance = newValue; - return interact; - } - - return scope.interactions.pointerMoveTolerance; -} - -scope.interactables.signals.on('unset', function (_ref4) { - var interactable = _ref4.interactable; - scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref5; - - _ref5 = scope.interactions.list[_i4]; - var interaction = _ref5; - - if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { - interaction.stop(); - } - } -}); - -interact.addDocument = function (doc, options) { - return scope.addDocument(doc, options); -}; - -interact.removeDocument = function (doc) { - return scope.removeDocument(doc); -}; - -scope.interact = interact; -var ___default_28 = interact; -_$interact_28["default"] = ___default_28; - -var _$interact_27 = {}; -"use strict"; - -Object.defineProperty(_$interact_27, "__esModule", { - value: true -}); -_$interact_27.init = __init_27; -Object.defineProperty(_$interact_27, "autoScroll", { - enumerable: true, - get: function get() { - return _autoScroll["default"]; - } -}); -Object.defineProperty(_$interact_27, "interactablePreventDefault", { - enumerable: true, - get: function get() { - return _interactablePreventDefault["default"]; - } -}); -Object.defineProperty(_$interact_27, "inertia", { - enumerable: true, - get: function get() { - return _inertia["default"]; - } -}); -Object.defineProperty(_$interact_27, "modifiers", { - enumerable: true, - get: function get() { - return ___base_27["default"]; - } -}); -Object.defineProperty(_$interact_27, "reflow", { - enumerable: true, - get: function get() { - return _reflow["default"]; - } -}); -Object.defineProperty(_$interact_27, "interact", { - enumerable: true, - get: function get() { - return _interact["default"]; - } -}); -_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; - -var actions = ___interopRequireWildcard_27(_$actions_5); - -_$interact_27.actions = actions; - -var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); - -var autoStart = ___interopRequireWildcard_27(_$autoStart_12); - -var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); - -var _devTools = ___interopRequireDefault_27(_$devTools_25); - -var _inertia = ___interopRequireDefault_27(_$inertia_26); - -var modifiers = ___interopRequireWildcard_27(_$modifiers_31); - -var ___base_27 = ___interopRequireDefault_27(_$base_30); - -var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); - -_$interact_27.pointerEvents = __pointerEvents_27; - -var _reflow = ___interopRequireDefault_27(_$reflow_44); - -var _interact = ___interopRequireWildcard_27(_$interact_28); - -function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); - - _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents - - - _interact["default"].use(__pointerEvents_27); // inertia - - - _interact["default"].use(_inertia["default"]); // autoStart, hold - - - _interact["default"].use(autoStart); // drag and drop, resize, gesture - - - _interact["default"].use(actions); // snap, resize, etc. - - - _interact["default"].use(___base_27["default"]); // for backwrads compatibility - - - for (var type in modifiers) { - var _modifiers$type = modifiers[type], - _defaults = _modifiers$type._defaults, - _methods = _modifiers$type._methods; - _defaults._methods = _methods; - _interact.scope.defaults.perAction[type] = _defaults; - } // autoScroll - - - _interact["default"].use(_autoScroll["default"]); // reflow - - - _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef - - - if (false) {} - - return _interact["default"]; -} // eslint-disable-next-line no-undef - - -_interact["default"].version = "1.6.3"; -var ___default_27 = _interact["default"]; -_$interact_27["default"] = ___default_27; - -var _$types_45 = {}; -/// -"use strict"; - -var _$grid_64 = {}; -"use strict"; - -Object.defineProperty(_$grid_64, "__esModule", { - value: true -}); -_$grid_64["default"] = void 0; - -function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } - -function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function createGrid(grid) { - var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { - var _ref2 = ___slicedToArray_64(_ref, 2), - xField = _ref2[0], - yField = _ref2[1]; - - return xField in grid || yField in grid; - }); - return function (x, y) { - var range = grid.range, - _grid$limits = grid.limits, - limits = _grid$limits === void 0 ? { - left: -Infinity, - right: Infinity, - top: -Infinity, - bottom: Infinity - } : _grid$limits, - _grid$offset = grid.offset, - offset = _grid$offset === void 0 ? { - x: 0, - y: 0 - } : _grid$offset; - var result = { - range: range - }; - - for (var _i2 = 0; _i2 < coordFields.length; _i2++) { - var _ref3; - - _ref3 = coordFields[_i2]; - - var _ref4 = _ref3, - _ref5 = ___slicedToArray_64(_ref4, 2), - xField = _ref5[0], - yField = _ref5[1]; - - var gridx = Math.round((x - offset.x) / grid[xField]); - var gridy = Math.round((y - offset.y) / grid[yField]); - result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); - result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); - } - - return result; - }; -} - -var ___default_64 = createGrid; -_$grid_64["default"] = ___default_64; - -var _$snappers_65 = {}; -"use strict"; - -Object.defineProperty(_$snappers_65, "__esModule", { - value: true -}); -Object.defineProperty(_$snappers_65, "grid", { - enumerable: true, - get: function get() { - return _grid["default"]; - } -}); - -var _grid = ___interopRequireDefault_65(_$grid_64); - -function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _$index_29 = { exports: {} }; -"use strict"; - -Object.defineProperty(_$index_29.exports, "__esModule", { - value: true -}); -_$index_29.exports.init = __init_29; -_$index_29.exports["default"] = void 0; - -var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); - -var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); - -_$types_45; - -var ___extend_29 = ___interopRequireDefault_29(_$extend_53); - -var snappers = ___interopRequireWildcard_29(_$snappers_65); - -function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { - __init_29(window); -} - -function __init_29(win) { - (0, ___interact_29.init)(win); - return ___interact_29["default"].use({ - id: 'interactjs', - install: function install() { - ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); - ___interact_29["default"].snappers = snappers; - ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; - } - }); -} - -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 - -if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { - _$index_29.exports = ___interact_29["default"]; -} - -_$index_29 = _$index_29.exports -return _$index_29; - -}); - - -//# sourceMappingURL=interact.js.map - - /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.common.js.map b/dist/vue-grid-layout.common.js.map index 377db114..f2fb2210 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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?f4e6","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/./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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?a307","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./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":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA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CA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,oEAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AAhOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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,uBAAu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AC,EAAjC;AACI,QAAI8I,KAAK,CAAC9I,CAAD,CAAL,CAAS+I,QAAT,KAAsBP,KAA1B,EACI,OAAO,IAAP;AAFR;;AAIA,SAAO,KAAP;AACH;AAEM,SAASQ,aAAT,CAAuBF,KAAvB,EAA8BC,QAA9B,EAAwCP,KAAxC,EAA+C;AAClDM,OAAK,CAAC3J,OAAN,CAAc,UAAUoH,MAAV,EAAkB0C,KAAlB,EAAyB;AACnC,QAAI1C,MAAM,CAACwC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;;;;;;;AC9kBY;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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,WA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AlBA;AAmBA,gBAnBA;AAqBA,yBArBA;AAsBA,2BAtBA;AAwBA,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAA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AyE,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,2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A;;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,OA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AAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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,eAA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E,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,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;;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;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,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,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;;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,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;A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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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","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 +{"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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?0c71","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/./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/interactjs/dist/interact.min.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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?d9a3","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA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CA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,oEAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AAhOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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,uBAAu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;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;AC7DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;ACLA,uBAAuB;AACvB;AACA;AACA;;;;;;;;ACHA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAga;AACtb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;;ACRrE;AACb;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,cAAc,mBAAO,CAAC,MAAgB;AACtC,WAAW,mBAAO,CAAC,MAAgB;AACnC,UAAU,mBAAO,CAAC,MAAe;AACjC,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,MAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACrCD;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;ACLzC,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA,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;;;;;;;;ACHA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,UAAU,mBAAO,CAAC,MAAc;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;;AAE1B;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA,SAAS,mBAAO,CAAC,MAAc;AAC/B;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;ACfD,6BAA6B;AAC7B,uCAAuC;;;;;;;;ACDvC;;;;;;;;ACAA,iBAAiB,mBAAO,CAAC,MAA2C,E;;;;;;;ACApE,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,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,cAAc,mBAAO,CAAC,MAAQ,iBAAiB,mBAAO,CAAC,MAAgB;AACvE;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;;ACxBA,gC;;;;;;;ACAA;AACA,kBAAkB,mBAAO,CAAC,MAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;ACHD;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAa;AACnC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,WAAW,mBAAO,CAAC,MAAgB;AACnC,qBAAqB,mBAAO,CAAC,MAAoB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACrBD;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;;;;;;;;ACNA;AACA,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA;AACA;AACA;AACA;;;;;;;;ACTA;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,kBAAkB,mBAAO,CAAC,MAAQ;AAClC;AACA,0CAA0C,mBAAO,CAAC,MAAS,6BAA6B;AACxF;AACA;AACA;;;;;;;;ACNA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,kBAAkB,gCAAgC,wBAAwB,2CAA2C,mCAAmC,wBAAwB,sBAAsB,kBAAkB,6BAA6B,8CAA8C,sCAAsC,8BAA8B,gDAAgD,OAAO,WAAW,wCAAwC,UAAU,QAAQ,wBAAwB,WAAW,UAAU,sCAAsC,wBAAwB,gBAAgB,UAAU,oCAAoC,eAAe,WAAW,gCAAgC,wBAAwB,UAAU,yBAAyB,sBAAsB,qBAAqB,oBAAoB,iBAAiB,qCAAqC,kBAAkB,WAAW,YAAY,SAAS,QAAQ,oCAAoC,mNAAmN,8BAA8B,oBAAoB,4BAA4B,8BAA8B,8BAA8B,sBAAsB,iBAAiB,yCAAyC,SAAS,OAAO,kCAAkC,6hBAA6hB,2BAA2B,iBAAiB,4BAA4B,8BAA8B,iBAAiB,WAAW,kCAAkC,yBAAyB,sBAAsB,qBAAqB,iBAAiB;;AAEhuE;;;;;;;;ACPA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA,2DAA2D;AAC3D;;;;;;;;ACLA;AACA,kBAAkB,mBAAO,CAAC,MAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHD;;;;;;;;;AAOA;;AACA;;;;;;;;AAQA;;;;AAEA;AAEA;;AACA;;;;;;;;;AAMO,SAASM,MAAT,CAAgBX;AAAhB;AAAA;AAAA;AAAwC;AAC7C,MAAIY,GAAG,GAAG,CAAV;AAAA,MAAaC,OAAb;;AACA,OAAK,IAAI3B,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD2B,WAAO,GAAGb,MAAM,CAACd,CAAD,CAAN,CAAW4B,CAAX,GAAed,MAAM,CAACd,CAAD,CAAN,CAAU6B,CAAnC;AACA,QAAIF,OAAO,GAAGD,GAAd,EAAmBA,GAAG,GAAGC,OAAN;AACpB;;AACD,SAAOD,GAAP;AACD;AAEM,SAASb,WAAT,CAAqBC;AAArB;AAAA;AAAA;AAA6C;AAClD,MAAMgB,SAAS,GAAGC,KAAK,CAACjB,MAAM,CAACZ,MAAR,CAAvB;;AACA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD8B,aAAS,CAAC9B,CAAD,CAAT,GAAegC,eAAe,CAAClB,MAAM,CAACd,CAAD,CAAP,CAA9B;AACD;;AACD,SAAO8B,SAAP;AACD,C,CAED;;AACO,SAASE,eAAT,CAAyBC;AAAzB;AAAA;AAAA;AAA6D;AAClE;;;;;;;AAOE,SAAOC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAeH,UAAf,CAAX,CAAP;AACH;AAED;;;;;;AAKO,SAASI,QAAT,CAAkBC;AAAlB;AAAA,EAAkCC;AAAlC;AAAA;AAAA;AAA2D;AAChE,MAAID,EAAE,KAAKC,EAAX,EAAe,OAAO,KAAP,CADiD,CACnC;;AAC7B,MAAID,EAAE,CAACE,CAAH,GAAOF,EAAE,CAACG,CAAV,IAAeF,EAAE,CAACC,CAAtB,EAAyB,OAAO,KAAP,CAFuC,CAEzB;;AACvC,MAAIF,EAAE,CAACE,CAAH,IAAQD,EAAE,CAACC,CAAH,GAAOD,EAAE,CAACE,CAAtB,EAAyB,OAAO,KAAP,CAHuC,CAGzB;;AACvC,MAAIH,EAAE,CAACV,CAAH,GAAOU,EAAE,CAACT,CAAV,IAAeU,EAAE,CAACX,CAAtB,EAAyB,OAAO,KAAP,CAJuC,CAIzB;;AACvC,MAAIU,EAAE,CAACV,CAAH,IAAQW,EAAE,CAACX,CAAH,GAAOW,EAAE,CAACV,CAAtB,EAAyB,OAAO,KAAP,CALuC,CAKzB;;AACvC,SAAO,IAAP,CANgE,CAMnD;AACd;AAED;;;;;;;;;;AASO,SAAST,OAAT,CAAiBN;AAAjB;AAAA,EAAiCF;AAAjC;AAAA;AAAA;AAAmE;AACtE;AACF,MAAM8B,WAAW,GAAGC,UAAU,CAAC7B,MAAD,CAA9B,CAFwE,CAGxE;;AACA,MAAMjB,MAAM,GAAG+C,uBAAuB,CAAC9B,MAAD,CAAtC,CAJwE,CAKxE;;AACA,MAAM+B,GAAG,GAAGd,KAAK,CAACjB,MAAM,CAACZ,MAAR,CAAjB;;AAEA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAI8C,CAAC,GAAGjD,MAAM,CAACG,CAAD,CAAd,CADiD,CAGjD;;AACA,QAAI,CAAC8C,CAAC,CAACC,MAAP,EAAe;AACbD,OAAC,GAAGE,WAAW,CAACN,WAAD,EAAcI,CAAd,EAAiBlC,eAAjB,CAAf,CADa,CAGb;AACA;;AACA8B,iBAAW,CAACO,IAAZ,CAAiBH,CAAjB;AACD,KAVgD,CAYjD;;;AACAD,OAAG,CAAC/B,MAAM,CAACI,OAAP,CAAe4B,CAAf,CAAD,CAAH,GAAyBA,CAAzB,CAbiD,CAejD;;AACAA,KAAC,CAACI,KAAF,GAAU,KAAV;AACD;;AAED,SAAOL,GAAP;AACD;AAED;;;;AAGO,SAASG,WAAT,CAAqBN;AAArB;AAAA,EAA0CI;AAA1C;AAAA,EAAyDlC;AAAzD;AAAA;AAAA;AAA+F;AACpG,MAAIA,eAAJ,EAAqB;AACnB;AACA,WAAOkC,CAAC,CAAClB,CAAF,GAAM,CAAN,IAAW,CAACuB,iBAAiB,CAACT,WAAD,EAAcI,CAAd,CAApC,EAAsD;AACpDA,OAAC,CAAClB,CAAF;AACD;AACF,GANmG,CAQpG;;;AACA,MAAIS,QAAJ;;AACA,SAAOA,QAAQ,GAAGc,iBAAiB,CAACT,WAAD,EAAcI,CAAd,CAAnC,EAAsD;AACpDA,KAAC,CAAClB,CAAF,GAAMS,QAAQ,CAACT,CAAT,GAAaS,QAAQ,CAACR,CAA5B;AACD;;AACD,SAAOiB,CAAP;AACD;AAED;;;;;;;AAMO,SAASzB,aAAT,CAAuBP;AAAvB;AAAA,EAAuCsC;AAAvC;AAAA;AAAA;AAAuE;AAC5E,MAAMC,YAAY,GAAGV,UAAU,CAAC7B,MAAD,CAA/B;;AACA,OAAK,IAAId,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAM8C,CAAC,GAAGhC,MAAM,CAACd,CAAD,CAAhB,CADiD,CAEjD;;AACA,QAAI8C,CAAC,CAACN,CAAF,GAAMM,CAAC,CAACL,CAAR,GAAYW,MAAM,CAAC9C,IAAvB,EAA6BwC,CAAC,CAACN,CAAF,GAAMY,MAAM,CAAC9C,IAAP,GAAcwC,CAAC,CAACL,CAAtB,CAHoB,CAIjD;;AACA,QAAIK,CAAC,CAACN,CAAF,GAAM,CAAV,EAAa;AACXM,OAAC,CAACN,CAAF,GAAM,CAAN;AACAM,OAAC,CAACL,CAAF,GAAMW,MAAM,CAAC9C,IAAb;AACD;;AACD,QAAI,CAACwC,CAAC,CAACC,MAAP,EAAeM,YAAY,CAACJ,IAAb,CAAkBH,CAAlB,EAAf,KACK;AACH;AACA;AACA,aAAMK,iBAAiB,CAACE,YAAD,EAAeP,CAAf,CAAvB,EAA0C;AACxCA,SAAC,CAAClB,CAAF;AACD;AACF;AACF;;AACD,SAAOd,MAAP;AACD;AAED;;;;;;;;AAOO,SAASwC,aAAT,CAAuBxC;AAAvB;AAAA,EAAuCyC;AAAvC;AAAA;AAAA;AAAgE;AACrE,OAAK,IAAIvD,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIc,MAAM,CAACd,CAAD,CAAN,CAAUA,CAAV,KAAgBuD,EAApB,EAAwB,OAAOzC,MAAM,CAACd,CAAD,CAAb;AACzB;AACF;AAED;;;;;;;;;AAQO,SAASmD,iBAAT,CAA2BrC;AAA3B;AAAA,EAA2CmB;AAA3C;AAAA;AAAA;AAAgF;AACrF,OAAK,IAAIjC,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIqC,QAAQ,CAACvB,MAAM,CAACd,CAAD,CAAP,EAAYiC,UAAZ,CAAZ,EAAqC,OAAOnB,MAAM,CAACd,CAAD,CAAb;AACtC;AACF;AAEM,SAASwD,gBAAT,CAA0B1C;AAA1B;AAAA,EAA0CmB;AAA1C;AAAA;AAAA;AAAqF;AAC1F,SAAOnB,MAAM,CAAC2C,MAAP,CAAc,UAACX,CAAD;AAAA,WAAOT,QAAQ,CAACS,CAAD,EAAIb,UAAJ,CAAf;AAAA,GAAd,CAAP;AACD;AAED;;;;;;AAKO,SAASU,UAAT,CAAoB7B;AAApB;AAAA;AAAA;AAAuD;AAC1D;AACA,SAAOA,MAAM,CAAC2C,MAAP,CAAc,UAACX,CAAD;AAAA,WAAOA,CAAC,CAACC,MAAT;AAAA,GAAd,CAAP;AACH;AAED;;;;;;;;;;;AAUO,SAASW,WAAT,CAAqB5C;AAArB;AAAA,EAAqCgC;AAArC;AAAA,EAAoDN;AAApD;AAAA,EAA+DZ;AAA/D;AAAA,EAA0E+B;AAA1E;AAAA,EAAiGC;AAAjG;AAAA;AAAA;AAAoI;AACzI,MAAId,CAAC,CAACC,MAAN,EAAc,OAAOjC,MAAP,CAD2H,CAGzI;AACA;;AAEA,MAAM+C,IAAI,GAAGf,CAAC,CAACN,CAAf;AACA,MAAMsB,IAAI,GAAGhB,CAAC,CAAClB,CAAf;AAEA,MAAMmC,QAAQ,GAAGnC,CAAC,IAAIkB,CAAC,CAAClB,CAAF,GAAMA,CAA5B,CATyI,CAUzI;;AACA,MAAI,OAAOY,CAAP,KAAa,QAAjB,EAA2BM,CAAC,CAACN,CAAF,GAAMA,CAAN;AAC3B,MAAI,OAAOZ,CAAP,KAAa,QAAjB,EAA2BkB,CAAC,CAAClB,CAAF,GAAMA,CAAN;AAC3BkB,GAAC,CAACI,KAAF,GAAU,IAAV,CAbyI,CAezI;AACA;AACA;AACA;;AACA,MAAIrD,MAAM,GAAG+C,uBAAuB,CAAC9B,MAAD,CAApC;AACA,MAAIiD,QAAJ,EAAclE,MAAM,GAAGA,MAAM,CAACmE,OAAP,EAAT;AACd,MAAMC,UAAU,GAAGT,gBAAgB,CAAC3D,MAAD,EAASiD,CAAT,CAAnC;;AAEA,MAAIc,gBAAgB,IAAIK,UAAU,CAAC/D,MAAnC,EAA2C;AACzC4C,KAAC,CAACN,CAAF,GAAMqB,IAAN;AACAf,KAAC,CAAClB,CAAF,GAAMkC,IAAN;AACAhB,KAAC,CAACI,KAAF,GAAU,KAAV;AACA,WAAOpC,MAAP;AACD,GA5BwI,CA8BzI;;;AACA,OAAK,IAAId,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGgE,UAAU,CAAC/D,MAAjC,EAAyCF,CAAC,GAAGC,GAA7C,EAAkDD,CAAC,EAAnD,EAAuD;AACrD,QAAMkE,SAAS,GAAGD,UAAU,CAACjE,CAAD,CAA5B,CADqD,CAErD;AAEA;;AACA,QAAIkE,SAAS,CAAChB,KAAd,EAAqB,SALgC,CAOrD;;AACA,QAAIJ,CAAC,CAAClB,CAAF,GAAMsC,SAAS,CAACtC,CAAhB,IAAqBkB,CAAC,CAAClB,CAAF,GAAMsC,SAAS,CAACtC,CAAhB,GAAoBsC,SAAS,CAACrC,CAAV,GAAc,CAA3D,EAA8D,SART,CAUrD;;AACA,QAAIqC,SAAS,CAACnB,MAAd,EAAsB;AACpBjC,YAAM,GAAGqD,4BAA4B,CAACrD,MAAD,EAASoD,SAAT,EAAoBpB,CAApB,EAAuBa,YAAvB,CAArC;AACD,KAFD,MAEO;AACL7C,YAAM,GAAGqD,4BAA4B,CAACrD,MAAD,EAASgC,CAAT,EAAYoB,SAAZ,EAAuBP,YAAvB,CAArC;AACD;AACF;;AAED,SAAO7C,MAAP;AACD;AAED;;;;;;;;;;;AAUO,SAASqD,4BAAT,CAAsCrD;AAAtC;AAAA,EAAsDuC;AAAtD;AAAA,EACsCe;AADtC;AAAA,EAC8DT;AAD9D;AAAA;AAAA;AAC8F;AAEnG,MAAMC,gBAAgB,GAAG,KAAzB,CAFmG,CAEpE;AAC/B;AACA;AACA;;AACA,MAAID,YAAJ,EAAkB;AAChB;AACA,QAAMU;AAAoB;AAAA,MAAG;AAC3B7B,OAAC,EAAE4B,UAAU,CAAC5B,CADa;AAE3BZ,OAAC,EAAEwC,UAAU,CAACxC,CAFa;AAG3Ba,OAAC,EAAE2B,UAAU,CAAC3B,CAHa;AAI3BZ,OAAC,EAAEuC,UAAU,CAACvC,CAJa;AAK3B7B,OAAC,EAAE;AALwB,KAA7B;AAOAqE,YAAQ,CAACzC,CAAT,GAAa0C,IAAI,CAAC5C,GAAL,CAAS2B,YAAY,CAACzB,CAAb,GAAiBwC,UAAU,CAACvC,CAArC,EAAwC,CAAxC,CAAb;;AACA,QAAI,CAACsB,iBAAiB,CAACrC,MAAD,EAASuD,QAAT,CAAtB,EAA0C;AACxC,aAAOX,WAAW,CAAC5C,MAAD,EAASsD,UAAT,EAAqBG,SAArB,EAAgCF,QAAQ,CAACzC,CAAzC,EAA4CgC,gBAA5C,CAAlB;AACD;AACF,GAnBkG,CAqBnG;AACA;;;AACA,SAAOF,WAAW,CAAC5C,MAAD,EAASsD,UAAT,EAAqBG,SAArB,EAAgCH,UAAU,CAACxC,CAAX,GAAe,CAA/C,EAAkDgC,gBAAlD,CAAlB;AACD;AAED;;;;;;;AAMO,SAASY,IAAT,CAAcC;AAAd;AAAA;AAAA;AAAmC;AACxC,SAAOA,GAAG,GAAG,GAAN,GAAY,GAAnB;AACD;AAEM,SAASC,YAAT,CAAsBC,GAAtB,EAA2BC,IAA3B,EAAiChF,KAAjC,EAAwCiF,MAAxC;AAAA;AAAwD;AAC7D;AACA,MAAMC,SAAS,GAAG,iBAAiBF,IAAjB,GAAwB,KAAxB,GAAgCD,GAAhC,GAAsC,QAAxD;AACA,SAAO;AACLI,aAAS,EAAED,SADN;AAELE,mBAAe,EAAEF,SAFZ;AAGLG,gBAAY,EAAEH,SAHT;AAILI,eAAW,EAAEJ,SAJR;AAKLK,cAAU,EAAEL,SALP;AAMLlF,SAAK,EAAEA,KAAK,GAAG,IANV;AAOLiF,UAAM,EAAEA,MAAM,GAAG,IAPZ;AAQLO,YAAQ,EAAE;AARL,GAAP;AAUD;AACD;;;;;;;;;;AASO,SAASC,eAAT,CAAyBV,GAAzB,EAA8BW,KAA9B,EAAqC1F,KAArC,EAA4CiF,MAA5C;AAAA;AAA4D;AAC/D;AACA,MAAMC,SAAS,GAAG,iBAAiBQ,KAAK,GAAG,CAAC,CAA1B,GAA8B,KAA9B,GAAsCX,GAAtC,GAA4C,QAA9D;AACA,SAAO;AACHI,aAAS,EAAED,SADR;AAEHE,mBAAe,EAAEF,SAFd;AAGHG,gBAAY,EAAEH,SAHX;AAIHI,eAAW,EAAEJ,SAJV;AAKHK,cAAU,EAAEL,SALT;AAMHlF,SAAK,EAAEA,KAAK,GAAG,IANZ;AAOHiF,UAAM,EAAEA,MAAM,GAAG,IAPd;AAQHO,YAAQ,EAAE;AARP,GAAP;AAUH;AAEM,SAASG,UAAT,CAAoBZ,GAApB,EAAyBC,IAAzB,EAA+BhF,KAA/B,EAAsCiF,MAAtC;AAAA;AAAsD;AACzD,SAAO;AACHF,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHC,QAAI,EAAEA,IAAI,GAAG,IAFV;AAGHhF,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHiF,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AACD;;;;;;;;;;AASO,SAASI,WAAT,CAAqBb,GAArB,EAA0BW,KAA1B,EAAiC1F,KAAjC,EAAwCiF,MAAxC;AAAA;AAAwD;AAC3D,SAAO;AACHF,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHW,SAAK,EAAEA,KAAK,GAAE,IAFX;AAGH1F,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHiF,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AAGD;;;;;;;AAMO,SAASxC,uBAAT,CAAiC9B;AAAjC;AAAA;AAAA;AAAyD;AAC9D,SAAO,GAAG2E,MAAH,CAAU3E,MAAV,EAAkBS,IAAlB,CAAuB,UAASC,CAAT,EAAYL,CAAZ,EAAe;AAC3C,QAAIK,CAAC,CAACI,CAAF,KAAQT,CAAC,CAACS,CAAV,IAAeJ,CAAC,CAACgB,CAAF,KAAQrB,CAAC,CAACqB,CAA7B,EAAgC;AAC9B,aAAO,CAAP;AACD;;AAED,QAAIhB,CAAC,CAACI,CAAF,GAAMT,CAAC,CAACS,CAAR,IAAcJ,CAAC,CAACI,CAAF,KAAQT,CAAC,CAACS,CAAV,IAAeJ,CAAC,CAACgB,CAAF,GAAMrB,CAAC,CAACqB,CAAzC,EAA6C;AAC3C,aAAO,CAAP;AACD;;AAED,WAAO,CAAC,CAAR;AACD,GAVM,CAAP;AAWD;AAED;;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;;;;;;;AAOO,SAASkD,cAAT,CAAwB5E;AAAxB;AAAA,EAAwC6E;AAAxC;AAAA;AAAA;AAAmE;AACxEA,aAAW,GAAGA,WAAW,IAAI,QAA7B;AACA,MAAMC,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAAjB;AACA,MAAI,CAAC7D,KAAK,CAAC8D,OAAN,CAAc/E,MAAd,CAAL,EAA4B,MAAM,IAAIP,KAAJ,CAAUoF,WAAW,GAAG,oBAAxB,CAAN;;AAC5B,OAAK,IAAI3F,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAM8F,IAAI,GAAGhF,MAAM,CAACd,CAAD,CAAnB;;AACA,SAAK,IAAI+F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,QAAQ,CAAC1F,MAA7B,EAAqC6F,CAAC,EAAtC,EAA0C;AACxC,UAAI,OAAOD,IAAI,CAACF,QAAQ,CAACG,CAAD,CAAT,CAAX,KAA6B,QAAjC,EAA2C;AACzC,cAAM,IAAIxF,KAAJ,CAAU,oBAAoBoF,WAApB,GAAkC,GAAlC,GAAwC3F,CAAxC,GAA4C,IAA5C,GAAmD4F,QAAQ,CAACG,CAAD,CAA3D,GAAiE,oBAA3E,CAAN;AACD;AACF;;AACD,QAAID,IAAI,CAAC9F,CAAL,IAAU,OAAO8F,IAAI,CAAC9F,CAAZ,KAAkB,QAAhC,EAA0C,CACxC;AACE;AACF;AACD;;AACD,QAAI8F,IAAI,CAAC/C,MAAL,KAAgBwB,SAAhB,IAA6B,OAAOuB,IAAI,CAAC/C,MAAZ,KAAuB,SAAxD,EAAmE;AACjE,YAAM,IAAIxC,KAAJ,CAAU,oBAAoBoF,WAApB,GAAkC,GAAlC,GAAwC3F,CAAxC,GAA4C,6BAAtD,CAAN;AACD;AACF;AACF,C,CAED;;AACO,SAASgG,gBAAT,CAA0BC;AAA1B;AAAA,EAAsCC;AAAtC;AAAA;AAAA;AAAgE;AACrEA,KAAG,CAAC/G,OAAJ,CAAY,UAACgH,GAAD;AAAA,WAASF,EAAE,CAACE,GAAD,CAAF,GAAUF,EAAE,CAACE,GAAD,CAAF,CAAQC,IAAR,CAAaH,EAAb,CAAnB;AAAA,GAAZ;AACD;AAID;;;;;;AAKO,SAASI,YAAT,CAAsBC,GAAtB,EAA2B;AAC9B,MAAIpH,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAYoH,GAAZ,CAAX;AACA,MAAI,CAACpH,IAAI,CAACgB,MAAV,EAAkB,OAAO,EAAP;AAClB,MAAIF,CAAJ;AAAA,MAAOC,GAAG,GAAGf,IAAI,CAACgB,MAAlB;AACA,MAAIqG,MAAM,GAAG,EAAb;;AAEA,OAAKvG,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGC,GAAhB,EAAqBD,CAAC,EAAtB,EAA0B;AACtB,QAAImG,GAAG,GAAGjH,IAAI,CAACc,CAAD,CAAd;AACA,QAAIwG,GAAG,GAAGF,GAAG,CAACH,GAAD,CAAb;AACAI,UAAM,IAAIE,SAAS,CAACN,GAAD,CAAT,GAAiB,GAAjB,GAAuBO,KAAK,CAACP,GAAD,EAAMK,GAAN,CAA5B,GAAyC,GAAnD;AACH;;AAED,SAAOD,MAAP;AACH;AAGD;;AACO,IAAII,WAAW,GAAG;AACrBC,yBAAuB,EAAE,IADJ;AAErBC,SAAO,EAAE,IAFY;AAGrBC,cAAY,EAAE,IAHO;AAIrBC,iBAAe,EAAE,IAJI;AAKrBC,aAAW,EAAE,IALQ;AAMrBC,MAAI,EAAE,IANe;AAOrBC,UAAQ,EAAE,IAPW;AAQrBC,cAAY,EAAE,IARO;AASrBC,YAAU,EAAE,IATS;AAUrBC,cAAY,EAAE,IAVO;AAWrBC,WAAS,EAAE,IAXU;AAYrBC,SAAO,EAAE,IAZY;AAarBC,YAAU,EAAE,IAbS;AAcrBC,YAAU,EAAE,IAdS;AAerBC,WAAS,EAAE,IAfU;AAgBrBC,YAAU,EAAE,IAhBS;AAiBrBC,SAAO,EAAE,IAjBY;AAkBrBC,OAAK,EAAE,IAlBc;AAmBrBC,SAAO,EAAE,IAnBY;AAoBrBC,SAAO,EAAE,IApBY;AAqBrBC,QAAM,EAAE,IArBa;AAsBrBC,QAAM,EAAE,IAtBa;AAuBrBC,MAAI,EAAE,IAvBe;AAyBrB;AACAC,aAAW,EAAE,IA1BQ;AA2BrBC,aAAW,EAAE,IA3BQ;AA4BrBC,kBAAgB,EAAE,IA5BG;AA6BrBC,eAAa,EAAE,IA7BM;AA8BrBC,aAAW,EAAE;AA9BQ,CAAlB;AAkCP;;;;;;;AAMO,SAAS7B,KAAT,CAAetH,IAAf,EAAqBoJ,KAArB,EAA4B;AAC/B,MAAG,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAAC7B,WAAW,CAAEvH,IAAF,CAA5C,EAAsD;AAClD,WAAOoJ,KAAK,GAAG,IAAf;AACH,GAFD,MAEO;AACH,WAAOA,KAAP;AACH;AACJ;AAGD;;;;;;;AAOO,IAAIC,WAAW,GAAG,mBAAlB;AAEA,SAAShC,SAAT,CAAmBiC,GAAnB,EAAwB;AAC3B,SAAOA,GAAG,CAACC,OAAJ,CAAYF,WAAZ,EAAyB,OAAzB,EAAkCG,WAAlC,EAAP;AACH;AAGM,SAASC,eAAT,CAAyBC,KAAzB,EAAgCC,QAAhC,EAA0CP,KAA1C,EAAiD;AACpD,OAAK,IAAIxI,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAG8I,KAAK,CAAC5I,MAAxB,EAAgCF,CAAC,EAAjC;AACI,QAAI8I,KAAK,CAAC9I,CAAD,CAAL,CAAS+I,QAAT,KAAsBP,KAA1B,EACI,OAAO,IAAP;AAFR;;AAIA,SAAO,KAAP;AACH;AAEM,SAASQ,aAAT,CAAuBF,KAAvB,EAA8BC,QAA9B,EAAwCP,KAAxC,EAA+C;AAClDM,OAAK,CAAC3J,OAAN,CAAc,UAAUoH,MAAV,EAAkB0C,KAAlB,EAAyB;AACnC,QAAI1C,MAAM,CAACwC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;;;;;;;AC9kBY;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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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AIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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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O;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;AACI;;;;;;;;ACHtB;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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 3dc2bef7..92d47ee7 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -1302,7 +1302,7 @@ module.exports = __webpack_require__("8e60") ? function (object, key, value) { "use strict"; -// 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=6594d2a5& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"495e29ea-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=6594d2a5& 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)} var staticRenderFns = [] @@ -2539,6 +2539,16 @@ module.exports = function (it) { }; +/***/ }), + +/***/ "5014": +/***/ (function(module, exports, __webpack_require__) { + +/* interact.js 1.9.22 | https://raw.github.com/taye/interact.js/master/LICENSE */ +!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=o,e.getWindow=function(e){if((0,t.default)(e))return e;return(e.ownerDocument||e).defaultView||r.window},e.window=e.realWindow=void 0;var n=void 0;e.realWindow=n;var r=void 0;function o(t){e.realWindow=n=t;var o=t.document.createTextNode("");o.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(o)===o&&(t=t.wrap(t)),e.window=r=t}e.window=r,"undefined"!=typeof window&&window&&o(window);var i={};function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var s=function(t){return!!t&&"object"===a(t)},l=function(t){return"function"==typeof t},u={window:function(n){return n===e.window||(0,t.default)(n)},docFrag:function(t){return s(t)&&11===t.nodeType},object:s,func:l,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==a(t))return!1;var n=e.getWindow(t)||e.window;return/object|function/.test(a(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return s(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return s(t)&&void 0!==t.length&&l(t.splice)}};i.default=u;var c={};function f(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function d(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=p.draggable,e.map.drag=p,e.methodDict.drag="draggable",r.actions.drag=p.defaults},listeners:{"interactions:before-action-move":f,"interactions:action-resume":f,"interactions:action-move":d,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return i.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):i.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:f,move:d,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},v=p;c.default=v;var h={};Object.defineProperty(h,"__esModule",{value:!0}),h.default=void 0;var g={init:function(t){var e=t;g.document=e.document,g.DocumentFragment=e.DocumentFragment||y,g.SVGElement=e.SVGElement||y,g.SVGSVGElement=e.SVGSVGElement||y,g.SVGElementInstance=e.SVGElementInstance||y,g.Element=e.Element||y,g.HTMLElement=e.HTMLElement||g.Element,g.Event=e.Event,g.Touch=e.Touch||y,g.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function y(){}var m=g;h.default=m;var b={};Object.defineProperty(b,"__esModule",{value:!0}),b.default=void 0;var x={init:function(t){var n=h.default.Element,r=e.window.navigator;x.supportsTouch="ontouchstart"in t||i.default.func(t.DocumentTouch)&&h.default.document instanceof t.DocumentTouch,x.supportsPointerEvent=!1!==r.pointerEnabled&&!!h.default.PointerEvent,x.isIOS=/iP(hone|od|ad)/.test(r.platform),x.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),x.isIe9=/MSIE 9/.test(r.userAgent),x.isOperaMobile="Opera"===r.appName&&x.supportsTouch&&/Presto/.test(r.userAgent),x.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",x.pEventTypes=x.supportsPointerEvent?h.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,x.wheelEvent="onmousewheel"in h.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var w=x;b.default=w;var _={};function S(t){var e=t.parentNode;if(i.default.docFrag(e)){for(;(e=e.host)&&i.default.docFrag(e););return e}return e}function P(t,n){return e.window!==e.realWindow&&(n=n.replace(/\/deep\//g," ")),t[b.default.prefixedMatchesSelector](n)}Object.defineProperty(_,"__esModule",{value:!0}),_.nodeContains=function(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1},_.closest=function(t,e){for(;i.default.element(t);){if(P(t,e))return t;t=S(t)}return null},_.parentNode=S,_.matchesSelector=P,_.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,g,y,m;return n},_.matchesUpTo=function(t,e,n){for(;i.default.element(t);){if(P(t,e))return!0;if((t=S(t))===n)return P(t,e)}return!1},_.getActualElement=function(t){return t.correspondingUseElement||t},_.getScrollXY=T,_.getElementClientRect=M,_.getElementRect=function(t){var n=M(t);if(!b.default.isIOS7&&n){var r=T(e.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){var e=[];for(;t;)e.push(t),t=S(t);return e},_.trySelector=function(t){if(!i.default.string(t))return!1;return h.default.document.querySelector(t),!0};var O=function(t){return t.parentNode||t.host};function E(t,e){for(var n,r=[],o=t;(n=O(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function T(t){return{x:(t=t||e.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function M(t){var e=t instanceof h.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var j={};Object.defineProperty(j,"__esModule",{value:!0}),j.default=function(t,e){for(var n in e)t[n]=e[n];return t};var k={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?q(e):e[0];U(r,t.page),N(r,t.client),t.timeStamp=n},W.getTouchPair=V,W.pointerAverage=q,W.touchBBox=function(t){if(!t.length)return null;var e=V(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},W.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=V(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,R.default)(i,a)},W.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=V(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},W.getPointerType=function(t){return i.default.string(t.pointerType)?t.pointerType:i.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof h.default.Touch?"touch":"mouse"},W.getEventTargets=function(t){var e=i.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},W.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},W.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(W,"pointerExtend",{enumerable:!0,get:function(){return F.default}});var $={};function G(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&i.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,a,r,o));return l}(this,t,e,n,r,o,a)},n.dynamicDrop=function(e){return i.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,j.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=vt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ut(e,n.element),o.events=ft(n,0,r),o.events.activate&&(lt(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":pt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(dt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:action-end":function(t,e){if("drag"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;pt(t,e),dt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ut,getDrop:ct,getDropEvents:ft,fireDropEvents:dt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},ht=vt;st.default=ht;var gt={};function yt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),a="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=W.touchDistance(o,l),n.box=W.touchBBox(o),n.scale=1,n.ds=0,n.angle=W.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=W.touchDistance(o,l),n.box=W.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=W.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,i.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=void 0;var mt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return i.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):i.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=mt,e.methodDict.gesture="gesturable",r.actions.gesture=mt.defaults},listeners:{"interactions:action-start":yt,"interactions:action-move":yt,"interactions:action-end":yt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},bt=mt;gt.default=bt;var xt={};function wt(t,e,n,r,o,a,s){if(!e)return!1;if(!0===e){var l=i.default.number(a.width)?a.width:a.right-a.left,u=i.default.number(a.height)?a.height:a.bottom-a.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?a.left:a.right)+s;if("top"===t)return n.y<(u>=0?a.top:a.bottom)+s;if("right"===t)return n.x>(l>=0?a.right:a.left)-s;if("bottom"===t)return n.y>(u>=0?a.bottom:a.top)-s}return!!i.default.element(r)&&(i.default.element(e)?e===r:_.matchesUpTo(r,e,o))}function _t(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(xt,"__esModule",{value:!0}),xt.default=void 0;var St={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;St.cursors=function(t){return t.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"}}(n),St.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(i.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),i.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),i.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:i.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(i.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=St,e.methodDict.resize="resizable",o.actions.resize=St.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,j.default)({},o),corrected:(0,j.default)({},o),previous:(0,j.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),_t(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,j.default)(f,u),i){if((0,j.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),_t(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,a=t.buttons;if(o){var s=(0,j.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(a&l.mouseButtons))){if(i.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=wt(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||St.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-St.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-St.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=St.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:zt.x*u,y:zt.y*u};if(c.x||c.y){var f=Rt(a);i.default.window(a)?a.scrollBy(c.x,c.y):a&&(a.scrollLeft+=c.x,a.scrollTop+=c.y);var d=Rt(a),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:a})}zt.prevTime=s}zt.isScrolling&&(Mt.default.cancel(zt.i),zt.i=Mt.default.request(zt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&zt.check(e.interactable,e.prepared.name))if(e.simulation)zt.x=zt.y=0;else{var r,o,a,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ct(f.container,l,u);if(i.default.window(d))s=n.clientXd.innerWidth-zt.margin,a=n.clientY>d.innerHeight-zt.margin;else{var p=_.getElementClientRect(d);s=n.clientXp.right-zt.margin,a=n.clientY>p.bottom-zt.margin}zt.x=o?1:s?-1:0,zt.y=a?1:r?-1:0,zt.isScrolling||(zt.margin=f.margin,zt.speed=f.speed,zt.start(e))}}};function Ct(t,n,r){return(i.default.string(t)?(0,k.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Rt(t){return i.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Ft={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=zt,zt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=zt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,zt.stop(),zt.interaction&&(zt.interaction=null)},"interactions:stop":zt.stop,"interactions:action-move":function(t){return zt.onInteractionMove(t)}}};At.default=Ft;var Xt={};Object.defineProperty(Xt,"__esModule",{value:!0}),Xt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.window.console.warn(n),r=!0),t.apply(this,arguments)}},Xt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Yt={};function Wt(t){return i.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Lt(t){return i.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.default=void 0;var Bt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Lt,e.prototype.styleCursor=Wt}};Yt.default=Bt;var Ut={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Gt(e,n,t,o)?t:null}function Vt(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Ht(t,e){return i.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Kt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Zt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var a="";if(o.name){var s=n.options[o.name].cursorChecker;a=i.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Kt(t.element,a||"",e)}else e.autoStart.cursorElement&&Kt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.default=void 0;var Jt={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Yt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,j.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Ht(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Gt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||$t(n,qt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||$t(n,qt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Gt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Zt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Kt(n.element,"",e)}},maxInteractions:Ht,withinInteractionLimit:Gt,validateAction:Nt};Ut.default=Jt;var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.default=void 0;var te={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,a=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(a),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ne(e)>0&&(e.prepared.name=null)}},getHoldDuration:ne};ee.default=re;var oe={};Object.defineProperty(oe,"__esModule",{value:!0}),oe.default=void 0;var ie={id:"auto-start",install:function(t){t.usePlugin(Ut.default),t.usePlugin(ee.default),t.usePlugin(Qt.default)}};oe.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;ae.default={};var se={};function le(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):i.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function ue(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function ce(t){var n=t.Interactable;n.prototype.preventDefault=le,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var a=(0,e.getWindow)(r.target).document,s=n.getDocOptions(a);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||i.default.element(r.target)&&(0,_.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,j.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Re(e.prototype,n),r&&Re(e,r),i}($.BaseEvent);ze.InteractEvent=Be,Object.defineProperties(Be.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.PointerInfo=void 0;Ue.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,Ve,qe={};function $e(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||W.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&W.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||W.setZeroCoords(this.coords.delta),(t=(0,j.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=W.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:K.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=W.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ue.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),W.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),W.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,W.pointerExtend(this.downPointer,t),this.interacting()||(W.copyCoords(this.coords.start,this.coords.cur),W.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new ze.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(k.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();qe.Interaction=Ke;var Ze=Ke;qe.default=Ze;var Je={};function Qe(t){t.pointerIsDown&&(rn(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function tn(t){en(t.interaction)}function en(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return rn(t.coords.cur,e),rn(t.coords.delta,e),k.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function nn(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function rn(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(Je,"__esModule",{value:!0}),Je.addTotal=Qe,Je.applyPending=en,Je.default=void 0,qe._ProxyMethods.offsetBy="";var on={id:"offset",before:["modifiers","pointer-events","actions","inertia"],install:function(t){t.Interaction.prototype.offsetBy=nn},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return Qe(t.interaction)},"interactions:before-action-start":tn,"interactions:before-action-move":tn,"interactions:before-action-end":function(t){var e=t.interaction;if(en(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};Je.default=on;var an={};function sn(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=un(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:"onNextFrame",value:function(t){var e=this;this.timeout=Mt.default.request((function(){e.active&&t()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=un(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,a=r.context,s=r.listeners;o===this.target&&a===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();mn.Interactable=wn;var _n={};function Sn(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=Tn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function a(t,n,r,i){var a=kn(i),s=K.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!K.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=kn(i),l=K.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Cn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Rn=zn;An.default=Rn;var Fn={};function Xn(t){return(Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Yn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Kn,doOnInteractions:Gn,methodNames:$n};Fn.default=Zn;var Jn={};function Qn(t){return(Qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tr(t,e,n){return(tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=or(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function er(t,e){return(er=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function nr(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=or(t);if(e){var o=or(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return rr(this,n)}}function rr(t,e){return!e||"object"!==Qn(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function or(t){return(or=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ir(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ar(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,j.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function jr(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function kr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Pr.aspectRatio=Mr;var Ir=(0,ke.makeModifier)(Mr,"aspectRatio");Pr.default=Ir;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.default=void 0;var Ar=function(){};Ar._defaults={};var zr=Ar;Dr.default=zr;var Cr={};Object.defineProperty(Cr,"__esModule",{value:!0}),Object.defineProperty(Cr,"default",{enumerable:!0,get:function(){return Dr.default}});var Rr={};function Fr(t,e,n){return i.default.func(t)?k.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):k.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.getRestrictionRect=Fr,Rr.restrict=Rr.default=void 0;var Xr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,j.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Fr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Fr(o.restriction,n,e);if(a){var s=k.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Rr.restrict=Xr;var Yr=(0,ke.makeModifier)(Xr,"restrict");Rr.default=Yr;var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.restrictEdges=Wr.default=void 0;var Lr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Br={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Ur(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n - * Released under the MIT License. - * https://raw.github.com/taye/interact.js/master/LICENSE - */ -(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; -var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; -var _$scope_24 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/* common-shake removed: exports.createScope = */ void createScope; -/* common-shake removed: exports.initScope = */ void initScope; -exports.Scope = exports.ActionName = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); - -var _Eventable = _interopRequireDefault(_$Eventable_14); - -var _Interactable = _interopRequireDefault(_$Interactable_16); - -var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); - -var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); - -var _interactions = _interopRequireDefault(_$interactions_23({})); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _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); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var win = utils.win, - browser = utils.browser, - raf = utils.raf, - Signals = utils.Signals, - events = utils.events; -var ActionName; -exports.ActionName = ActionName; - -(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); - -function createScope() { - return new Scope(); -} - -var Scope = -/*#__PURE__*/ -function () { - function Scope() { - var _this = this; - - _classCallCheck(this, Scope); - - this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); - this.signals = new Signals(); - this.browser = browser; - this.events = events; - this.utils = utils; - this.defaults = utils.clone(_defaultOptions["default"]); - this.Eventable = _Eventable["default"]; - this.actions = { - names: [], - methodDict: {}, - eventTypes: [] - }; - this.InteractEvent = _InteractEvent["default"]; - this.interactables = new _InteractableSet["default"](this); // all documents being listened to - - this.documents = []; - this._plugins = []; - this._pluginMap = {}; - - this.onWindowUnload = function (event) { - return _this.removeDocument(event.target); - }; - - var scope = this; - - this.Interactable = - /*#__PURE__*/ - function (_InteractableBase) { - _inherits(Interactable, _InteractableBase); - - function Interactable() { - _classCallCheck(this, Interactable); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); - } - - _createClass(Interactable, [{ - key: "set", - value: function set(options) { - _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); - - scope.interactables.signals.fire('set', { - options: options, - interactable: this - }); - return this; - } - }, { - key: "unset", - value: function unset() { - _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); - - for (var i = scope.interactions.list.length - 1; i >= 0; i--) { - var interaction = scope.interactions.list[i]; - - if (interaction.interactable === this) { - interaction.stop(); - scope.interactions.signals.fire('destroy', { - interaction: interaction - }); - interaction.destroy(); - - if (scope.interactions.list.length > 2) { - scope.interactions.list.splice(i, 1); - } - } - } - - scope.interactables.signals.fire('unset', { - interactable: this - }); - } - }, { - key: "_defaults", - get: function get() { - return scope.defaults; - } - }]); - - return Interactable; - }(_Interactable["default"]); - } - - _createClass(Scope, [{ - key: "init", - value: function init(window) { - return initScope(this, window); - } - }, { - key: "pluginIsInstalled", - value: function pluginIsInstalled(plugin) { - return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; - } - }, { - key: "usePlugin", - value: function usePlugin(plugin, options) { - if (this.pluginIsInstalled(plugin)) { - return this; - } - - if (plugin.id) { - this._pluginMap[plugin.id] = plugin; - } - - plugin.install(this, options); - - this._plugins.push(plugin); - - return this; - } - }, { - key: "addDocument", - value: function addDocument(doc, options) { - // do nothing if document is already known - if (this.getDocIndex(doc) !== -1) { - return false; - } - - var window = win.getWindow(doc); - options = options ? utils.extend({}, options) : {}; - this.documents.push({ - doc: doc, - options: options - }); - events.documents.push(doc); // don't add an unload event for the main document - // so that the page may be cached in browser history - - if (doc !== this.document) { - events.add(window, 'unload', this.onWindowUnload); - } - - this.signals.fire('add-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "removeDocument", - value: function removeDocument(doc) { - var index = this.getDocIndex(doc); - var window = win.getWindow(doc); - var options = this.documents[index].options; - events.remove(window, 'unload', this.onWindowUnload); - this.documents.splice(index, 1); - events.documents.splice(index, 1); - this.signals.fire('remove-document', { - doc: doc, - window: window, - scope: this, - options: options - }); - } - }, { - key: "getDocIndex", - value: function getDocIndex(doc) { - for (var i = 0; i < this.documents.length; i++) { - if (this.documents[i].doc === doc) { - return i; - } - } - - return -1; - } - }, { - key: "getDocOptions", - value: function getDocOptions(doc) { - var docIndex = this.getDocIndex(doc); - return docIndex === -1 ? null : this.documents[docIndex].options; - } - }, { - key: "now", - value: function now() { - return (this.window.Date || Date).now(); - } - }]); - - return Scope; -}(); - -exports.Scope = Scope; - -function initScope(scope, window) { - win.init(window); - - _domObjects["default"].init(window); - - browser.init(window); - raf.init(window); - events.init(window); - scope.usePlugin(_interactions["default"]); - scope.document = window.document; - scope.window = window; - return scope; -} - -}); -var _$interactions_23 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _browser = _interopRequireDefault(_$browser_48); - -var _domObjects = _interopRequireDefault(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var _events = _interopRequireDefault(_$events_52); - -var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); - -var _Signals = _interopRequireDefault(_$Signals_46); - -var _Interaction = _interopRequireDefault(_$Interaction_18({})); - -var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; - -function install(scope) { - var signals = new _Signals["default"](); - var listeners = {}; - - for (var _i = 0; _i < methodNames.length; _i++) { - var _ref; - - _ref = methodNames[_i]; - var method = _ref; - listeners[method] = doOnInteractions(method, scope); - } - - var pEventTypes = _browser["default"].pEventTypes; - var docEvents; - - if (_domObjects["default"].PointerEvent) { - docEvents = [{ - type: pEventTypes.down, - listener: releasePointersOnRemovedEls - }, { - type: pEventTypes.down, - listener: listeners.pointerDown - }, { - type: pEventTypes.move, - listener: listeners.pointerMove - }, { - type: pEventTypes.up, - listener: listeners.pointerUp - }, { - type: pEventTypes.cancel, - listener: listeners.pointerUp - }]; - } else { - docEvents = [{ - type: 'mousedown', - listener: listeners.pointerDown - }, { - type: 'mousemove', - listener: listeners.pointerMove - }, { - type: 'mouseup', - listener: listeners.pointerUp - }, { - type: 'touchstart', - listener: releasePointersOnRemovedEls - }, { - type: 'touchstart', - listener: listeners.pointerDown - }, { - type: 'touchmove', - listener: listeners.pointerMove - }, { - type: 'touchend', - listener: listeners.pointerUp - }, { - type: 'touchcancel', - listener: listeners.pointerUp - }]; - } - - docEvents.push({ - type: 'blur', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - interaction.documentBlur(event); - } - } - }); - scope.signals.on('add-document', onDocSignal); - scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events - - scope.prevTouchTime = 0; - - scope.Interaction = - /*#__PURE__*/ - function (_InteractionBase) { - _inherits(Interaction, _InteractionBase); - - function Interaction() { - _classCallCheck(this, Interaction); - - return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); - } - - _createClass(Interaction, [{ - key: "_now", - value: function _now() { - return scope.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return scope.interactions.pointerMoveTolerance; - }, - set: function set(value) { - scope.interactions.pointerMoveTolerance = value; - } - }]); - - return Interaction; - }(_Interaction["default"]); - - scope.interactions = { - signals: signals, - // all active and idle interactions - list: [], - "new": function _new(options) { - options.signals = signals; - var interaction = new scope.Interaction(options); - scope.interactions.list.push(interaction); - return interaction; - }, - listeners: listeners, - docEvents: docEvents, - pointerMoveTolerance: 1 - }; - - function releasePointersOnRemovedEls() { - // for all inactive touch interactions with pointers down - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - - if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { - continue; - } // if a pointer is down on an element that is no longer in the DOM tree - - - var _loop = function _loop() { - _ref4 = interaction.pointers[_i4]; - var pointer = _ref4; - - if (!scope.documents.some(function (_ref5) { - var doc = _ref5.doc; - return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); - })) { - // remove the pointer from the interaction - interaction.removePointer(pointer.pointer, pointer.event); - } - }; - - for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { - var _ref4; - - _loop(); - } - } - } -} - -function doOnInteractions(method, scope) { - return function (event) { - var interactions = scope.interactions.list; - - var pointerType = _pointerUtils["default"].getPointerType(event); - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), - eventTarget = _pointerUtils$getEven2[0], - curEventTarget = _pointerUtils$getEven2[1]; - - var matches = []; // [ [pointer, interaction], ...] - - if (/^touch/.test(event.type)) { - scope.prevTouchTime = scope.now(); - - for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { - var _ref6; - - _ref6 = event.changedTouches[_i5]; - var changedTouch = _ref6; - var pointer = changedTouch; - - var pointerId = _pointerUtils["default"].getPointerId(pointer); - - var searchDetails = { - pointer: pointer, - pointerId: pointerId, - pointerType: pointerType, - eventType: event.type, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - scope: scope - }; - var interaction = getInteraction(searchDetails); - matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); - } - } else { - var invalidPointer = false; - - if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { - // ignore mouse events while touch interactions are active - for (var i = 0; i < interactions.length && !invalidPointer; i++) { - invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; - } // try to ignore mouse events that are simulated by the browser - // after a touch event - - - invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated - event.timeStamp === 0; - } - - if (!invalidPointer) { - var _searchDetails = { - pointer: event, - pointerId: _pointerUtils["default"].getPointerId(event), - pointerType: pointerType, - eventType: event.type, - curEventTarget: curEventTarget, - eventTarget: eventTarget, - scope: scope - }; - - var _interaction = getInteraction(_searchDetails); - - matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); - } - } // eslint-disable-next-line no-shadow - - - for (var _i6 = 0; _i6 < matches.length; _i6++) { - var _matches$_i = _slicedToArray(matches[_i6], 4), - _pointer = _matches$_i[0], - _eventTarget = _matches$_i[1], - _curEventTarget = _matches$_i[2], - _interaction2 = _matches$_i[3]; - - _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); - } - }; -} - -function getInteraction(searchDetails) { - var pointerType = searchDetails.pointerType, - scope = searchDetails.scope; - - var foundInteraction = _interactionFinder["default"].search(searchDetails); - - var signalArg = { - interaction: foundInteraction, - searchDetails: searchDetails - }; - scope.interactions.signals.fire('find', signalArg); - return signalArg.interaction || scope.interactions["new"]({ - pointerType: pointerType - }); -} - -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; - - if (scope.browser.isIOS && !options.events) { - options.events = { - passive: false - }; - } // delegate event listener - - - for (var eventType in _events["default"].delegatedEvents) { - eventMethod(doc, eventType, _events["default"].delegateListener); - eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); - } - - var eventOptions = options && options.events; - - for (var _i7 = 0; _i7 < docEvents.length; _i7++) { - var _ref8; - - _ref8 = docEvents[_i7]; - var _ref9 = _ref8, - type = _ref9.type, - listener = _ref9.listener; - eventMethod(doc, type, listener, eventOptions); - } -} - -var _default = { - id: 'core/interactions', - install: install, - onDocSignal: onDocSignal, - doOnInteractions: doOnInteractions, - methodNames: methodNames -}; -exports["default"] = _default; - -}); -var _$Interaction_18 = createModuleFactory(function (module, exports) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "PointerInfo", { - enumerable: true, - get: function get() { - return _PointerInfo["default"]; - } -}); -exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; - -var utils = _interopRequireWildcard(_$utils_56); - -var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); - -var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); - -var _scope = _$scope_24({}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -var _ProxyValues; - -exports._ProxyValues = _ProxyValues; - -(function (_ProxyValues) { - _ProxyValues["interactable"] = ""; - _ProxyValues["element"] = ""; - _ProxyValues["prepared"] = ""; - _ProxyValues["pointerIsDown"] = ""; - _ProxyValues["pointerWasMoved"] = ""; - _ProxyValues["_proxy"] = ""; -})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); - -var _ProxyMethods; - -exports._ProxyMethods = _ProxyMethods; - -(function (_ProxyMethods) { - _ProxyMethods["start"] = ""; - _ProxyMethods["move"] = ""; - _ProxyMethods["end"] = ""; - _ProxyMethods["stop"] = ""; - _ProxyMethods["interacting"] = ""; -})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); - -var Interaction = -/*#__PURE__*/ -function () { - /** */ - function Interaction(_ref) { - var _this = this; - - var pointerType = _ref.pointerType, - signals = _ref.signals; - - _classCallCheck(this, Interaction); - - // current interactable being interacted with - this.interactable = null; // the target element of the interactable - - this.element = null; // action that's ready to be fired on next move event - - this.prepared = { - name: null, - axis: null, - edges: null - }; // keep track of added pointers - - this.pointers = []; // pointerdown/mousedown/touchstart event - - this.downEvent = null; - this.downPointer = {}; - this._latestPointer = { - pointer: null, - event: null, - eventTarget: null - }; // previous action event - - this.prevEvent = null; - this.pointerIsDown = false; - this.pointerWasMoved = false; - this._interacting = false; - this._ending = false; - this._stopped = true; - this._proxy = null; - this.simulation = null; - /** - * @alias Interaction.prototype.move - */ - - this.doMove = utils.warnOnce(function (signalArg) { - this.move(signalArg); - }, 'The interaction.doMove() method has been renamed to interaction.move()'); - this.coords = { - // Starting InteractEvent pointer coordinates - start: utils.pointer.newCoords(), - // Previous native pointer move event coordinates - prev: utils.pointer.newCoords(), - // current native pointer move event coordinates - cur: utils.pointer.newCoords(), - // Change in coordinates and time of the pointer - delta: utils.pointer.newCoords(), - // pointer velocity - velocity: utils.pointer.newCoords() - }; - this._signals = signals; - this.pointerType = pointerType; - var that = this; - this._proxy = {}; - - var _loop = function _loop(key) { - Object.defineProperty(_this._proxy, key, { - get: function get() { - return that[key]; - } - }); - }; - - for (var key in _ProxyValues) { - _loop(key); - } - - var _loop2 = function _loop2(_key) { - Object.defineProperty(_this._proxy, _key, { - value: function value() { - return that[_key].apply(that, arguments); - } - }); - }; - - for (var _key in _ProxyMethods) { - _loop2(_key); - } - - this._signals.fire('new', { - interaction: this - }); - } - - _createClass(Interaction, [{ - key: "pointerDown", - value: function pointerDown(pointer, event, eventTarget) { - var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); - - this._signals.fire('down', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - pointerIndex: pointerIndex, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable({ - * // disable the default drag start by down->move - * manualStart: true - * }) - * // start dragging after the user holds the pointer down - * .on('hold', function (event) { - * var interaction = event.interaction - * - * if (!interaction.interacting()) { - * interaction.start({ name: 'drag' }, - * event.interactable, - * event.currentTarget) - * } - * }) - * ``` - * - * Start an action with the given Interactable and Element as tartgets. The - * action must be enabled for the target Interactable and an appropriate - * number of pointers must be held down - 1 for drag/resize, 2 for gesture. - * - * Use it with `interactable.able({ manualStart: false })` to always - * [start actions manually](https://github.com/taye/interact.js/issues/114) - * - * @param {object} action The action to be performed - drag, resize, etc. - * @param {Interactable} target The Interactable to target - * @param {Element} element The DOM Element to target - * @return {object} interact - */ - - }, { - key: "start", - value: function start(action, interactable, element) { - if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { - return false; - } - - utils.copyAction(this.prepared, action); - this.interactable = interactable; - this.element = element; - this.rect = interactable.getRect(element); - this.edges = this.prepared.edges; - this._stopped = false; - this._interacting = this._doPhase({ - interaction: this, - event: this.downEvent, - phase: _InteractEvent.EventPhase.Start - }) && !this._stopped; - return this._interacting; - } - }, { - key: "pointerMove", - value: function pointerMove(pointer, event, eventTarget) { - if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { - this.updatePointer(pointer, event, eventTarget, false); - utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - } - - 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; - var dx; - var dy; // register movement greater than pointerMoveTolerance - - if (this.pointerIsDown && !this.pointerWasMoved) { - dx = this.coords.cur.client.x - this.coords.start.client.x; - dy = this.coords.cur.client.y - this.coords.start.client.y; - this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; - } - - var signalArg = { - pointer: pointer, - pointerIndex: this.getPointerIndex(pointer), - event: event, - eventTarget: eventTarget, - dx: dx, - dy: dy, - duplicate: duplicateMove, - interaction: this - }; - - if (!duplicateMove) { - // set pointer coordinate, time changes and velocity - utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); - utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); - } - - this._signals.fire('move', signalArg); - - if (!duplicateMove) { - // if interacting, fire an 'action-move' signal etc - if (this.interacting()) { - this.move(signalArg); - } - - if (this.pointerWasMoved) { - utils.pointer.copyCoords(this.coords.prev, this.coords.cur); - } - } - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('dragmove', function (event) { - * if (someCondition) { - * // change the snap settings - * event.interactable.draggable({ snap: { targets: [] }}) - * // fire another move event with re-calculated snap - * event.interaction.move() - * } - * }) - * ``` - * - * Force a move of the current action at the same coordinates. Useful if - * snap/restrict has been changed and you want a movement with the new - * settings. - */ - - }, { - key: "move", - value: function move(signalArg) { - signalArg = utils.extend({ - pointer: this._latestPointer.pointer, - event: this._latestPointer.event, - eventTarget: this._latestPointer.eventTarget, - interaction: this - }, signalArg || {}); - signalArg.phase = _InteractEvent.EventPhase.Move; - - this._doPhase(signalArg); - } // End interact move events and stop auto-scroll unless simulation is running - - }, { - key: "pointerUp", - value: function pointerUp(pointer, event, eventTarget, curEventTarget) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - pointerIndex = this.updatePointer(pointer, event, eventTarget, false); - } - - this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { - pointer: pointer, - pointerIndex: pointerIndex, - event: event, - eventTarget: eventTarget, - curEventTarget: curEventTarget, - interaction: this - }); - - if (!this.simulation) { - this.end(event); - } - - this.pointerIsDown = false; - this.removePointer(pointer, event); - } - }, { - key: "documentBlur", - value: function documentBlur(event) { - this.end(event); - - this._signals.fire('blur', { - event: event, - interaction: this - }); - } - /** - * ```js - * interact(target) - * .draggable(true) - * .on('move', function (event) { - * if (event.pageX > 1000) { - * // end the current action - * event.interaction.end() - * // stop all further listeners from being called - * event.stopImmediatePropagation() - * } - * }) - * ``` - * - * @param {PointerEvent} [event] - */ - - }, { - key: "end", - value: function end(event) { - this._ending = true; - event = event || this._latestPointer.event; - var endPhaseResult; - - if (this.interacting()) { - endPhaseResult = this._doPhase({ - event: event, - interaction: this, - phase: _InteractEvent.EventPhase.End - }); - } - - this._ending = false; - - if (endPhaseResult === true) { - this.stop(); - } - } - }, { - key: "currentAction", - value: function currentAction() { - return this._interacting ? this.prepared.name : null; - } - }, { - key: "interacting", - value: function interacting() { - return this._interacting; - } - /** */ - - }, { - key: "stop", - value: function stop() { - this._signals.fire('stop', { - interaction: this - }); - - this.interactable = this.element = null; - this._interacting = false; - this._stopped = true; - this.prepared.name = this.prevEvent = null; - } - }, { - key: "getPointerIndex", - value: function getPointerIndex(pointer) { - var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer - - return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { - return curPointer.id === pointerId; - }); - } - }, { - key: "getPointerInfo", - value: function getPointerInfo(pointer) { - return this.pointers[this.getPointerIndex(pointer)]; - } - }, { - key: "updatePointer", - value: function updatePointer(pointer, event, eventTarget, down) { - var id = utils.pointer.getPointerId(pointer); - var pointerIndex = this.getPointerIndex(pointer); - var pointerInfo = this.pointers[pointerIndex]; - down = down === false ? false : down || /(down|start)$/i.test(event.type); - - if (!pointerInfo) { - pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); - pointerIndex = this.pointers.length; - this.pointers.push(pointerInfo); - } else { - pointerInfo.pointer = pointer; - } - - if (down) { - this.pointerIsDown = true; - - if (!this.interacting()) { - utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { - return p.pointer; - }), this._now()); - utils.pointer.copyCoords(this.coords.cur, this.coords.start); - utils.pointer.copyCoords(this.coords.prev, this.coords.start); - utils.pointer.pointerExtend(this.downPointer, pointer); - this.downEvent = event; - pointerInfo.downTime = this.coords.cur.timeStamp; - pointerInfo.downTarget = eventTarget; - this.pointerWasMoved = false; - } - } - - this._updateLatestPointer(pointer, event, eventTarget); - - this._signals.fire('update-pointer', { - pointer: pointer, - event: event, - eventTarget: eventTarget, - down: down, - pointerInfo: pointerInfo, - pointerIndex: pointerIndex, - interaction: this - }); - - return pointerIndex; - } - }, { - key: "removePointer", - value: function removePointer(pointer, event) { - var pointerIndex = this.getPointerIndex(pointer); - - if (pointerIndex === -1) { - return; - } - - var pointerInfo = this.pointers[pointerIndex]; - - this._signals.fire('remove-pointer', { - pointer: pointer, - event: event, - pointerIndex: pointerIndex, - pointerInfo: pointerInfo, - interaction: this - }); - - this.pointers.splice(pointerIndex, 1); - } - }, { - key: "_updateLatestPointer", - value: function _updateLatestPointer(pointer, event, eventTarget) { - this._latestPointer.pointer = pointer; - this._latestPointer.event = event; - this._latestPointer.eventTarget = eventTarget; - } - }, { - key: "destroy", - value: function destroy() { - this._latestPointer.pointer = null; - this._latestPointer.event = null; - this._latestPointer.eventTarget = null; - } - }, { - key: "_createPreparedEvent", - value: function _createPreparedEvent(event, phase, preEnd, type) { - var actionName = this.prepared.name; - return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); - } - }, { - key: "_fireEvent", - value: function _fireEvent(iEvent) { - this.interactable.fire(iEvent); - - if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { - this.prevEvent = iEvent; - } - } - }, { - key: "_doPhase", - value: function _doPhase(signalArg) { - var event = signalArg.event, - phase = signalArg.phase, - preEnd = signalArg.preEnd, - type = signalArg.type; - - var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); - - if (beforeResult === false) { - return false; - } - - var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); - - var rect = this.rect; - - if (rect) { - // update the rect modifications - var edges = this.edges || this.prepared.edges || { - left: true, - right: true, - top: true, - bottom: true - }; - - if (edges.top) { - rect.top += iEvent.delta.y; - } - - if (edges.bottom) { - rect.bottom += iEvent.delta.y; - } - - if (edges.left) { - rect.left += iEvent.delta.x; - } - - if (edges.right) { - rect.right += iEvent.delta.x; - } - - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; - } - - this._signals.fire("action-".concat(phase), signalArg); - - this._fireEvent(iEvent); - - this._signals.fire("after-action-".concat(phase), signalArg); - - return true; - } - }, { - key: "_now", - value: function _now() { - return Date.now(); - } - }, { - key: "pointerMoveTolerance", - get: function get() { - return 1; - } - }]); - - return Interaction; -}(); - -exports.Interaction = Interaction; -var _default = Interaction; -exports["default"] = _default; - -}); -var _$arr_47 = {}; -"use strict"; - -Object.defineProperty(_$arr_47, "__esModule", { - value: true -}); -_$arr_47.contains = contains; -_$arr_47.remove = remove; -_$arr_47.merge = merge; -_$arr_47.from = from; -_$arr_47.findIndex = findIndex; -_$arr_47.find = find; - -function contains(array, target) { - return array.indexOf(target) !== -1; -} - -function remove(array, target) { - return array.splice(array.indexOf(target), 1); -} - -function merge(target, source) { - for (var _i = 0; _i < source.length; _i++) { - var _ref; - - _ref = source[_i]; - var item = _ref; - target.push(item); - } - - return target; -} - -function from(source) { - return merge([], source); -} - -function findIndex(array, func) { - for (var i = 0; i < array.length; i++) { - if (func(array[i], i, array)) { - return i; - } - } - - return -1; -} - -function find(array, func) { - return array[findIndex(array, func)]; -} - -var _$domObjects_50 = {}; -"use strict"; - -Object.defineProperty(_$domObjects_50, "__esModule", { - value: true -}); -_$domObjects_50["default"] = void 0; -var domObjects = { - init: init, - document: null, - DocumentFragment: null, - SVGElement: null, - SVGSVGElement: null, - // eslint-disable-next-line no-undef - SVGElementInstance: null, - Element: null, - HTMLElement: null, - Event: null, - Touch: null, - PointerEvent: null -}; - -function blank() {} - -var _default = domObjects; -_$domObjects_50["default"] = _default; - -function init(window) { - var win = window; - domObjects.document = win.document; - domObjects.DocumentFragment = win.DocumentFragment || blank; - domObjects.SVGElement = win.SVGElement || blank; - domObjects.SVGSVGElement = win.SVGSVGElement || blank; - domObjects.SVGElementInstance = win.SVGElementInstance || blank; - domObjects.Element = win.Element || blank; - domObjects.HTMLElement = win.HTMLElement || domObjects.Element; - domObjects.Event = win.Event; - domObjects.Touch = win.Touch || blank; - domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; -} - -var _$isWindow_58 = {}; -"use strict"; - -Object.defineProperty(_$isWindow_58, "__esModule", { - value: true -}); -_$isWindow_58["default"] = void 0; - -var ___default_58 = function _default(thing) { - return !!(thing && thing.Window) && thing instanceof thing.Window; -}; - -_$isWindow_58["default"] = ___default_58; - -var _$window_66 = {}; -"use strict"; - -Object.defineProperty(_$window_66, "__esModule", { - value: true -}); -_$window_66.init = __init_66; -_$window_66.getWindow = getWindow; -_$window_66["default"] = void 0; - -var _isWindow = _interopRequireDefault(_$isWindow_58); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var win = { - realWindow: undefined, - window: undefined, - getWindow: getWindow, - init: __init_66 -}; - -function __init_66(window) { - // get wrapped window if using Shadow DOM polyfill - win.realWindow = window; // create a TextNode - - var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill - - if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { - // use wrapped window - window = window.wrap(window); - } - - win.window = window; -} - -if (typeof window === 'undefined') { - win.window = undefined; - win.realWindow = undefined; -} else { - __init_66(window); -} - -function getWindow(node) { - if ((0, _isWindow["default"])(node)) { - return node; - } - - var rootNode = node.ownerDocument || node; - return rootNode.defaultView || win.window; -} - -win.init = __init_66; -var ___default_66 = win; -_$window_66["default"] = ___default_66; - -var _$is_57 = {}; -"use strict"; - -Object.defineProperty(_$is_57, "__esModule", { - value: true -}); -_$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; - -var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); - -var _window2 = ___interopRequireDefault_57(_$window_66); - -function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -var __window_57 = function window(thing) { - return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); -}; - -_$is_57.window = __window_57; - -var docFrag = function docFrag(thing) { - return object(thing) && thing.nodeType === 11; -}; - -_$is_57.docFrag = docFrag; - -var object = function object(thing) { - return !!thing && _typeof(thing) === 'object'; -}; - -_$is_57.object = object; - -var func = function func(thing) { - return typeof thing === 'function'; -}; - -_$is_57.func = func; - -var number = function number(thing) { - return typeof thing === 'number'; -}; - -_$is_57.number = number; - -var bool = function bool(thing) { - return typeof thing === 'boolean'; -}; - -_$is_57.bool = bool; - -var string = function string(thing) { - return typeof thing === 'string'; -}; - -_$is_57.string = string; - -var element = function element(thing) { - if (!thing || _typeof(thing) !== 'object') { - return false; - } - - var _window = _window2["default"].getWindow(thing) || _window2["default"].window; - - return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 - : thing.nodeType === 1 && typeof thing.nodeName === 'string'; -}; - -_$is_57.element = element; - -var plainObject = function plainObject(thing) { - return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); -}; - -_$is_57.plainObject = plainObject; - -var array = function array(thing) { - return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); -}; - -_$is_57.array = array; - -var _$browser_48 = {}; -"use strict"; - -Object.defineProperty(_$browser_48, "__esModule", { - value: true -}); -_$browser_48["default"] = void 0; - -var _domObjects = ___interopRequireDefault_48(_$domObjects_50); - -var is = _interopRequireWildcard(_$is_57); - -var _window = ___interopRequireDefault_48(_$window_66); - -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 }; } - -var browser = { - init: __init_48, - supportsTouch: null, - supportsPointerEvent: null, - isIOS7: null, - isIOS: null, - isIe9: null, - isOperaMobile: null, - prefixedMatchesSelector: null, - pEventTypes: null, - wheelEvent: null -}; - -function __init_48(window) { - var Element = _domObjects["default"].Element; - var navigator = _window["default"].window.navigator; // Does the browser support touch input? - - browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents - - browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; - browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 - - browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); - browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently - - browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector - - browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; - browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { - up: 'MSPointerUp', - down: 'MSPointerDown', - over: 'mouseover', - out: 'mouseout', - move: 'MSPointerMove', - cancel: 'MSPointerCancel' - } : { - up: 'pointerup', - down: 'pointerdown', - over: 'pointerover', - out: 'pointerout', - move: 'pointermove', - cancel: 'pointercancel' - } : null; // because Webkit and Opera still use 'mousewheel' event type - - browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; -} - -var ___default_48 = browser; -_$browser_48["default"] = ___default_48; - -var _$domUtils_51 = {}; -"use strict"; - -Object.defineProperty(_$domUtils_51, "__esModule", { - value: true -}); -_$domUtils_51.nodeContains = nodeContains; -_$domUtils_51.closest = closest; -_$domUtils_51.parentNode = parentNode; -_$domUtils_51.matchesSelector = matchesSelector; -_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; -_$domUtils_51.matchesUpTo = matchesUpTo; -_$domUtils_51.getActualElement = getActualElement; -_$domUtils_51.getScrollXY = getScrollXY; -_$domUtils_51.getElementClientRect = getElementClientRect; -_$domUtils_51.getElementRect = getElementRect; -_$domUtils_51.getPath = getPath; -_$domUtils_51.trySelector = trySelector; - -var _browser = ___interopRequireDefault_51(_$browser_48); - -var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); - -var __is_51 = ___interopRequireWildcard_51(_$is_57); - -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; } 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 }; } - -function nodeContains(parent, child) { - while (child) { - if (child === parent) { - return true; - } - - child = child.parentNode; - } - - return false; -} - -function closest(element, selector) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return element; - } - - element = parentNode(element); - } - - return null; -} - -function parentNode(node) { - var parent = node.parentNode; - - if (__is_51.docFrag(parent)) { - // skip past #shado-root fragments - // tslint:disable-next-line - while ((parent = parent.host) && __is_51.docFrag(parent)) { - continue; - } - - return parent; - } - - return parent; -} - -function matchesSelector(element, selector) { - // remove /deep/ from selectors if shadowDOM polyfill is used - if (___window_51["default"].window !== ___window_51["default"].realWindow) { - selector = selector.replace(/\/deep\//g, ' '); - } - - return element[_browser["default"].prefixedMatchesSelector](selector); -} - -var getParent = function getParent(el) { - return el.parentNode ? el.parentNode : el.host; -}; // Test for the element that's "above" all other qualifiers - - -function indexOfDeepestElement(elements) { - var deepestZoneParents = []; - var deepestZone = elements[0]; - var index = deepestZone ? 0 : -1; - var i; - var n; - - for (i = 1; i < elements.length; i++) { - var dropzone = elements[i]; // an element might belong to multiple selector dropzones - - if (!dropzone || dropzone === deepestZone) { - continue; - } - - if (!deepestZone) { - deepestZone = dropzone; - index = i; - continue; - } // check if the deepest or current are document.documentElement or document.rootElement - // - if the current dropzone is, do nothing and continue - - - if (dropzone.parentNode === dropzone.ownerDocument) { - continue; - } // - if deepest is, update with the current dropzone and continue to next - else if (deepestZone.parentNode === dropzone.ownerDocument) { - 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) { - var _parent = deepestZone; - var parentParent = void 0; - - while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { - deepestZoneParents.unshift(_parent); - _parent = parentParent; - } - } - - 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) { - continue; - } - - parent = dropzone.ownerSVGElement; - } else { - parent = dropzone; - } - - var dropzoneParents = []; - - while (parent.parentNode !== parent.ownerDocument) { - dropzoneParents.unshift(parent); - parent = getParent(parent); - } - - n = 0; // get (position of last common ancestor) + 1 - - while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { - n++; - } - - var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; - var child = parents[0].lastChild; - - while (child) { - if (child === parents[1]) { - deepestZone = dropzone; - index = i; - deepestZoneParents = dropzoneParents; - break; - } else if (child === parents[2]) { - break; - } - - child = child.previousSibling; - } - } - - return index; -} - -function matchesUpTo(element, selector, limit) { - while (__is_51.element(element)) { - if (matchesSelector(element, selector)) { - return true; - } - - element = parentNode(element); - - if (element === limit) { - return matchesSelector(element, selector); - } - } - - return false; -} - -function getActualElement(element) { - return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; -} - -function getScrollXY(relevantWindow) { - relevantWindow = relevantWindow || ___window_51["default"].window; - return { - x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, - y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop - }; -} - -function getElementClientRect(element) { - var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; - return clientRect && { - left: clientRect.left, - right: clientRect.right, - top: clientRect.top, - bottom: clientRect.bottom, - width: clientRect.width || clientRect.right - clientRect.left, - height: clientRect.height || clientRect.bottom - clientRect.top - }; -} - -function getElementRect(element) { - var clientRect = getElementClientRect(element); - - if (!_browser["default"].isIOS7 && clientRect) { - var scroll = getScrollXY(___window_51["default"].getWindow(element)); - clientRect.left += scroll.x; - clientRect.right += scroll.x; - clientRect.top += scroll.y; - clientRect.bottom += scroll.y; - } - - return clientRect; -} - -function getPath(node) { - var path = []; - - while (node) { - path.push(node); - node = parentNode(node); - } - - return path; -} - -function trySelector(value) { - if (!__is_51.string(value)) { - return false; - } // an exception will be raised if it is invalid - - - ___domObjects_51["default"].document.querySelector(value); - - return true; -} - -var _$clone_49 = {}; -"use strict"; - -Object.defineProperty(_$clone_49, "__esModule", { - value: true -}); -_$clone_49["default"] = clone; - -var arr = ___interopRequireWildcard_49(_$arr_47); - -var __is_49 = ___interopRequireWildcard_49(_$is_57); - -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 = {}; - - for (var prop in source) { - var value = source[prop]; - - if (__is_49.plainObject(value)) { - dest[prop] = clone(value); - } else if (__is_49.array(value)) { - dest[prop] = arr.from(value); - } else { - dest[prop] = value; - } - } - - return dest; -} - -var _$pointerExtend_60 = {}; -"use strict"; - -Object.defineProperty(_$pointerExtend_60, "__esModule", { - value: true -}); -_$pointerExtend_60["default"] = void 0; - -function pointerExtend(dest, source) { - for (var prop in source) { - var prefixedPropREs = pointerExtend.prefixedPropREs; - var deprecated = false; // skip deprecated prefixed properties - - for (var vendor in prefixedPropREs) { - if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { - deprecated = true; - break; - } - } - - if (!deprecated && typeof source[prop] !== 'function') { - dest[prop] = source[prop]; - } - } - - return dest; -} - -pointerExtend.prefixedPropREs = { - webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, - moz: /(Pressure)$/ -}; -var ___default_60 = pointerExtend; -_$pointerExtend_60["default"] = ___default_60; - -var _$hypot_55 = {}; -"use strict"; - -Object.defineProperty(_$hypot_55, "__esModule", { - value: true -}); -_$hypot_55["default"] = void 0; - -var ___default_55 = function _default(x, y) { - return Math.sqrt(x * x + y * y); -}; - -_$hypot_55["default"] = ___default_55; - -var _$pointerUtils_61 = {}; -"use strict"; - -Object.defineProperty(_$pointerUtils_61, "__esModule", { - value: true -}); -_$pointerUtils_61["default"] = void 0; - -var ___browser_61 = ___interopRequireDefault_61(_$browser_48); - -var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); - -var domUtils = ___interopRequireWildcard_61(_$domUtils_51); - -var _hypot = ___interopRequireDefault_61(_$hypot_55); - -var __is_61 = ___interopRequireWildcard_61(_$is_57); - -var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); - -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 }; } - -var pointerUtils = { - copyCoords: function copyCoords(dest, src) { - dest.page = dest.page || {}; - dest.page.x = src.page.x; - dest.page.y = src.page.y; - dest.client = dest.client || {}; - dest.client.x = src.client.x; - dest.client.y = src.client.y; - dest.timeStamp = src.timeStamp; - }, - setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { - targetObj.page.x = cur.page.x - prev.page.x; - targetObj.page.y = cur.page.y - prev.page.y; - targetObj.client.x = cur.client.x - prev.client.x; - targetObj.client.y = cur.client.y - prev.client.y; - targetObj.timeStamp = cur.timeStamp - prev.timeStamp; - }, - setCoordVelocity: function setCoordVelocity(targetObj, delta) { - var dt = Math.max(delta.timeStamp / 1000, 0.001); - targetObj.page.x = delta.page.x / dt; - targetObj.page.y = delta.page.y / dt; - targetObj.client.x = delta.client.x / dt; - targetObj.client.y = delta.client.y / dt; - targetObj.timeStamp = dt; - }, - isNativePointer: function isNativePointer(pointer) { - return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; - }, - // Get specified X/Y coords for mouse or event.touches[0] - getXY: function getXY(type, pointer, xy) { - xy = xy || {}; - type = type || 'page'; - xy.x = pointer[type + 'X']; - xy.y = pointer[type + 'Y']; - return xy; - }, - getPageXY: function getPageXY(pointer, page) { - page = page || { - x: 0, - y: 0 - }; // Opera Mobile handles the viewport and scrolling oddly - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - pointerUtils.getXY('screen', pointer, page); - page.x += window.scrollX; - page.y += window.scrollY; - } else { - pointerUtils.getXY('page', pointer, page); - } - - return page; - }, - getClientXY: function getClientXY(pointer, client) { - client = client || {}; - - if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { - // Opera Mobile handles the viewport and scrolling oddly - pointerUtils.getXY('screen', pointer, client); - } else { - pointerUtils.getXY('client', pointer, client); - } - - return client; - }, - getPointerId: function getPointerId(pointer) { - return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; - }, - setCoords: function setCoords(targetObj, pointers, timeStamp) { - var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; - var tmpXY = {}; - pointerUtils.getPageXY(pointer, tmpXY); - targetObj.page.x = tmpXY.x; - targetObj.page.y = tmpXY.y; - pointerUtils.getClientXY(pointer, tmpXY); - targetObj.client.x = tmpXY.x; - targetObj.client.y = tmpXY.y; - targetObj.timeStamp = timeStamp; - }, - pointerExtend: _pointerExtend["default"], - getTouchPair: function getTouchPair(event) { - var touches = []; // array of touches is supplied - - if (__is_61.array(event)) { - touches[0] = event[0]; - touches[1] = event[1]; - } // an event - else { - if (event.type === 'touchend') { - if (event.touches.length === 1) { - touches[0] = event.touches[0]; - touches[1] = event.changedTouches[0]; - } else if (event.touches.length === 0) { - touches[0] = event.changedTouches[0]; - touches[1] = event.changedTouches[1]; - } - } else { - touches[0] = event.touches[0]; - touches[1] = event.touches[1]; - } - } - - return touches; - }, - pointerAverage: function pointerAverage(pointers) { - var average = { - pageX: 0, - pageY: 0, - clientX: 0, - clientY: 0, - screenX: 0, - screenY: 0 - }; - - for (var _i = 0; _i < pointers.length; _i++) { - var _ref; - - _ref = pointers[_i]; - var pointer = _ref; - - for (var _prop in average) { - average[_prop] += pointer[_prop]; - } - } - - for (var prop in average) { - average[prop] /= pointers.length; - } - - return average; - }, - touchBBox: function touchBBox(event) { - if (!event.length && !(event.touches && event.touches.length > 1)) { - return null; - } - - var touches = pointerUtils.getTouchPair(event); - var minX = Math.min(touches[0].pageX, touches[1].pageX); - var minY = Math.min(touches[0].pageY, touches[1].pageY); - var maxX = Math.max(touches[0].pageX, touches[1].pageX); - var maxY = Math.max(touches[0].pageY, touches[1].pageY); - return { - x: minX, - y: minY, - left: minX, - top: minY, - right: maxX, - bottom: maxY, - width: maxX - minX, - height: maxY - minY - }; - }, - touchDistance: function touchDistance(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[0][sourceX] - touches[1][sourceX]; - var dy = touches[0][sourceY] - touches[1][sourceY]; - return (0, _hypot["default"])(dx, dy); - }, - touchAngle: function touchAngle(event, deltaSource) { - var sourceX = deltaSource + 'X'; - var sourceY = deltaSource + 'Y'; - var touches = pointerUtils.getTouchPair(event); - var dx = touches[1][sourceX] - touches[0][sourceX]; - var dy = touches[1][sourceY] - touches[0][sourceY]; - var angle = 180 * Math.atan2(dy, dx) / Math.PI; - return angle; - }, - getPointerType: function getPointerType(pointer) { - 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 - // be either a MouseEvent, TouchEvent, or Touch object - : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; - }, - // [ event.target, event.currentTarget ] - getEventTargets: function getEventTargets(event) { - var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; - return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; - }, - newCoords: function newCoords() { - return { - page: { - x: 0, - y: 0 - }, - client: { - x: 0, - y: 0 - }, - timeStamp: 0 - }; - }, - coordsToEvent: function coordsToEvent(coords) { - var event = { - coords: coords, - - 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 event; - } -}; -var ___default_61 = pointerUtils; -_$pointerUtils_61["default"] = ___default_61; - -var _$events_52 = {}; -"use strict"; - -Object.defineProperty(_$events_52, "__esModule", { - value: true -}); -_$events_52["default"] = _$events_52.FakeEvent = void 0; - -/* removed: var _$arr_47 = require("./arr"); */; - -var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); - -var __is_52 = ___interopRequireWildcard_52(_$is_57); - -var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); - -var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); - -function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -var elements = []; -var targets = []; -var delegatedEvents = {}; -var documents = []; - -function add(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target) { - target = { - events: {}, - typeCount: 0 - }; - elementIndex = elements.push(element) - 1; - targets.push(target); - } - - if (!target.events[type]) { - target.events[type] = []; - target.typeCount++; - } - - if (!(0, _$arr_47.contains)(target.events[type], listener)) { - element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].push(listener); - } -} - -function __remove_52(element, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var elementIndex = elements.indexOf(element); - var target = targets[elementIndex]; - - if (!target || !target.events) { - return; - } - - if (type === 'all') { - for (type in target.events) { - if (target.events.hasOwnProperty(type)) { - __remove_52(element, type, 'all'); - } - } - - return; - } - - if (target.events[type]) { - var len = target.events[type].length; - - if (listener === 'all') { - for (var i = 0; i < len; i++) { - __remove_52(element, type, target.events[type][i], options); - } - - return; - } else { - for (var _i = 0; _i < len; _i++) { - if (target.events[type][_i] === listener) { - element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); - target.events[type].splice(_i, 1); - break; - } - } - } - - if (target.events[type] && target.events[type].length === 0) { - target.events[type] = null; - target.typeCount--; - } - } - - if (!target.typeCount) { - targets.splice(elementIndex, 1); - elements.splice(elementIndex, 1); - } -} - -function addDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - - if (!delegatedEvents[type]) { - delegatedEvents[type] = { - contexts: [], - listeners: [], - selectors: [] - }; // add delegate listener functions - - for (var _i2 = 0; _i2 < documents.length; _i2++) { - var _ref; - - _ref = documents[_i2]; - var doc = _ref; - add(doc, type, delegateListener); - add(doc, type, delegateUseCapture, true); - } - } - - var delegated = delegatedEvents[type]; - var index; - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - break; - } - } - - if (index === -1) { - index = delegated.selectors.length; - delegated.selectors.push(selector); - delegated.contexts.push(context); - delegated.listeners.push([]); - } // keep listener and capture and passive flags - - - delegated.listeners[index].push([listener, !!options.capture, options.passive]); -} - -function removeDelegate(selector, context, type, listener, optionalArg) { - var options = getOptions(optionalArg); - var delegated = delegatedEvents[type]; - var matchFound = false; - var index; - - if (!delegated) { - return; - } // count from last index of delegated to 0 - - - for (index = delegated.selectors.length - 1; index >= 0; index--) { - // look for matching selector and context Node - if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { - var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] - - for (var i = listeners.length - 1; i >= 0; i--) { - var _listeners$i = _slicedToArray(listeners[i], 3), - fn = _listeners$i[0], - capture = _listeners$i[1], - passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match - - - if (fn === listener && capture === !!options.capture && passive === options.passive) { - // remove the listener from the array of listeners - listeners.splice(i, 1); // if all listeners for this interactable have been removed - // remove the interactable from the delegated arrays - - if (!listeners.length) { - delegated.selectors.splice(index, 1); - delegated.contexts.splice(index, 1); - delegated.listeners.splice(index, 1); // remove delegate function from context - - __remove_52(context, type, delegateListener); - __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegatedEvents[type] = null; - } - } // only remove one listener - - - matchFound = true; - break; - } - } - - if (matchFound) { - break; - } - } - } -} // bound to the interactable context when a DOM event -// listener is added to a selector interactable - - -function delegateListener(event, optionalArg) { - var options = getOptions(optionalArg); - var fakeEvent = new FakeEvent(event); - var delegated = delegatedEvents[event.type]; - - var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), - _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), - eventTarget = _pointerUtils$getEven2[0]; - - var element = eventTarget; // climb up document tree looking for selector matches - - while (__is_52.element(element)) { - for (var i = 0; i < delegated.selectors.length; i++) { - var selector = delegated.selectors[i]; - var context = delegated.contexts[i]; - - if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { - var listeners = delegated.listeners[i]; - fakeEvent.currentTarget = element; - - for (var _i3 = 0; _i3 < listeners.length; _i3++) { - var _ref2; - - _ref2 = listeners[_i3]; - - 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); - } - } - } - } - - element = __domUtils_52.parentNode(element); - } -} - -function delegateUseCapture(event) { - return delegateListener.call(this, event, true); -} - -function getOptions(param) { - return __is_52.object(param) ? param : { - capture: param - }; -} - -var FakeEvent = -/*#__PURE__*/ -function () { - function FakeEvent(originalEvent) { - _classCallCheck(this, FakeEvent); - - this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed - - (0, ___pointerExtend_52["default"])(this, originalEvent); - } - - _createClass(FakeEvent, [{ - key: "preventOriginalDefault", - value: function preventOriginalDefault() { - this.originalEvent.preventDefault(); - } - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.originalEvent.stopPropagation(); - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.originalEvent.stopImmediatePropagation(); - } - }]); - - return FakeEvent; -}(); - -_$events_52.FakeEvent = FakeEvent; -var events = { - add: add, - remove: __remove_52, - addDelegate: addDelegate, - removeDelegate: removeDelegate, - delegateListener: delegateListener, - delegateUseCapture: delegateUseCapture, - delegatedEvents: delegatedEvents, - documents: documents, - supportsOptions: false, - supportsPassive: false, - _elements: elements, - _targets: targets, - init: function init(window) { - window.document.createElement('div').addEventListener('test', null, { - get capture() { - return events.supportsOptions = true; - }, - - get passive() { - return events.supportsPassive = true; - } - - }); - } -}; -var ___default_52 = events; -_$events_52["default"] = ___default_52; - -var _$extend_53 = {}; -"use strict"; - -Object.defineProperty(_$extend_53, "__esModule", { - value: true -}); -_$extend_53["default"] = extend; - -function extend(dest, source) { - for (var prop in source) { - dest[prop] = source[prop]; - } - - return dest; -} - -var _$rect_63 = {}; -"use strict"; - -Object.defineProperty(_$rect_63, "__esModule", { - value: true -}); -_$rect_63.getStringOptionResult = getStringOptionResult; -_$rect_63.resolveRectLike = resolveRectLike; -_$rect_63.rectToXY = rectToXY; -_$rect_63.xywhToTlbr = xywhToTlbr; -_$rect_63.tlbrToXywh = tlbrToXywh; -_$rect_63["default"] = void 0; - -/* removed: var _$domUtils_51 = require("./domUtils"); */; - -var _extend = ___interopRequireDefault_63(_$extend_53); - -var __is_63 = ___interopRequireWildcard_63(_$is_57); - -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 }; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -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, target, element) { - if (value === 'parent') { - return (0, _$domUtils_51.parentNode)(element); - } - - if (value === 'self') { - return target.getRect(element); - } - - return (0, _$domUtils_51.closest)(element, value); -} - -function resolveRectLike(value, target, element, functionArgs) { - if (__is_63.string(value)) { - value = getStringOptionResult(value, target, element); - } else if (__is_63.func(value)) { - value = value.apply(void 0, _toConsumableArray(functionArgs)); - } - - if (__is_63.element(value)) { - value = (0, _$domUtils_51.getElementRect)(value); - } - - return value; -} - -function rectToXY(rect) { - return rect && { - x: 'x' in rect ? rect.x : rect.left, - y: 'y' in rect ? rect.y : rect.top - }; -} - -function xywhToTlbr(rect) { - if (rect && !('left' in rect && 'top' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.left = rect.x || 0; - rect.top = rect.y || 0; - rect.right = rect.right || rect.left + rect.width; - rect.bottom = rect.bottom || rect.top + rect.height; - } - - return rect; -} - -function tlbrToXywh(rect) { - if (rect && !('x' in rect && 'y' in rect)) { - rect = (0, _extend["default"])({}, rect); - rect.x = rect.left || 0; - rect.y = rect.top || 0; - rect.width = rect.width || rect.right - rect.x; - rect.height = rect.height || rect.bottom - rect.y; - } - - return rect; -} - -var ___default_63 = { - getStringOptionResult: getStringOptionResult, - resolveRectLike: resolveRectLike, - rectToXY: rectToXY, - xywhToTlbr: xywhToTlbr, - tlbrToXywh: tlbrToXywh -}; -_$rect_63["default"] = ___default_63; - -var _$getOriginXY_54 = {}; -"use strict"; - -Object.defineProperty(_$getOriginXY_54, "__esModule", { - value: true -}); -_$getOriginXY_54["default"] = ___default_54; - -/* removed: var _$rect_63 = require("./rect"); */; - -function ___default_54(target, element, action) { - var actionOptions = target.options[action]; - var actionOrigin = actionOptions && actionOptions.origin; - var origin = actionOrigin || target.options.origin; - var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); - return (0, _$rect_63.rectToXY)(originRect) || { - x: 0, - y: 0 - }; -} - -var _$normalizeListeners_59 = {}; -"use strict"; - -Object.defineProperty(_$normalizeListeners_59, "__esModule", { - value: true -}); -_$normalizeListeners_59["default"] = normalize; - -var ___extend_59 = ___interopRequireDefault_59(_$extend_53); - -var __is_59 = ___interopRequireWildcard_59(_$is_57); - -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 }; } - -function normalize(type, listeners, result) { - result = result || {}; - - if (__is_59.string(type) && type.search(' ') !== -1) { - type = split(type); - } - - if (__is_59.array(type)) { - return type.reduce(function (acc, t) { - return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); - }, result); - } // ({ type: fn }) -> ('', { type: fn }) - - - if (__is_59.object(type)) { - listeners = type; - type = ''; - } - - if (__is_59.func(listeners)) { - result[type] = result[type] || []; - result[type].push(listeners); - } else if (__is_59.array(listeners)) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var l = _ref; - normalize(type, l, result); - } - } else if (__is_59.object(listeners)) { - for (var prefix in listeners) { - var combinedTypes = split(prefix).map(function (p) { - return "".concat(type).concat(p); - }); - normalize(combinedTypes, listeners[prefix], result); - } - } - - return result; -} - -function split(type) { - return type.trim().split(/ +/); -} - -var _$raf_62 = {}; -"use strict"; - -Object.defineProperty(_$raf_62, "__esModule", { - value: true -}); -_$raf_62["default"] = void 0; -var lastTime = 0; - -var _request; - -var _cancel; - -function __init_62(window) { - _request = window.requestAnimationFrame; - _cancel = window.cancelAnimationFrame; - - if (!_request) { - var vendors = ['ms', 'moz', 'webkit', 'o']; - - for (var _i = 0; _i < vendors.length; _i++) { - var vendor = vendors[_i]; - _request = window["".concat(vendor, "RequestAnimationFrame")]; - _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; - } - } - - if (!_request) { - _request = function request(callback) { - var currTime = Date.now(); - var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal - - var token = setTimeout(function () { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return token; - }; - - _cancel = function cancel(token) { - return clearTimeout(token); - }; - } -} - -var ___default_62 = { - request: function request(callback) { - return _request(callback); - }, - cancel: function cancel(token) { - return _cancel(token); - }, - init: __init_62 -}; -_$raf_62["default"] = ___default_62; - -var _$Signals_46 = {}; -"use strict"; - -Object.defineProperty(_$Signals_46, "__esModule", { - value: true -}); -_$Signals_46["default"] = void 0; - -function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } - -var Signals = -/*#__PURE__*/ -function () { - function Signals() { - ___classCallCheck_46(this, Signals); - - this.listeners = {}; - } - - ___createClass_46(Signals, [{ - key: "on", - value: function on(name, listener) { - if (!this.listeners[name]) { - this.listeners[name] = [listener]; - return; - } - - this.listeners[name].push(listener); - } - }, { - key: "off", - value: function off(name, listener) { - if (!this.listeners[name]) { - return; - } - - var index = this.listeners[name].indexOf(listener); - - if (index !== -1) { - this.listeners[name].splice(index, 1); - } - } - }, { - key: "fire", - value: function fire(name, arg) { - var targetListeners = this.listeners[name]; - - if (!targetListeners) { - return; - } - - for (var _i = 0; _i < targetListeners.length; _i++) { - var _ref; - - _ref = targetListeners[_i]; - var listener = _ref; - - if (listener(arg, name) === false) { - return false; - } - } - } - }]); - - return Signals; -}(); - -var ___default_46 = Signals; -_$Signals_46["default"] = ___default_46; - -var _$utils_56 = {}; -"use strict"; - -Object.defineProperty(_$utils_56, "__esModule", { - value: true -}); -_$utils_56.warnOnce = warnOnce; -_$utils_56._getQBezierValue = _getQBezierValue; -_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; -_$utils_56.easeOutQuad = easeOutQuad; -_$utils_56.copyAction = copyAction; -Object.defineProperty(_$utils_56, "win", { - enumerable: true, - get: function get() { - return ___window_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "browser", { - enumerable: true, - get: function get() { - return ___browser_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "clone", { - enumerable: true, - get: function get() { - return _clone["default"]; - } -}); -Object.defineProperty(_$utils_56, "events", { - enumerable: true, - get: function get() { - return _events["default"]; - } -}); -Object.defineProperty(_$utils_56, "extend", { - enumerable: true, - get: function get() { - return ___extend_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "getOriginXY", { - enumerable: true, - get: function get() { - return _getOriginXY["default"]; - } -}); -Object.defineProperty(_$utils_56, "hypot", { - enumerable: true, - get: function get() { - return ___hypot_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "normalizeListeners", { - enumerable: true, - get: function get() { - return _normalizeListeners["default"]; - } -}); -Object.defineProperty(_$utils_56, "pointer", { - enumerable: true, - get: function get() { - return ___pointerUtils_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "raf", { - enumerable: true, - get: function get() { - return _raf["default"]; - } -}); -Object.defineProperty(_$utils_56, "rect", { - enumerable: true, - get: function get() { - return ___rect_56["default"]; - } -}); -Object.defineProperty(_$utils_56, "Signals", { - enumerable: true, - get: function get() { - return _Signals["default"]; - } -}); -_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; - -var __arr_56 = ___interopRequireWildcard_56(_$arr_47); - -_$utils_56.arr = __arr_56; - -var dom = ___interopRequireWildcard_56(_$domUtils_51); - -_$utils_56.dom = dom; - -var __is_56 = ___interopRequireWildcard_56(_$is_57); - -_$utils_56.is = __is_56; - -var ___window_56 = ___interopRequireDefault_56(_$window_66); - -var ___browser_56 = ___interopRequireDefault_56(_$browser_48); - -var _clone = ___interopRequireDefault_56(_$clone_49); - -var _events = ___interopRequireDefault_56(_$events_52); - -var ___extend_56 = ___interopRequireDefault_56(_$extend_53); - -var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); - -var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); - -var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); - -var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); - -var _raf = ___interopRequireDefault_56(_$raf_62); - -var ___rect_56 = ___interopRequireDefault_56(_$rect_63); - -var _Signals = ___interopRequireDefault_56(_$Signals_46); - -function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 - - return function () { - if (!warned) { - ___window_56["default"].window.console.warn(message); - - warned = true; - } - - return method.apply(this, arguments); - }; -} // http://stackoverflow.com/a/5634528/2280888 - - -function _getQBezierValue(t, p1, p2, p3) { - var iT = 1 - t; - return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; -} - -function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { - return { - x: _getQBezierValue(position, startX, cpX, endX), - y: _getQBezierValue(position, startY, cpY, endY) - }; -} // http://gizma.com/easing/ - - -function easeOutQuad(t, b, c, d) { - t /= d; - return -c * t * (t - 2) + b; -} - -function copyAction(dest, src) { - dest.name = src.name; - dest.axis = src.axis; - dest.edges = src.edges; - return dest; -} - -var _$defaultOptions_20 = {}; -"use strict"; - -Object.defineProperty(_$defaultOptions_20, "__esModule", { - value: true -}); -_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; -// tslint:disable no-empty-interface -var defaults = { - base: { - preventDefault: 'auto', - deltaSource: 'page' - }, - perAction: { - enabled: false, - origin: { - x: 0, - y: 0 - } - }, - actions: {} -}; -_$defaultOptions_20.defaults = defaults; -var ___default_20 = defaults; -_$defaultOptions_20["default"] = ___default_20; - -var _$Eventable_14 = {}; -"use strict"; - -Object.defineProperty(_$Eventable_14, "__esModule", { - value: true -}); -_$Eventable_14["default"] = void 0; - -var __arr_14 = ___interopRequireWildcard_14(_$arr_47); - -var ___extend_14 = ___interopRequireDefault_14(_$extend_53); - -var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); - -function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } - -function fireUntilImmediateStopped(event, listeners) { - for (var _i = 0; _i < listeners.length; _i++) { - var _ref; - - _ref = listeners[_i]; - var listener = _ref; - - if (event.immediatePropagationStopped) { - break; - } - - listener(event); - } -} - -var Eventable = -/*#__PURE__*/ -function () { - function Eventable(options) { - ___classCallCheck_14(this, Eventable); - - this.types = {}; - this.propagationStopped = false; - this.immediatePropagationStopped = false; - this.options = (0, ___extend_14["default"])({}, options || {}); - } - - ___createClass_14(Eventable, [{ - key: "fire", - value: function fire(event) { - var listeners; - var global = this.global; // Interactable#on() listeners - // tslint:disable no-conditional-assignment - - if (listeners = this.types[event.type]) { - fireUntilImmediateStopped(event, listeners); - } // interact.on() listeners - - - if (!event.propagationStopped && global && (listeners = global[event.type])) { - fireUntilImmediateStopped(event, listeners); - } - } - }, { - key: "on", - value: function on(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); - } - } - }, { - key: "off", - value: function off(type, listener) { - var listeners = (0, ___normalizeListeners_14["default"])(type, listener); - - for (type in listeners) { - var eventList = this.types[type]; - - if (!eventList || !eventList.length) { - continue; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var subListener = _ref2; - var index = eventList.indexOf(subListener); - - if (index !== -1) { - eventList.splice(index, 1); - } - } - } - } - }, { - key: "getRect", - value: function getRect(_element) { - return null; - } - }]); - - return Eventable; -}(); - -var ___default_14 = Eventable; -_$Eventable_14["default"] = ___default_14; - -var _$Interactable_16 = {}; -"use strict"; - -Object.defineProperty(_$Interactable_16, "__esModule", { - value: true -}); -_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; - -var __arr_16 = ___interopRequireWildcard_16(_$arr_47); - -var ___browser_16 = ___interopRequireDefault_16(_$browser_48); - -var ___clone_16 = ___interopRequireDefault_16(_$clone_49); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_16 = ___interopRequireDefault_16(_$events_52); - -var ___extend_16 = ___interopRequireDefault_16(_$extend_53); - -var __is_16 = ___interopRequireWildcard_16(_$is_57); - -var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -var _Eventable = ___interopRequireDefault_16(_$Eventable_14); - -function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } - -/** */ -var Interactable = -/*#__PURE__*/ -function () { - /** */ - function Interactable(target, options, defaultContext) { - ___classCallCheck_16(this, Interactable); - - this.events = new _Eventable["default"](); - this._actions = options.actions; - this.target = target; - this._context = options.context || defaultContext; - this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); - this._doc = this._win.document; - this.set(options); - } - - ___createClass_16(Interactable, [{ - key: "setOnEvents", - value: function setOnEvents(actionName, phases) { - if (__is_16.func(phases.onstart)) { - this.on("".concat(actionName, "start"), phases.onstart); - } - - if (__is_16.func(phases.onmove)) { - this.on("".concat(actionName, "move"), phases.onmove); - } - - if (__is_16.func(phases.onend)) { - this.on("".concat(actionName, "end"), phases.onend); - } - - if (__is_16.func(phases.oninertiastart)) { - this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); - } - - return this; - } - }, { - key: "updatePerActionListeners", - value: function updatePerActionListeners(actionName, prev, cur) { - if (__is_16.array(prev) || __is_16.object(prev)) { - this.off(actionName, prev); - } - - if (__is_16.array(cur) || __is_16.object(cur)) { - this.on(actionName, cur); - } - } - }, { - key: "setPerAction", - value: function setPerAction(actionName, options) { - var defaults = this._defaults; // for all the default per-action options - - for (var optionName in options) { - var actionOptions = this.options[actionName]; - var optionValue = options[optionName]; - var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones - - if (optionName === 'listeners') { - this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); - } // if the option value is an array - - - if (isArray) { - actionOptions[optionName] = __arr_16.from(optionValue); - } // if the option value is an object - else if (!isArray && __is_16.plainObject(optionValue)) { - // copy the object - actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults - - if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { - actionOptions[optionName].enabled = optionValue.enabled !== false; - } - } // if the option value is a boolean and the default is an object - else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { - actionOptions[optionName].enabled = optionValue; - } // if it's anything else, do a plain assignment - else { - actionOptions[optionName] = optionValue; - } - } - } - /** - * The default function to get an Interactables bounding rect. Can be - * overridden using {@link Interactable.rectChecker}. - * - * @param {Element} [element] The element to measure. - * @return {object} The object's bounding rectangle. - */ - - }, { - key: "getRect", - value: function getRect(element) { - element = element || (__is_16.element(this.target) ? this.target : null); - - if (__is_16.string(this.target)) { - element = element || this._context.querySelector(this.target); - } - - return (0, _$domUtils_51.getElementRect)(element); - } - /** - * Returns or sets the function used to calculate the interactable's - * element's rectangle - * - * @param {function} [checker] A function which returns this Interactable's - * bounding rectangle. See {@link Interactable.getRect} - * @return {function | object} The checker function or this Interactable - */ - - }, { - key: "rectChecker", - value: function rectChecker(checker) { - if (__is_16.func(checker)) { - this.getRect = checker; - return this; - } - - if (checker === null) { - delete this.getRect; - return this; - } - - return this.getRect; - } - }, { - key: "_backCompatOption", - value: function _backCompatOption(optionName, newValue) { - if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { - this.options[optionName] = newValue; - - for (var _i = 0; _i < this._actions.names.length; _i++) { - var _ref; - - _ref = this._actions.names[_i]; - var action = _ref; - this.options[action][optionName] = newValue; - } - - return this; - } - - return this.options[optionName]; - } - /** - * Gets or sets the origin of the Interactable's element. The x and y - * of the origin will be subtracted from action event coordinates. - * - * @param {Element | object | string} [origin] An HTML or SVG Element whose - * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' - * or any CSS selector - * - * @return {object} The current origin or this Interactable - */ - - }, { - key: "origin", - value: function origin(newValue) { - return this._backCompatOption('origin', newValue); - } - /** - * Returns or sets the mouse coordinate types used to calculate the - * movement of the pointer. - * - * @param {string} [newValue] Use 'client' if you will be scrolling while - * interacting; Use 'page' if you want autoScroll to work - * @return {string | object} The current deltaSource or this Interactable - */ - - }, { - key: "deltaSource", - value: function deltaSource(newValue) { - if (newValue === 'page' || newValue === 'client') { - this.options.deltaSource = newValue; - return this; - } - - return this.options.deltaSource; - } - /** - * Gets the selector context Node of the Interactable. The default is - * `window.document`. - * - * @return {Node} The context Node of this Interactable - */ - - }, { - key: "context", - value: function context() { - return this._context; - } - }, { - key: "inContext", - value: function inContext(element) { - return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); - } - }, { - key: "testIgnoreAllow", - value: function testIgnoreAllow(options, targetNode, eventTarget) { - return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); - } - }, { - key: "testAllow", - value: function testAllow(allowFrom, targetNode, element) { - if (!allowFrom) { - return true; - } - - if (!__is_16.element(element)) { - return false; - } - - if (__is_16.string(allowFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); - } else if (__is_16.element(allowFrom)) { - return (0, _$domUtils_51.nodeContains)(allowFrom, element); - } - - return false; - } - }, { - key: "testIgnore", - value: function testIgnore(ignoreFrom, targetNode, element) { - if (!ignoreFrom || !__is_16.element(element)) { - return false; - } - - if (__is_16.string(ignoreFrom)) { - return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); - } else if (__is_16.element(ignoreFrom)) { - return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); - } - - return false; - } - /** - * Calls listeners for the given InteractEvent type bound globally - * and directly to this Interactable - * - * @param {InteractEvent} iEvent The InteractEvent object to be fired on this - * Interactable - * @return {Interactable} this Interactable - */ - - }, { - key: "fire", - value: function fire(iEvent) { - this.events.fire(iEvent); - return this; - } - }, { - key: "_onOff", - value: function _onOff(method, typeArg, listenerArg, options) { - if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { - options = listenerArg; - listenerArg = null; - } - - var addRemove = method === 'on' ? 'add' : 'remove'; - var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); - - for (var type in listeners) { - if (type === 'wheel') { - type = ___browser_16["default"].wheelEvent; - } - - for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { - var _ref2; - - _ref2 = listeners[type][_i2]; - var listener = _ref2; - - // if it is an action event type - if (__arr_16.contains(this._actions.eventTypes, type)) { - this.events[method](type, listener); - } // 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 Interactable's element - else { - ___events_16["default"][addRemove](this.target, type, listener, options); - } - } - } - - return this; - } - /** - * Binds a listener for an InteractEvent, pointerEvent or DOM event. - * - * @param {string | array | object} types The types of events to listen - * for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * addEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "on", - value: function on(types, listener, options) { - return this._onOff('on', types, listener, options); - } - /** - * Removes an InteractEvent, pointerEvent or DOM event listener. - * - * @param {string | array | object} types The types of events that were - * listened for - * @param {function | array | object} [listener] The event listener function(s) - * @param {object | boolean} [options] options object or useCapture flag for - * removeEventListener - * @return {Interactable} This Interactable - */ - - }, { - key: "off", - value: function off(types, listener, options) { - return this._onOff('off', types, listener, options); - } - /** - * Reset the options of this Interactable - * - * @param {object} options The new settings to apply - * @return {object} This Interactable - */ - - }, { - key: "set", - value: function set(options) { - var defaults = this._defaults; - - if (!__is_16.object(options)) { - options = {}; - } - - this.options = (0, ___clone_16["default"])(defaults.base); - - for (var actionName in this._actions.methodDict) { - var methodName = this._actions.methodDict[actionName]; - this.options[actionName] = {}; - this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); - this[methodName](options[actionName]); - } - - for (var setting in options) { - if (__is_16.func(this[setting])) { - this[setting](options[setting]); - } - } - - return this; - } - /** - * Remove this interactable from the list of interactables and remove it's - * action capabilities and event listeners - * - * @return {interact} - */ - - }, { - key: "unset", - value: function unset() { - ___events_16["default"].remove(this.target, 'all'); - - if (__is_16.string(this.target)) { - // remove delegated events - for (var type in ___events_16["default"].delegatedEvents) { - var delegated = ___events_16["default"].delegatedEvents[type]; - - if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { - delegated.selectors.splice(0, 1); - delegated.contexts.splice(0, 1); - delegated.listeners.splice(0, 1); // remove the arrays if they are empty - - if (!delegated.selectors.length) { - delegated[type] = null; - } - } - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); - - ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); - } - } else { - ___events_16["default"].remove(this.target, 'all'); - } - } - }, { - key: "_defaults", - get: function get() { - return { - base: {}, - perAction: {}, - actions: {} - }; - } - }]); - - return Interactable; -}(); - -_$Interactable_16.Interactable = Interactable; -var ___default_16 = Interactable; -_$Interactable_16["default"] = ___default_16; - -var _$InteractableSet_17 = {}; -"use strict"; - -Object.defineProperty(_$InteractableSet_17, "__esModule", { - value: true -}); -_$InteractableSet_17["default"] = void 0; - -var __arr_17 = ___interopRequireWildcard_17(_$arr_47); - -var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); - -var ___extend_17 = ___interopRequireDefault_17(_$extend_53); - -var __is_17 = ___interopRequireWildcard_17(_$is_57); - -var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); - -function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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"); } } - -function ___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); } } - -function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } - -var InteractableSet = -/*#__PURE__*/ -function () { - function InteractableSet(scope) { - var _this = this; - - ___classCallCheck_17(this, InteractableSet); - - this.scope = scope; - this.signals = new ___Signals_17["default"](); // all set interactables - - this.list = []; - this.selectorMap = {}; - this.signals.on('unset', function (_ref) { - var interactable = _ref.interactable; - var target = interactable.target, - context = interactable._context; - var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; - var targetIndex = targetMappings.findIndex(function (m) { - return m.context === context; - }); - - if (targetMappings[targetIndex]) { - // Destroying mappingInfo's context and interactable - targetMappings[targetIndex].context = null; - targetMappings[targetIndex].interactable = null; - } - - targetMappings.splice(targetIndex, 1); - }); - } - - ___createClass_17(InteractableSet, [{ - key: "new", - value: function _new(target, options) { - options = (0, ___extend_17["default"])(options || {}, { - actions: this.scope.actions - }); - var interactable = new this.scope.Interactable(target, options, this.scope.document); - var mappingInfo = { - context: interactable._context, - interactable: interactable - }; - this.scope.addDocument(interactable._doc); - this.list.push(interactable); - - if (__is_17.string(target)) { - if (!this.selectorMap[target]) { - this.selectorMap[target] = []; - } - - this.selectorMap[target].push(mappingInfo); - } else { - if (!interactable.target[this.scope.id]) { - Object.defineProperty(target, this.scope.id, { - value: [], - configurable: true - }); - } - - target[this.scope.id].push(mappingInfo); - } - - this.signals.fire('new', { - target: target, - options: options, - interactable: interactable, - win: this.scope._win - }); - return interactable; - } - }, { - key: "get", - value: function get(target, options) { - var context = options && options.context || this.scope.document; - var isSelector = __is_17.string(target); - var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; - - if (!targetMappings) { - return null; - } - - var found = __arr_17.find(targetMappings, function (m) { - return m.context === context && (isSelector || m.interactable.inContext(target)); - }); - return found && found.interactable; - } - }, { - key: "forEachMatch", - value: function forEachMatch(node, callback) { - for (var _i = 0; _i < this.list.length; _i++) { - var _ref2; - - _ref2 = this.list[_i]; - var interactable = _ref2; - var ret = void 0; - - if ((__is_17.string(interactable.target) // target is a selector and the element matches - ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element - node === interactable.target) && // the element is in context - interactable.inContext(node)) { - ret = callback(interactable); - } - - if (ret !== undefined) { - return ret; - } - } - } - }]); - - return InteractableSet; -}(); - -_$InteractableSet_17["default"] = InteractableSet; - -var _$BaseEvent_13 = {}; -"use strict"; - -Object.defineProperty(_$BaseEvent_13, "__esModule", { - value: true -}); -_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; - -function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } - -var EventPhase; -_$BaseEvent_13.EventPhase = EventPhase; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); - -var BaseEvent = -/*#__PURE__*/ -function () { - function BaseEvent(interaction) { - ___classCallCheck_13(this, BaseEvent); - - this.immediatePropagationStopped = false; - this.propagationStopped = false; - this._interaction = interaction; - } - - ___createClass_13(BaseEvent, [{ - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }, { - key: "interaction", - get: function get() { - return this._interaction._proxy; - } - }]); - - return BaseEvent; -}(); - -_$BaseEvent_13.BaseEvent = BaseEvent; -var ___default_13 = BaseEvent; -_$BaseEvent_13["default"] = ___default_13; - -var _$InteractEvent_15 = {}; -"use strict"; - -Object.defineProperty(_$InteractEvent_15, "__esModule", { - value: true -}); -_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; - -var ___extend_15 = ___interopRequireDefault_15(_$extend_53); - -var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); - -var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); - -var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); - -var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); - -function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -var __EventPhase_15; -_$InteractEvent_15.EventPhase = __EventPhase_15; - -(function (EventPhase) { - EventPhase["Start"] = "start"; - EventPhase["Move"] = "move"; - EventPhase["End"] = "end"; - EventPhase["_NONE"] = ""; -})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); - -var InteractEvent = -/*#__PURE__*/ -function (_BaseEvent) { - _inherits(InteractEvent, _BaseEvent); - - /** */ - function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { - var _this; - - ___classCallCheck_15(this, InteractEvent); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); - element = element || interaction.element; - var target = interaction.interactable; - var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; - var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); - var starting = phase === 'start'; - var ending = phase === 'end'; - var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; - var coords = starting ? interaction.coords.start : ending ? { - page: prevEvent.page, - client: prevEvent.client, - timeStamp: interaction.coords.cur.timeStamp - } : interaction.coords.cur; - _this.page = (0, ___extend_15["default"])({}, coords.page); - _this.client = (0, ___extend_15["default"])({}, coords.client); - _this.rect = (0, ___extend_15["default"])({}, interaction.rect); - _this.timeStamp = coords.timeStamp; - - if (!ending) { - _this.page.x -= origin.x; - _this.page.y -= origin.y; - _this.client.x -= origin.x; - _this.client.y -= origin.y; - } - - _this.ctrlKey = event.ctrlKey; - _this.altKey = event.altKey; - _this.shiftKey = event.shiftKey; - _this.metaKey = event.metaKey; - _this.button = event.button; - _this.buttons = event.buttons; - _this.target = element; - _this.currentTarget = element; - _this.relatedTarget = related || null; - _this.preEnd = preEnd; - _this.type = type || actionName + (phase || ''); - _this.interactable = target; - _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; - _this.x0 = interaction.coords.start.page.x - origin.x; - _this.y0 = interaction.coords.start.page.y - origin.y; - _this.clientX0 = interaction.coords.start.client.x - origin.x; - _this.clientY0 = interaction.coords.start.client.y - origin.y; - - if (starting || ending) { - _this.delta = { - x: 0, - y: 0 - }; - } else { - _this.delta = { - x: _this[deltaSource].x - prevEvent[deltaSource].x, - y: _this[deltaSource].y - prevEvent[deltaSource].y - }; - } - - _this.dt = interaction.coords.delta.timeStamp; - _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second - - _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); - _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); - _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; - return _this; - } - - ___createClass_15(InteractEvent, [{ - key: "getSwipe", - value: function getSwipe() { - var interaction = this._interaction; - - if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { - return null; - } - - var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; - var overlap = 22.5; - - if (angle < 0) { - angle += 360; - } - - var left = 135 - overlap <= angle && angle < 225 + overlap; - var up = 225 - overlap <= angle && angle < 315 + overlap; - var right = !left && (315 - overlap <= angle || angle < 45 + overlap); - var down = !up && 45 - overlap <= angle && angle < 135 + overlap; - return { - up: up, - down: down, - left: left, - right: right, - angle: angle, - speed: interaction.prevEvent.speed, - velocity: { - x: interaction.prevEvent.velocityX, - y: interaction.prevEvent.velocityY - } - }; - } - }, { - key: "preventDefault", - value: function preventDefault() {} - /** - * Don't call listeners on the remaining targets - */ - - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - /** - * Don't call any other listeners (even on the current target) - */ - - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "pageX", - get: function get() { - return this.page.x; - }, - set: function set(value) { - this.page.x = value; - } - }, { - key: "pageY", - get: function get() { - return this.page.y; - }, - set: function set(value) { - this.page.y = value; - } - }, { - key: "clientX", - get: function get() { - return this.client.x; - }, - set: function set(value) { - this.client.x = value; - } - }, { - key: "clientY", - get: function get() { - return this.client.y; - }, - set: function set(value) { - this.client.y = value; - } - }, { - key: "dx", - get: function get() { - return this.delta.x; - }, - set: function set(value) { - this.delta.x = value; - } - }, { - key: "dy", - get: function get() { - return this.delta.y; - }, - set: function set(value) { - this.delta.y = value; - } - }, { - key: "velocityX", - get: function get() { - return this.velocity.x; - }, - set: function set(value) { - this.velocity.x = value; - } - }, { - key: "velocityY", - get: function get() { - return this.velocity.y; - }, - set: function set(value) { - this.velocity.y = value; - } - }]); - - return InteractEvent; -}(_BaseEvent2["default"]); - -_$InteractEvent_15.InteractEvent = InteractEvent; -var ___default_15 = InteractEvent; -_$InteractEvent_15["default"] = ___default_15; - -var _$PointerInfo_19 = {}; -"use strict"; - -Object.defineProperty(_$PointerInfo_19, "__esModule", { - value: true -}); -_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; - -function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/* eslint-disable @typescript-eslint/no-parameter-properties */ -var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { - ___classCallCheck_19(this, PointerInfo); - - this.id = id; - this.pointer = pointer; - this.event = event; - this.downTime = downTime; - this.downTarget = downTarget; -}; - -_$PointerInfo_19.PointerInfo = PointerInfo; -var ___default_19 = PointerInfo; -_$PointerInfo_19["default"] = ___default_19; - -var _$interactionFinder_22 = {}; -"use strict"; - -Object.defineProperty(_$interactionFinder_22, "__esModule", { - value: true -}); -_$interactionFinder_22["default"] = void 0; - -var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); - -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'], - search: function search(details) { - for (var _i = 0; _i < finder.methodOrder.length; _i++) { - var _ref; - - _ref = finder.methodOrder[_i]; - var method = _ref; - var interaction = finder[method](details); - - if (interaction) { - return interaction; - } - } - }, - // try to resume simulation with a new pointer - simulationResume: function simulationResume(_ref2) { - var pointerType = _ref2.pointerType, - eventType = _ref2.eventType, - eventTarget = _ref2.eventTarget, - scope = _ref2.scope; - - if (!/down|start/i.test(eventType)) { - return null; - } - - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref3; - - _ref3 = scope.interactions.list[_i2]; - var interaction = _ref3; - var element = eventTarget; - - if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { - while (element) { - // if the element is the interaction element - if (element === interaction.element) { - return interaction; - } - - element = __dom_22.parentNode(element); - } - } - } - - return null; - }, - // if it's a mouse or pen interaction - mouseOrPen: function mouseOrPen(_ref4) { - var pointerId = _ref4.pointerId, - pointerType = _ref4.pointerType, - eventType = _ref4.eventType, - scope = _ref4.scope; - - if (pointerType !== 'mouse' && pointerType !== 'pen') { - return null; - } - - var firstNonActive; - - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref5; - - _ref5 = scope.interactions.list[_i3]; - var interaction = _ref5; - - if (interaction.pointerType === pointerType) { - // if it's a down event, skip interactions with running simulations - if (interaction.simulation && !hasPointerId(interaction, pointerId)) { - continue; - } // if the interaction is active, return it immediately - - - if (interaction.interacting()) { - return interaction; - } // otherwise save it and look for another active interaction - else if (!firstNonActive) { - firstNonActive = interaction; - } - } - } // if no active mouse interaction was found use the first inactive mouse - // interaction - - - if (firstNonActive) { - return firstNonActive; - } // find any mouse or pen interaction. - // ignore the interaction if the eventType is a *down, and a simulation - // is active - - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref6; - - _ref6 = scope.interactions.list[_i4]; - var _interaction = _ref6; - - if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { - return _interaction; - } - } - - return null; - }, - // get interaction that has this pointer - hasPointer: function hasPointer(_ref7) { - var pointerId = _ref7.pointerId, - scope = _ref7.scope; - - for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { - var _ref8; - - _ref8 = scope.interactions.list[_i5]; - var interaction = _ref8; - - if (hasPointerId(interaction, pointerId)) { - return interaction; - } - } - - return null; - }, - // get first idle interaction with a matching pointerType - idle: function idle(_ref9) { - var pointerType = _ref9.pointerType, - scope = _ref9.scope; - - for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { - var _ref10; - - _ref10 = scope.interactions.list[_i6]; - var interaction = _ref10; - - // if there's already a pointer held down - if (interaction.pointers.length === 1) { - var target = interaction.interactable; // don't add this pointer if there is a target interactable and it - // isn't gesturable - - if (target && !(target.options.gesture && target.options.gesture.enabled)) { - continue; - } - } // maximum of 2 pointers per interaction - else if (interaction.pointers.length >= 2) { - continue; - } - - if (!interaction.interacting() && pointerType === interaction.pointerType) { - return interaction; - } - } - - return null; - } -}; - -function hasPointerId(interaction, pointerId) { - return interaction.pointers.some(function (_ref11) { - var id = _ref11.id; - return id === pointerId; - }); -} - -var ___default_22 = finder; -_$interactionFinder_22["default"] = ___default_22; - -var _$drag_1 = {}; -"use strict"; - -Object.defineProperty(_$drag_1, "__esModule", { - value: true -}); -_$drag_1["default"] = void 0; - -var ___scope_1 = _$scope_24({}); - -var __arr_1 = ___interopRequireWildcard_1(_$arr_47); - -var __is_1 = ___interopRequireWildcard_1(_$is_57); - -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'; - -function __install_1(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('before-action-move', beforeMove); - interactions.signals.on('action-resume', beforeMove); // dragmove - - interactions.signals.on('action-move', move); - Interactable.prototype.draggable = drag.draggable; - actions[___scope_1.ActionName.Drag] = drag; - actions.names.push(___scope_1.ActionName.Drag); - __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); - actions.methodDict.drag = 'draggable'; - defaults.actions.drag = drag.defaults; -} - -function beforeMove(_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x') { - interaction.coords.cur.page.y = interaction.coords.start.page.y; - interaction.coords.cur.client.y = interaction.coords.start.client.y; - interaction.coords.velocity.client.y = 0; - interaction.coords.velocity.page.y = 0; - } else if (axis === 'y') { - interaction.coords.cur.page.x = interaction.coords.start.page.x; - interaction.coords.cur.client.x = interaction.coords.start.client.x; - interaction.coords.velocity.client.x = 0; - interaction.coords.velocity.page.x = 0; - } -} - -function move(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var axis = interaction.prepared.axis; - - if (axis === 'x' || axis === 'y') { - var opposite = axis === 'x' ? 'y' : 'x'; - iEvent.page[opposite] = interaction.coords.start.page[opposite]; - iEvent.client[opposite] = interaction.coords.start.client[opposite]; - iEvent.delta[opposite] = 0; - } -} -/** - * ```js - * interact(element).draggable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // the axis in which the first movement must be - * // for the drag sequence to start - * // 'xy' by default - any direction - * startAxis: 'x' || 'y' || 'xy', - * - * // 'xy' by default - don't restrict to one axis (move in any direction) - * // 'x' or 'y' to restrict movement to either axis - * // 'start' to restrict movement to the axis the drag started in - * lockAxis: 'x' || 'y' || 'xy' || 'start', - * - * // max number of drags that can happen concurrently - * // with elements of this Interactable. Infinity by default - * max: Infinity, - * - * // max number of drags that can target the same element+Interactable - * // 1 by default - * maxPerElement: 2 - * }) - * - * var isDraggable = interact('element').draggable(); // true - * ``` - * - * Get or set whether drag actions can be performed on the target - * - * @alias Interactable.prototype.draggable - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on drag events (object makes the Interactable - * draggable) - * @return {boolean | Interactable} boolean indicating if this can be the - * target of drag events, or this Interctable - */ - - -var draggable = function draggable(options) { - if (__is_1.object(options)) { - this.options.drag.enabled = options.enabled !== false; - this.setPerAction('drag', options); - this.setOnEvents('drag', options); - - if (/^(xy|x|y|start)$/.test(options.lockAxis)) { - this.options.drag.lockAxis = options.lockAxis; - } - - if (/^(xy|x|y)$/.test(options.startAxis)) { - this.options.drag.startAxis = options.startAxis; - } - - return this; - } - - if (__is_1.bool(options)) { - this.options.drag.enabled = options; - return this; - } - - return this.options.drag; -}; - -var drag = { - id: 'actions/drag', - install: __install_1, - draggable: draggable, - beforeMove: beforeMove, - move: move, - defaults: { - startAxis: 'xy', - lockAxis: 'xy' - }, - checker: function checker(_pointer, _event, interactable) { - var dragOptions = interactable.options.drag; - return dragOptions.enabled ? { - name: 'drag', - axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis - } : null; - }, - getCursor: function getCursor() { - return 'move'; - } -}; -var ___default_1 = drag; -_$drag_1["default"] = ___default_1; - -var _$DropEvent_2 = {}; -"use strict"; - -Object.defineProperty(_$DropEvent_2, "__esModule", { - value: true -}); -_$DropEvent_2["default"] = void 0; - -var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); - -var __arr_2 = ___interopRequireWildcard_2(_$arr_47); - -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 }; } - -function ___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); } - -function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } - -function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } - -function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } - -function ___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); } - -function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } - -var DropEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_2(DropEvent, _BaseEvent); - - /** - * Class of events fired on dropzones during drags with acceptable targets. - */ - function DropEvent(dropState, dragEvent, type) { - var _this; - - ___classCallCheck_2(this, DropEvent); - - _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); - _this.propagationStopped = false; - _this.immediatePropagationStopped = false; - - var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, - element = _ref.element, - dropzone = _ref.dropzone; - - _this.type = type; - _this.target = element; - _this.currentTarget = element; - _this.dropzone = dropzone; - _this.dragEvent = dragEvent; - _this.relatedTarget = dragEvent.target; - _this.draggable = dragEvent.interactable; - _this.timeStamp = dragEvent.timeStamp; - return _this; - } - /** - * If this is a `dropactivate` event, the dropzone element will be - * deactivated. - * - * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the - * dropzone element and more. - */ - - - ___createClass_2(DropEvent, [{ - key: "reject", - value: function reject() { - var _this2 = this; - - var dropState = this._interaction.dropState; - - if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { - return; - } - - dropState.prev.dropzone = this.dropzone; - dropState.prev.element = this.target; - dropState.rejected = true; - dropState.events.enter = null; - this.stopImmediatePropagation(); - - if (this.type === 'dropactivate') { - var activeDrops = dropState.activeDrops; - var index = __arr_2.findIndex(activeDrops, function (_ref2) { - var dropzone = _ref2.dropzone, - element = _ref2.element; - return dropzone === _this2.dropzone && element === _this2.target; - }); - dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); - var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); - deactivateEvent.dropzone = this.dropzone; - deactivateEvent.target = this.target; - this.dropzone.fire(deactivateEvent); - } else { - this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); - } - } - }, { - key: "preventDefault", - value: function preventDefault() {} - }, { - key: "stopPropagation", - value: function stopPropagation() { - this.propagationStopped = true; - } - }, { - key: "stopImmediatePropagation", - value: function stopImmediatePropagation() { - this.immediatePropagationStopped = this.propagationStopped = true; - } - }]); - - return DropEvent; -}(___BaseEvent2_2["default"]); - -var ___default_2 = DropEvent; -_$DropEvent_2["default"] = ___default_2; - -var _$drop_3 = {}; -"use strict"; - -Object.defineProperty(_$drop_3, "__esModule", { - value: true -}); -_$drop_3["default"] = void 0; - -var __utils_3 = ___interopRequireWildcard_3(_$utils_56); - -var _drag = ___interopRequireDefault_3(_$drag_1); - -var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); - -function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interact = scope.interact, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_drag["default"]); - interactions.signals.on('before-action-start', function (_ref) { - var interaction = _ref.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - interaction.dropState = { - cur: { - dropzone: null, - element: null - }, - prev: { - dropzone: null, - element: null - }, - rejected: null, - events: null, - activeDrops: null - }; - }); - interactions.signals.on('after-action-start', function (_ref2) { - var interaction = _ref2.interaction, - event = _ref2.event, - dragEvent = _ref2.iEvent; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; // reset active dropzones - - dropState.activeDrops = null; - dropState.events = null; - dropState.activeDrops = getActiveDrops(scope, interaction.element); - dropState.events = getDropEvents(interaction, event, dragEvent); - - if (dropState.events.activate) { - fireActivationEvents(dropState.activeDrops, dropState.events.activate); - } - }); // FIXME proper signal types - - interactions.signals.on('action-move', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('action-end', function (arg) { - return onEventCreated(arg, scope); - }); - interactions.signals.on('after-action-move', function (_ref3) { - var interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - interaction.dropState.events = {}; - }); - interactions.signals.on('after-action-end', function (_ref4) { - var interaction = _ref4.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - fireDropEvents(interaction, interaction.dropState.events); - }); - interactions.signals.on('stop', function (_ref5) { - var interaction = _ref5.interaction; - - if (interaction.prepared.name !== 'drag') { - return; - } - - var dropState = interaction.dropState; - - if (dropState) { - dropState.activeDrops = null; - dropState.events = null; - dropState.cur.dropzone = null; - dropState.cur.element = null; - dropState.prev.dropzone = null; - dropState.prev.element = null; - dropState.rejected = false; - } - }); - /** - * - * ```js - * interact('.drop').dropzone({ - * accept: '.can-drop' || document.getElementById('single-drop'), - * overlap: 'pointer' || 'center' || zeroToOne - * } - * ``` - * - * Returns or sets whether draggables can be dropped onto this target to - * trigger drop events - * - * Dropzones can receive the following events: - * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends - * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone - * - `dragmove` when a draggable that has entered the dropzone is moved - * - `drop` when a draggable is dropped into this dropzone - * - * Use the `accept` option to allow only elements that match the given CSS - * selector or element. The value can be: - * - * - **an Element** - only that element can be dropped into this dropzone. - * - **a string**, - the element being dragged must match it as a CSS selector. - * - **`null`** - accept options is cleared - it accepts any element. - * - * Use the `overlap` option to set how drops are checked for. The allowed - * values are: - * - * - `'pointer'`, the pointer must be over the dropzone (default) - * - `'center'`, the draggable element's center must be over the dropzone - * - a number from 0-1 which is the `(intersection area) / (draggable area)`. - * e.g. `0.5` for drop to happen when half of the area of the draggable is - * over the dropzone - * - * Use the `checker` option to specify a function to check if a dragged element - * is over this Interactable. - * - * @param {boolean | object | null} [options] The new options to be set. - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.dropzone = function (options) { - return dropzoneMethod(this, options); - }; - /** - * ```js - * interact(target) - * .dropChecker(function(dragEvent, // related dragmove or dragend event - * event, // TouchEvent/PointerEvent/MouseEvent - * dropped, // bool result of the default checker - * dropzone, // dropzone Interactable - * dropElement, // dropzone elemnt - * draggable, // draggable Interactable - * draggableElement) {// draggable element - * - * return dropped && event.target.hasAttribute('allow-drop') - * } - * ``` - */ - - - Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { - return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); - }; - /** - * Returns or sets whether the dimensions of dropzone elements are calculated - * on every dragmove or only on dragstart for the default dropChecker - * - * @param {boolean} [newValue] True to check on each move. False to check only - * before start - * @return {boolean | interact} The current setting or interact - */ - - - interact.dynamicDrop = function (newValue) { - if (__utils_3.is.bool(newValue)) { - // if (dragging && scope.dynamicDrop !== newValue && !newValue) { - // calcRects(dropzones) - // } - scope.dynamicDrop = newValue; - return interact; - } - - return scope.dynamicDrop; - }; - - __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); - actions.methodDict.drop = 'dropzone'; - scope.dynamicDrop = false; - defaults.actions.drop = drop.defaults; -} - -function collectDrops(_ref6, draggableElement) { - var interactables = _ref6.interactables; - var drops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i = 0; _i < interactables.list.length; _i++) { - var _ref7; - - _ref7 = interactables.list[_i]; - var dropzone = _ref7; - - if (!dropzone.options.drop.enabled) { - continue; - } - - var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting - - 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({ - dropzone: dropzone, - draggableElement: draggableElement - })) { - continue; - } // query for new elements if necessary - - - var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; - - for (var _i2 = 0; _i2 < dropElements.length; _i2++) { - var _ref8; - - _ref8 = dropElements[_i2]; - var dropzoneElement = _ref8; - - if (dropzoneElement !== draggableElement) { - drops.push({ - dropzone: dropzone, - element: dropzoneElement - }); - } - } - } - - return drops; -} - -function fireActivationEvents(activeDrops, event) { - // loop through all active dropzones and trigger event - for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { - var _ref9; - - _ref9 = activeDrops[_i3]; - var _ref10 = _ref9, - dropzone = _ref10.dropzone, - element = _ref10.element; - event.dropzone = dropzone; // set current element as event target - - event.target = element; - dropzone.fire(event); - event.propagationStopped = event.immediatePropagationStopped = false; - } -} // return a new array of possible drops. getActiveDrops should always be -// called when a drag has just started or a drag event happens while -// dynamicDrop is true - - -function getActiveDrops(scope, dragElement) { - // get dropzones and their elements that could receive the draggable - var activeDrops = collectDrops(scope, dragElement); - - for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { - var _ref11; - - _ref11 = activeDrops[_i4]; - var activeDrop = _ref11; - activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); - } - - return activeDrops; -} - -function getDrop(_ref12, dragEvent, pointerEvent) { - var dropState = _ref12.dropState, - draggable = _ref12.interactable, - dragElement = _ref12.element; - var validDrops = []; // collect all dropzones and their elements which qualify for a drop - - for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { - var _ref13; - - _ref13 = dropState.activeDrops[_i5]; - var _ref14 = _ref13, - dropzone = _ref14.dropzone, - dropzoneElement = _ref14.element, - rect = _ref14.rect; - validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); - } // get the most appropriate dropzone based on DOM depth and order - - - var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); - return dropState.activeDrops[dropIndex] || null; -} - -function getDropEvents(interaction, _pointerEvent, dragEvent) { - var dropState = interaction.dropState; - var dropEvents = { - enter: null, - leave: null, - activate: null, - deactivate: null, - move: null, - drop: null - }; - - if (dragEvent.type === 'dragstart') { - dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); - dropEvents.activate.target = null; - dropEvents.activate.dropzone = null; - } - - if (dragEvent.type === 'dragend') { - dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); - dropEvents.deactivate.target = null; - dropEvents.deactivate.dropzone = null; - } - - if (dropState.rejected) { - return dropEvents; - } - - if (dropState.cur.element !== dropState.prev.element) { - // if there was a previous dropzone, create a dragleave event - if (dropState.prev.dropzone) { - dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); - dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; - dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; - } // if dropzone is not null, create a dragenter event - - - if (dropState.cur.dropzone) { - dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); - dragEvent.dragEnter = dropState.cur.element; - dragEvent.dropzone = dropState.cur.dropzone; - } - } - - if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { - dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); - dragEvent.dropzone = dropState.cur.dropzone; - dragEvent.relatedTarget = dropState.cur.element; - } - - if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { - dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); - dropEvents.move.dragmove = dragEvent; - dragEvent.dropzone = dropState.cur.dropzone; - } - - return dropEvents; -} - -function fireDropEvents(interaction, events) { - var dropState = interaction.dropState; - var activeDrops = dropState.activeDrops, - cur = dropState.cur, - prev = dropState.prev; - - if (events.leave) { - prev.dropzone.fire(events.leave); - } - - if (events.move) { - cur.dropzone.fire(events.move); - } - - if (events.enter) { - cur.dropzone.fire(events.enter); - } - - if (events.drop) { - cur.dropzone.fire(events.drop); - } - - if (events.deactivate) { - fireActivationEvents(activeDrops, events.deactivate); - } - - dropState.prev.dropzone = cur.dropzone; - dropState.prev.element = cur.element; -} - -function onEventCreated(_ref15, scope) { - var interaction = _ref15.interaction, - iEvent = _ref15.iEvent, - event = _ref15.event; - - if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { - return; - } - - var dropState = interaction.dropState; - - if (scope.dynamicDrop) { - dropState.activeDrops = getActiveDrops(scope, interaction.element); - } - - var dragEvent = iEvent; - var dropResult = getDrop(interaction, dragEvent, event); // update rejected status - - dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; - dropState.cur.dropzone = dropResult && dropResult.dropzone; - dropState.cur.element = dropResult && dropResult.element; - dropState.events = getDropEvents(interaction, event, dragEvent); -} - -function dropzoneMethod(interactable, options) { - if (__utils_3.is.object(options)) { - interactable.options.drop.enabled = options.enabled !== false; - - if (options.listeners) { - var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' - - var corrected = Object.keys(normalized).reduce(function (acc, type) { - var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; - acc[correctedType] = normalized[type]; - return acc; - }, {}); - interactable.off(interactable.options.drop.listeners); - interactable.on(corrected); - interactable.options.drop.listeners = corrected; - } - - if (__utils_3.is.func(options.ondrop)) { - interactable.on('drop', options.ondrop); - } - - if (__utils_3.is.func(options.ondropactivate)) { - interactable.on('dropactivate', options.ondropactivate); - } - - if (__utils_3.is.func(options.ondropdeactivate)) { - interactable.on('dropdeactivate', options.ondropdeactivate); - } - - if (__utils_3.is.func(options.ondragenter)) { - interactable.on('dragenter', options.ondragenter); - } - - if (__utils_3.is.func(options.ondragleave)) { - interactable.on('dragleave', options.ondragleave); - } - - if (__utils_3.is.func(options.ondropmove)) { - interactable.on('dropmove', options.ondropmove); - } - - if (/^(pointer|center)$/.test(options.overlap)) { - interactable.options.drop.overlap = options.overlap; - } else if (__utils_3.is.number(options.overlap)) { - interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); - } - - if ('accept' in options) { - interactable.options.drop.accept = options.accept; - } - - if ('checker' in options) { - interactable.options.drop.checker = options.checker; - } - - return interactable; - } - - if (__utils_3.is.bool(options)) { - interactable.options.drop.enabled = options; - return interactable; - } - - return interactable.options.drop; -} - -function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { - var dropped = false; // if the dropzone has no rect (eg. display: none) - // call the custom dropChecker or just return false - - if (!(rect = rect || interactable.getRect(dropElement))) { - return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; - } - - var dropOverlap = interactable.options.drop.overlap; - - if (dropOverlap === 'pointer') { - var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); - var page = __utils_3.pointer.getPageXY(dragEvent); - page.x += origin.x; - page.y += origin.y; - var horizontal = page.x > rect.left && page.x < rect.right; - var vertical = page.y > rect.top && page.y < rect.bottom; - dropped = horizontal && vertical; - } - - var dragRect = draggable.getRect(draggableElement); - - if (dragRect && dropOverlap === 'center') { - var cx = dragRect.left + dragRect.width / 2; - var cy = dragRect.top + dragRect.height / 2; - dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; - } - - if (dragRect && __utils_3.is.number(dropOverlap)) { - 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)); - var overlapRatio = overlapArea / (dragRect.width * dragRect.height); - dropped = overlapRatio >= dropOverlap; - } - - if (interactable.options.drop.checker) { - dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); - } - - return dropped; -} - -var drop = { - id: 'actions/drop', - install: __install_3, - getActiveDrops: getActiveDrops, - getDrop: getDrop, - getDropEvents: getDropEvents, - fireDropEvents: fireDropEvents, - defaults: { - enabled: false, - accept: null, - overlap: 'pointer' - } -}; -var ___default_3 = drop; -_$drop_3["default"] = ___default_3; - -var _$gesture_4 = {}; -"use strict"; - -Object.defineProperty(_$gesture_4, "__esModule", { - value: true -}); -_$gesture_4["default"] = void 0; - -var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); - -var ___scope_4 = _$scope_24({}); - -var __utils_4 = ___interopRequireWildcard_4(_$utils_56); - -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 }; } - -___scope_4.ActionName.Gesture = 'gesture'; - -function __install_4(scope) { - var actions = scope.actions, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; - /** - * ```js - * interact(element).gesturable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * // limit multiple gestures. - * // See the explanation in {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isGestureable = interact(element).gesturable() - * ``` - * - * Gets or sets whether multitouch gestures can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on gesture events (makes the Interactable gesturable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of gesture events, or this Interactable - */ - - Interactable.prototype.gesturable = function (options) { - if (__utils_4.is.object(options)) { - this.options.gesture.enabled = options.enabled !== false; - this.setPerAction('gesture', options); - this.setOnEvents('gesture', options); - return this; - } - - if (__utils_4.is.bool(options)) { - this.options.gesture.enabled = options; - return this; - } - - return this.options.gesture; - }; - - interactions.signals.on('action-start', updateGestureProps); - interactions.signals.on('action-move', updateGestureProps); - interactions.signals.on('action-end', updateGestureProps); - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.gesture = { - angle: 0, - distance: 0, - scale: 1, - startAngle: 0, - startDistance: 0 - }; - }); - actions[___scope_4.ActionName.Gesture] = gesture; - actions.names.push(___scope_4.ActionName.Gesture); - __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); - actions.methodDict.gesture = 'gesturable'; - defaults.actions.gesture = gesture.defaults; -} - -var gesture = { - id: 'actions/gesture', - install: __install_4, - defaults: {}, - checker: function checker(_pointer, _event, _interactable, _element, interaction) { - if (interaction.pointers.length >= 2) { - return { - name: 'gesture' - }; - } - - return null; - }, - getCursor: function getCursor() { - return ''; - } -}; - -function updateGestureProps(_ref2) { - var interaction = _ref2.interaction, - iEvent = _ref2.iEvent, - event = _ref2.event, - phase = _ref2.phase; - - if (interaction.prepared.name !== 'gesture') { - return; - } - - var pointers = interaction.pointers.map(function (p) { - return p.pointer; - }); - var starting = phase === 'start'; - var ending = phase === 'end'; - var deltaSource = interaction.interactable.options.deltaSource; - iEvent.touches = [pointers[0], pointers[1]]; - - if (starting) { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = 1; - iEvent.ds = 0; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.da = 0; - interaction.gesture.startDistance = iEvent.distance; - interaction.gesture.startAngle = iEvent.angle; - } else if (ending || event instanceof ___InteractEvent_4["default"]) { - var prevEvent = interaction.prevEvent; - iEvent.distance = prevEvent.distance; - iEvent.box = prevEvent.box; - iEvent.scale = prevEvent.scale; - iEvent.ds = 0; - iEvent.angle = prevEvent.angle; - iEvent.da = 0; - } else { - iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); - iEvent.box = __utils_4.pointer.touchBBox(pointers); - iEvent.scale = iEvent.distance / interaction.gesture.startDistance; - iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); - iEvent.ds = iEvent.scale - interaction.gesture.scale; - iEvent.da = iEvent.angle - interaction.gesture.angle; - } - - interaction.gesture.distance = iEvent.distance; - interaction.gesture.angle = iEvent.angle; - - if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { - interaction.gesture.scale = iEvent.scale; - } -} - -var ___default_4 = gesture; -_$gesture_4["default"] = ___default_4; - -var _$resize_6 = {}; -"use strict"; - -Object.defineProperty(_$resize_6, "__esModule", { - value: true -}); -_$resize_6["default"] = void 0; - -var ___scope_6 = _$scope_24({}); - -var __arr_6 = ___interopRequireWildcard_6(_$arr_47); - -var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); - -var ___extend_6 = ___interopRequireDefault_6(_$extend_53); - -var __is_6 = ___interopRequireWildcard_6(_$is_57); - -function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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'; - -function __install_6(scope) { - var actions = scope.actions, - browser = scope.browser, - Interactable = scope.Interactable, - interactions = scope.interactions, - defaults = scope.defaults; // Less Precision with touch input - - interactions.signals.on('new', function (interaction) { - interaction.resizeAxes = 'xy'; - }); - 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); - resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; - /** - * ```js - * interact(element).resizable({ - * onstart: function (event) {}, - * onmove : function (event) {}, - * onend : function (event) {}, - * - * edges: { - * top : true, // Use pointer coords to check for resize. - * left : false, // Disable resizing from left edge. - * bottom: '.resize-s',// Resize if pointer target matches selector - * right : handleEl // Resize if pointer target is the given Element - * }, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height are adjusted at a 1:1 ratio. - * square: false, - * - * // Width and height can be adjusted independently. When `true`, width and - * // height maintain the aspect ratio they had when resizing started. - * preserveAspectRatio: false, - * - * // a value of 'none' will limit the resize rect to a minimum of 0x0 - * // 'negate' will allow the rect to have negative width/height - * // 'reposition' will keep the width/height positive by swapping - * // the top and bottom edges and/or swapping the left and right edges - * invert: 'none' || 'negate' || 'reposition' - * - * // limit multiple resizes. - * // See the explanation in the {@link Interactable.draggable} example - * max: Infinity, - * maxPerElement: 1, - * }) - * - * var isResizeable = interact(element).resizable() - * ``` - * - * Gets or sets whether resize actions can be performed on the target - * - * @param {boolean | object} [options] true/false or An object with event - * listeners to be fired on resize events (object makes the Interactable - * resizable) - * @return {boolean | Interactable} A boolean indicating if this can be the - * target of resize elements, or this Interactable - */ - - Interactable.prototype.resizable = function (options) { - return resizable(this, options, scope); - }; - - actions[___scope_6.ActionName.Resize] = resize; - actions.names.push(___scope_6.ActionName.Resize); - __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); - actions.methodDict.resize = 'resizable'; - defaults.actions.resize = resize.defaults; -} - -var resize = { - id: 'actions/resize', - install: __install_6, - defaults: { - square: false, - preserveAspectRatio: false, - axis: 'xy', - // use default margin - margin: NaN, - // object with props left, right, top, bottom which are - // true/false values to resize when the pointer is over that edge, - // CSS selectors to match the handles for each direction - // or the Elements for each handle - edges: null, - // a value of 'none' will limit the resize rect to a minimum of 0x0 - // 'negate' will alow the rect to have negative width/height - // 'reposition' will keep the width/height positive by swapping - // the top and bottom edges and/or swapping the left and right edges - invert: 'none' - }, - checker: function checker(_pointer, _event, interactable, element, interaction, rect) { - if (!rect) { - return null; - } - - var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); - var options = interactable.options; - - if (options.resize.enabled) { - var resizeOptions = options.resize; - var resizeEdges = { - left: false, - right: false, - top: false, - bottom: false - }; // if using resize.edges - - if (__is_6.object(resizeOptions.edges)) { - for (var edge in resizeEdges) { - resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); - } - - resizeEdges.left = resizeEdges.left && !resizeEdges.right; - resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; - - if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { - return { - name: 'resize', - edges: resizeEdges - }; - } - } else { - var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; - var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; - - if (right || bottom) { - return { - name: 'resize', - axes: (right ? 'x' : '') + (bottom ? 'y' : '') - }; - } - } - } - - return null; - }, - cursors: null, - getCursor: function getCursor(_ref) { - var edges = _ref.edges, - axis = _ref.axis, - name = _ref.name; - var cursors = resize.cursors; - var result = null; - - if (axis) { - result = cursors[name + axis]; - } else if (edges) { - var cursorKey = ''; - var _arr = ['top', 'bottom', 'left', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (edges[edge]) { - cursorKey += edge; - } - } - - result = cursors[cursorKey]; - } - - return result; - }, - defaultMargin: null -}; - -function resizable(interactable, options, scope) { - if (__is_6.object(options)) { - interactable.options.resize.enabled = options.enabled !== false; - interactable.setPerAction('resize', options); - interactable.setOnEvents('resize', options); - - if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { - interactable.options.resize.axis = options.axis; - } else if (options.axis === null) { - interactable.options.resize.axis = scope.defaults.actions.resize.axis; - } - - if (__is_6.bool(options.preserveAspectRatio)) { - interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; - } else if (__is_6.bool(options.square)) { - interactable.options.resize.square = options.square; - } - - return interactable; - } - - if (__is_6.bool(options)) { - interactable.options.resize.enabled = options; - return interactable; - } - - return interactable.options.resize; -} - -function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { - // false, '', undefined, null - if (!value) { - return false; - } // true value, use pointer coords and element rect - - - if (value === true) { - // if dimensions are negative, "switch" edges - var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; - var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension - - margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); - - if (width < 0) { - if (name === 'left') { - name = 'right'; - } else if (name === 'right') { - name = 'left'; - } - } - - if (height < 0) { - if (name === 'top') { - name = 'bottom'; - } else if (name === 'bottom') { - name = 'top'; - } - } - - if (name === 'left') { - return page.x < (width >= 0 ? rect.left : rect.right) + margin; - } - - if (name === 'top') { - return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; - } - - if (name === 'right') { - return page.x > (width >= 0 ? rect.right : rect.left) - margin; - } - - if (name === 'bottom') { - return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; - } - } // the remaining checks require an element - - - if (!__is_6.element(element)) { - return false; - } - - return __is_6.element(value) // the value is an element to use as a resize handle - ? value === element // otherwise check if element matches value as selector - : __dom_6.matchesUpTo(element, value, interactableElement); -} - -function initCursors(browser) { - return browser.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 start(_ref2) { - var iEvent = _ref2.iEvent, - interaction = _ref2.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - 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 - * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make - * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend - * on the active edges and the edge being interacted with. - */ - - if (resizeOptions.square || resizeOptions.preserveAspectRatio) { - var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); - linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; - linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; - linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; - linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; - interaction.prepared._linkedEdges = linkedEdges; - } else { - interaction.prepared._linkedEdges = null; - } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize - - - if (resizeOptions.preserveAspectRatio) { - interaction.resizeStartAspectRatio = startRect.width / startRect.height; - } - - interaction.resizeRects = { - start: 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: { - left: 0, - right: 0, - width: 0, - top: 0, - bottom: 0, - height: 0 - } - }; - iEvent.edges = interaction.prepared.edges; - iEvent.rect = interaction.resizeRects.inverted; - iEvent.deltaRect = interaction.resizeRects.delta; -} - -function __move_6(_ref3) { - var iEvent = _ref3.iEvent, - interaction = _ref3.interaction; - - if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { - return; - } - - var resizeOptions = interaction.interactable.options.resize; - var invert = resizeOptions.invert; - var invertible = invert === 'reposition' || invert === 'negate'; - var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow - - var start = interaction.resizeRects.start; - var current = interaction.resizeRects.current; - var inverted = interaction.resizeRects.inverted; - var deltaRect = interaction.resizeRects.delta; - var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); - var originalEdges = edges; - var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); - - if (resizeOptions.preserveAspectRatio || resizeOptions.square) { - // `resize.preserveAspectRatio` takes precedence over `resize.square` - var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; - edges = interaction.prepared._linkedEdges; - - if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { - eventDelta.y = -eventDelta.x / startAspectRatio; - } else if (originalEdges.left || originalEdges.right) { - eventDelta.y = eventDelta.x / startAspectRatio; - } else if (originalEdges.top || originalEdges.bottom) { - eventDelta.x = eventDelta.y * startAspectRatio; - } - } // update the 'current' rect without modifications - - - if (edges.top) { - current.top += eventDelta.y; - } - - if (edges.bottom) { - current.bottom += eventDelta.y; - } - - if (edges.left) { - current.left += eventDelta.x; - } - - if (edges.right) { - current.right += eventDelta.x; - } - - if (invertible) { - // if invertible, copy the current rect - (0, ___extend_6["default"])(inverted, current); - - if (invert === 'reposition') { - // swap edge values if necessary to keep width/height positive - var swap; - - if (inverted.top > inverted.bottom) { - swap = inverted.top; - inverted.top = inverted.bottom; - inverted.bottom = swap; - } - - if (inverted.left > inverted.right) { - swap = inverted.left; - inverted.left = inverted.right; - inverted.right = swap; - } - } - } else { - // if not invertible, restrict to minimum of 0x0 rect - inverted.top = Math.min(current.top, start.bottom); - inverted.bottom = Math.max(current.bottom, start.top); - inverted.left = Math.min(current.left, start.right); - inverted.right = Math.max(current.right, start.left); - } - - inverted.width = inverted.right - inverted.left; - inverted.height = inverted.bottom - inverted.top; - - for (var edge in inverted) { - deltaRect[edge] = inverted[edge] - previous[edge]; - } - - iEvent.edges = interaction.prepared.edges; - iEvent.rect = inverted; - iEvent.deltaRect = deltaRect; -} - -function end(_ref4) { - var iEvent = _ref4.iEvent, - interaction = _ref4.interaction; - - 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; - } - - var options = interaction.interactable.options; - - if (options.resize.square) { - if (interaction.resizeAxes === 'y') { - iEvent.delta.x = iEvent.delta.y; - } else { - iEvent.delta.y = iEvent.delta.x; - } - - iEvent.axes = 'xy'; - } else { - iEvent.axes = interaction.resizeAxes; - - if (interaction.resizeAxes === 'x') { - iEvent.delta.y = 0; - } else if (interaction.resizeAxes === 'y') { - iEvent.delta.x = 0; - } - } -} - -var ___default_6 = resize; -_$resize_6["default"] = ___default_6; - -var _$actions_5 = {}; -"use strict"; - -Object.defineProperty(_$actions_5, "__esModule", { - value: true -}); -_$actions_5.install = __install_5; -Object.defineProperty(_$actions_5, "drag", { - enumerable: true, - get: function get() { - return ___drag_5["default"]; - } -}); -Object.defineProperty(_$actions_5, "drop", { - enumerable: true, - get: function get() { - return _drop["default"]; - } -}); -Object.defineProperty(_$actions_5, "gesture", { - enumerable: true, - get: function get() { - return _gesture["default"]; - } -}); -Object.defineProperty(_$actions_5, "resize", { - enumerable: true, - get: function get() { - return _resize["default"]; - } -}); -_$actions_5.id = void 0; - -var ___drag_5 = ___interopRequireDefault_5(_$drag_1); - -var _drop = ___interopRequireDefault_5(_$drop_3); - -var _gesture = ___interopRequireDefault_5(_$gesture_4); - -var _resize = ___interopRequireDefault_5(_$resize_6); - -function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_5(scope) { - scope.usePlugin(_gesture["default"]); - scope.usePlugin(_resize["default"]); - scope.usePlugin(___drag_5["default"]); - scope.usePlugin(_drop["default"]); -} - -var id = 'actions'; -_$actions_5.id = id; - -var _$autoScroll_7 = {}; -"use strict"; - -Object.defineProperty(_$autoScroll_7, "__esModule", { - value: true -}); -_$autoScroll_7.getContainer = getContainer; -_$autoScroll_7.getScroll = getScroll; -_$autoScroll_7.getScrollSize = getScrollSize; -_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; -_$autoScroll_7["default"] = void 0; - -var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); - -var __is_7 = ___interopRequireWildcard_7(_$is_57); - -var ___raf_7 = ___interopRequireDefault_7(_$raf_62); - -/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - defaults = scope.defaults, - actions = scope.actions; - scope.autoScroll = autoScroll; - - autoScroll.now = function () { - return scope.now(); - }; - - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.autoScroll = null; - }); - interactions.signals.on('destroy', function (_ref2) { - var interaction = _ref2.interaction; - interaction.autoScroll = null; - autoScroll.stop(); - - if (autoScroll.interaction) { - autoScroll.interaction = null; - } - }); - interactions.signals.on('stop', autoScroll.stop); - interactions.signals.on('action-move', function (arg) { - return autoScroll.onInteractionMove(arg); - }); - actions.eventTypes.push('autoscroll'); - defaults.perAction.autoScroll = autoScroll.defaults; -} - -var autoScroll = { - defaults: { - enabled: false, - margin: 60, - // the item that is scrolled (Window or HTMLElement) - container: null, - // the scroll speed in pixels per second - speed: 300 - }, - now: Date.now, - interaction: null, - i: null, - x: 0, - y: 0, - isScrolling: false, - prevTime: 0, - margin: 0, - speed: 0, - start: function start(interaction) { - autoScroll.isScrolling = true; - - ___raf_7["default"].cancel(autoScroll.i); - - interaction.autoScroll = autoScroll; - autoScroll.interaction = interaction; - autoScroll.prevTime = autoScroll.now(); - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - }, - stop: function stop() { - autoScroll.isScrolling = false; - - if (autoScroll.interaction) { - autoScroll.interaction.autoScroll = null; - } - - ___raf_7["default"].cancel(autoScroll.i); - }, - // scroll the window by the values in scroll.x/y - scroll: function scroll() { - var interaction = autoScroll.interaction; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - var now = autoScroll.now(); // change in time in seconds - - var dt = (now - autoScroll.prevTime) / 1000; // displacement - - var s = options.speed * dt; - - if (s >= 1) { - var scrollBy = { - x: autoScroll.x * s, - y: autoScroll.y * s - }; - - if (scrollBy.x || scrollBy.y) { - var prevScroll = getScroll(container); - - if (__is_7.window(container)) { - container.scrollBy(scrollBy.x, scrollBy.y); - } else if (container) { - container.scrollLeft += scrollBy.x; - container.scrollTop += scrollBy.y; - } - - var curScroll = getScroll(container); - var delta = { - x: curScroll.x - prevScroll.x, - y: curScroll.y - prevScroll.y - }; - - if (delta.x || delta.y) { - interactable.fire({ - type: 'autoscroll', - target: element, - interactable: interactable, - delta: delta, - interaction: interaction, - container: container - }); - } - } - - autoScroll.prevTime = now; - } - - if (autoScroll.isScrolling) { - ___raf_7["default"].cancel(autoScroll.i); - - autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); - } - }, - check: function check(interactable, actionName) { - var options = interactable.options; - return options[actionName].autoScroll && options[actionName].autoScroll.enabled; - }, - onInteractionMove: function onInteractionMove(_ref3) { - var interaction = _ref3.interaction, - pointer = _ref3.pointer; - - if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { - return; - } - - if (interaction.simulation) { - autoScroll.x = autoScroll.y = 0; - return; - } - - var top; - var right; - var bottom; - var left; - var interactable = interaction.interactable, - element = interaction.element; - var options = interactable.options[interaction.prepared.name].autoScroll; - var container = getContainer(options.container, interactable, element); - - if (__is_7.window(container)) { - left = pointer.clientX < autoScroll.margin; - top = pointer.clientY < autoScroll.margin; - right = pointer.clientX > container.innerWidth - autoScroll.margin; - bottom = pointer.clientY > container.innerHeight - autoScroll.margin; - } else { - var rect = __domUtils_7.getElementClientRect(container); - left = pointer.clientX < rect.left + autoScroll.margin; - top = pointer.clientY < rect.top + autoScroll.margin; - right = pointer.clientX > rect.right - autoScroll.margin; - bottom = pointer.clientY > rect.bottom - autoScroll.margin; - } - - autoScroll.x = right ? 1 : left ? -1 : 0; - autoScroll.y = bottom ? 1 : top ? -1 : 0; - - if (!autoScroll.isScrolling) { - // set the autoScroll properties to those of the target - autoScroll.margin = options.margin; - autoScroll.speed = options.speed; - autoScroll.start(interaction); - } - } -}; - -function getContainer(value, interactable, element) { - return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); -} - -function getScroll(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollLeft, - y: container.scrollTop - }; -} - -function getScrollSize(container) { - if (__is_7.window(container)) { - container = window.document.body; - } - - return { - x: container.scrollWidth, - y: container.scrollHeight - }; -} - -function getScrollSizeDelta(_ref4, func) { - var interaction = _ref4.interaction, - element = _ref4.element; - var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; - - if (!scrollOptions || !scrollOptions.enabled) { - func(); - return { - x: 0, - y: 0 - }; - } - - var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); - var prevSize = getScroll(scrollContainer); - func(); - var curSize = getScroll(scrollContainer); - return { - x: curSize.x - prevSize.x, - y: curSize.y - prevSize.y - }; -} - -var ___default_7 = { - id: 'auto-scroll', - install: __install_7 -}; -_$autoScroll_7["default"] = ___default_7; - -var _$InteractableMethods_8 = {}; -"use strict"; - -Object.defineProperty(_$InteractableMethods_8, "__esModule", { - value: true -}); -_$InteractableMethods_8["default"] = void 0; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -var __is_8 = ___interopRequireWildcard_8(_$is_57); - -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, - actions = scope.actions; - Interactable.prototype.getAction = getAction; - /** - * ```js - * interact(element, { ignoreFrom: document.getElementById('no-action') }) - * // or - * interact(element).ignoreFrom('input, textarea, a') - * ``` - * @deprecated - * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any - * of it's parents match the given CSS selector or Element, no - * drag/resize/gesture is started. - * - * Don't use this method. Instead set the `ignoreFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .draggable({ - * ignoreFrom: 'input, textarea, a[href]'', - * }) - * .pointerEvents({ - * ignoreFrom: '[no-pointer]', - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to not ignore any elements - * @return {string | Element | object} The current ignoreFrom value or this - * Interactable - */ - - Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('ignoreFrom', newValue); - }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); - /** - * @deprecated - * - * A drag/resize/gesture is started only If the target of the `mousedown`, - * `pointerdown` or `touchstart` event or any of it's parents match the given - * CSS selector or Element. - * - * Don't use this method. Instead set the `allowFrom` option for each action - * or for `pointerEvents` - * - * @example - * interact(targett) - * .resizable({ - * allowFrom: '.resize-handle', - * .pointerEvents({ - * allowFrom: '.handle',, - * }) - * - * @param {string | Element | null} [newValue] a CSS selector string, an - * Element or `null` to allow from any element - * @return {string | Element | object} The current allowFrom value or this - * Interactable - */ - - Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { - return this._backCompatOption('allowFrom', newValue); - }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); - /** - * ```js - * interact('.resize-drag') - * .resizable(true) - * .draggable(true) - * .actionChecker(function (pointer, event, action, interactable, element, interaction) { - * - * if (interact.matchesSelector(event.target, '.drag-handle')) { - * // force drag with handle target - * action.name = drag - * } - * else { - * // resize from the top and right edges - * action.name = 'resize' - * action.edges = { top: true, right: true } - * } - * - * return action - * }) - * ``` - * - * Returns or sets the function used to check action to be performed on - * pointerDown - * - * @param {function | null} [checker] A function which takes a pointer event, - * defaultAction string, interactable, element and interaction as parameters - * and returns an object with name property 'drag' 'resize' or 'gesture' and - * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right - * props. - * @return {Function | Interactable} The checker function or this Interactable - */ - - Interactable.prototype.actionChecker = actionChecker; - /** - * Returns or sets whether the the cursor should be changed depending on the - * action that would be performed if the mouse were pressed and dragged. - * - * @param {boolean} [newValue] - * @return {boolean | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.styleCursor = styleCursor; - - Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { - return defaultActionChecker(this, pointer, event, interaction, element, actions); - }; -} - -function getAction(pointer, event, interaction, element) { - var action = this.defaultActionChecker(pointer, event, interaction, element); - - if (this.options.actionChecker) { - return this.options.actionChecker(pointer, event, action, this, element, interaction); - } - - return action; -} - -function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { - var rect = interactable.getRect(element); - var buttons = event.buttons || { - 0: 1, - 1: 4, - 3: 8, - 4: 16 - }[event.button]; - var action = null; - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - - // check mouseButton setting if the pointer is down - if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { - continue; - } - - action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); - - if (action) { - return action; - } - } -} - -function styleCursor(newValue) { - if (__is_8.bool(newValue)) { - this.options.styleCursor = newValue; - return this; - } - - if (newValue === null) { - delete this.options.styleCursor; - return this; - } - - return this.options.styleCursor; -} - -function actionChecker(checker) { - if (__is_8.func(checker)) { - this.options.actionChecker = checker; - return this; - } - - if (checker === null) { - delete this.options.actionChecker; - return this; - } - - return this.options.actionChecker; -} - -var ___default_8 = { - id: 'auto-start/interactableMethods', - install: __install_8 -}; -_$InteractableMethods_8["default"] = ___default_8; - -var _$base_9 = {}; -"use strict"; - -Object.defineProperty(_$base_9, "__esModule", { - value: true -}); -_$base_9["default"] = void 0; - -var __utils_9 = ___interopRequireWildcard_9(_$utils_56); - -var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); - -function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown - - interactions.signals.on('down', function (_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget; - - if (interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); // set cursor style on mousemove - - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - pointer = _ref2.pointer, - event = _ref2.event, - eventTarget = _ref2.eventTarget; - - if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { - return; - } - - var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); - prepare(interaction, actionInfo, scope); - }); - interactions.signals.on('move', function (arg) { - var interaction = arg.interaction; - - if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { - return; - } - - scope.autoStart.signals.fire('before-start', arg); - var interactable = interaction.interactable; - - if (interaction.prepared.name && interactable) { - // check manualStart and interaction limit - if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { - interaction.stop(); - } else { - interaction.start(interaction.prepared, interactable, interaction.element); - setInteractionCursor(interaction, scope); - } - } - }); - interactions.signals.on('stop', function (_ref3) { - var interaction = _ref3.interaction; - var interactable = interaction.interactable; - - if (interactable && interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - }); - defaults.base.actionChecker = null; - defaults.base.styleCursor = true; - __utils_9.extend(defaults.perAction, { - manualStart: false, - max: Infinity, - maxPerElement: 1, - allowFrom: null, - ignoreFrom: null, - // only allow left button by default - // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value - mouseButtons: 1 - }); - /** - * Returns or sets the maximum number of concurrent interactions allowed. By - * default only 1 interaction is allowed at a time (for backwards - * compatibility). To allow multiple interactions on the same Interactables and - * elements, you need to enable it in the draggable, resizable and gesturable - * `'max'` and `'maxPerElement'` options. - * - * @alias module:interact.maxInteractions - * - * @param {number} [newValue] Any number. newValue <= 0 means no interactions. - */ - - interact.maxInteractions = function (newValue) { - return maxInteractions(newValue, scope); - }; - - scope.autoStart = { - // Allow this many interactions to happen simultaneously - maxInteractions: Infinity, - withinInteractionLimit: withinInteractionLimit, - cursorElement: null, - signals: new __utils_9.Signals() - }; -} // Check if the current interactable supports the action. -// If so, return the validated action. Otherwise, return null - - -function validateAction(action, interactable, element, eventTarget, scope) { - if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { - return action; - } - - return null; -} - -function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { - for (var i = 0, len = matches.length; i < len; i++) { - var match = matches[i]; - var matchElement = matchElements[i]; - var matchAction = match.getAction(pointer, event, interaction, matchElement); - - if (!matchAction) { - continue; - } - - var action = validateAction(matchAction, match, matchElement, eventTarget, scope); - - if (action) { - return { - action: action, - interactable: match, - element: matchElement - }; - } - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function getActionInfo(interaction, pointer, event, eventTarget, scope) { - var matches = []; - var matchElements = []; - var element = eventTarget; - - function pushMatches(interactable) { - matches.push(interactable); - matchElements.push(element); - } - - while (__utils_9.is.element(element)) { - matches = []; - matchElements = []; - scope.interactables.forEachMatch(element, pushMatches); - var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); - - if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { - return actionInfo; - } - - element = __utils_9.dom.parentNode(element); - } - - return { - action: null, - interactable: null, - element: null - }; -} - -function prepare(interaction, _ref4, scope) { - var action = _ref4.action, - interactable = _ref4.interactable, - element = _ref4.element; - action = action || { - name: null - }; // clear previous target element cursor - - if (interaction.interactable && interaction.interactable.options.styleCursor) { - setCursor(interaction.element, '', scope); - } - - interaction.interactable = interactable; - interaction.element = element; - __utils_9.copyAction(interaction.prepared, action); - interaction.rect = interactable && action.name ? interactable.getRect(element) : null; - setInteractionCursor(interaction, scope); - scope.autoStart.signals.fire('prepared', { - interaction: interaction - }); -} - -function withinInteractionLimit(interactable, element, action, scope) { - var options = interactable.options; - var maxActions = options[action.name].max; - var maxPerElement = options[action.name].maxPerElement; - var autoStartMax = scope.autoStart.maxInteractions; - var activeInteractions = 0; - var interactableCount = 0; - var elementCount = 0; // no actions if any of these values == 0 - - if (!(maxActions && maxPerElement && autoStartMax)) { - return false; - } - - for (var _i = 0; _i < scope.interactions.list.length; _i++) { - var _ref5; - - _ref5 = scope.interactions.list[_i]; - var interaction = _ref5; - var otherAction = interaction.prepared.name; - - if (!interaction.interacting()) { - continue; - } - - activeInteractions++; - - if (activeInteractions >= autoStartMax) { - return false; - } - - if (interaction.interactable !== interactable) { - continue; - } - - interactableCount += otherAction === action.name ? 1 : 0; - - if (interactableCount >= maxActions) { - return false; - } - - if (interaction.element === element) { - elementCount++; - - if (otherAction === action.name && elementCount >= maxPerElement) { - return false; - } - } - } - - return autoStartMax > 0; -} - -function maxInteractions(newValue, scope) { - if (__utils_9.is.number(newValue)) { - scope.autoStart.maxInteractions = newValue; - return this; - } - - return scope.autoStart.maxInteractions; -} - -function setCursor(element, cursor, scope) { - if (scope.autoStart.cursorElement) { - scope.autoStart.cursorElement.style.cursor = ''; - } - - element.ownerDocument.documentElement.style.cursor = cursor; - element.style.cursor = cursor; - 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, - maxInteractions: maxInteractions, - withinInteractionLimit: withinInteractionLimit, - validateAction: validateAction -}; -_$base_9["default"] = ___default_9; - -var _$dragAxis_10 = {}; -"use strict"; - -Object.defineProperty(_$dragAxis_10, "__esModule", { - value: true -}); -_$dragAxis_10["default"] = void 0; - -var ___scope_10 = _$scope_24({}); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var __is_10 = ___interopRequireWildcard_10(_$is_57); - -var _base = ___interopRequireDefault_10(_$base_9); - -function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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) { - var interaction = _ref.interaction, - eventTarget = _ref.eventTarget, - dx = _ref.dx, - dy = _ref.dy; - - if (interaction.prepared.name !== 'drag') { - return; - } // check if a drag is in the correct axis - - - var absX = Math.abs(dx); - var absY = Math.abs(dy); - var targetOptions = interaction.interactable.options.drag; - var startAxis = targetOptions.startAxis; - var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; - interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' - : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable - - if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { - // cancel the prepared action - interaction.prepared.name = null; // then try to get a drag from another ineractable - - var element = eventTarget; - - var getDraggable = function getDraggable(interactable) { - if (interactable === interaction.interactable) { - return; - } - - var options = interaction.interactable.options.drag; - - if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { - var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); - - if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { - return interactable; - } - } - }; // check all interactables - - - while (__is_10.element(element)) { - var interactable = scope.interactables.forEachMatch(element, getDraggable); - - if (interactable) { - interaction.prepared.name = ___scope_10.ActionName.Drag; - interaction.interactable = interactable; - interaction.element = element; - break; - } - - element = (0, _$domUtils_51.parentNode)(element); - } - } - }); - - function checkStartAxis(startAxis, interactable) { - if (!interactable) { - return false; - } - - var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; - return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; - } -} - -var ___default_10 = { - id: 'auto-start/dragAxis', - install: __install_10 -}; -_$dragAxis_10["default"] = ___default_10; - -var _$hold_11 = {}; -"use strict"; - -Object.defineProperty(_$hold_11, "__esModule", { - value: true -}); -_$hold_11["default"] = void 0; - -var ___base_11 = ___interopRequireDefault_11(_$base_9); - -function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_11(scope) { - var autoStart = scope.autoStart, - interactions = scope.interactions, - defaults = scope.defaults; - scope.usePlugin(___base_11["default"]); - defaults.perAction.hold = 0; - defaults.perAction.delay = 0; - interactions.signals.on('new', function (interaction) { - interaction.autoStartHoldTimer = null; - }); - autoStart.signals.on('prepared', function (_ref) { - var interaction = _ref.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.autoStartHoldTimer = setTimeout(function () { - interaction.start(interaction.prepared, interaction.interactable, interaction.element); - }, hold); - } - }); - interactions.signals.on('move', function (_ref2) { - var interaction = _ref2.interaction, - duplicate = _ref2.duplicate; - - if (interaction.pointerWasMoved && !duplicate) { - clearTimeout(interaction.autoStartHoldTimer); - } - }); // prevent regular down->move autoStart - - autoStart.signals.on('before-start', function (_ref3) { - var interaction = _ref3.interaction; - var hold = getHoldDuration(interaction); - - if (hold > 0) { - interaction.prepared.name = null; - } - }); -} - -function getHoldDuration(interaction) { - var actionName = interaction.prepared && interaction.prepared.name; - - if (!actionName) { - return null; - } - - var options = interaction.interactable.options; - return options[actionName].hold || options[actionName].delay; -} - -var ___default_11 = { - id: 'auto-start/hold', - install: __install_11, - getHoldDuration: getHoldDuration -}; -_$hold_11["default"] = ___default_11; - -var _$autoStart_12 = {}; -"use strict"; - -Object.defineProperty(_$autoStart_12, "__esModule", { - value: true -}); -_$autoStart_12.install = __install_12; -Object.defineProperty(_$autoStart_12, "autoStart", { - enumerable: true, - get: function get() { - return ___base_12["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "dragAxis", { - enumerable: true, - get: function get() { - return _dragAxis["default"]; - } -}); -Object.defineProperty(_$autoStart_12, "hold", { - enumerable: true, - get: function get() { - return _hold["default"]; - } -}); -_$autoStart_12.id = void 0; - -var ___base_12 = ___interopRequireDefault_12(_$base_9); - -var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); - -var _hold = ___interopRequireDefault_12(_$hold_11); - -function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_12(scope) { - scope.usePlugin(___base_12["default"]); - scope.usePlugin(_hold["default"]); - scope.usePlugin(_dragAxis["default"]); -} - -var __id_12 = 'auto-start'; -_$autoStart_12.id = __id_12; - -var _$interactablePreventDefault_21 = {}; -"use strict"; - -Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { - value: true -}); -_$interactablePreventDefault_21.install = __install_21; -_$interactablePreventDefault_21["default"] = void 0; - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___events_21 = ___interopRequireDefault_21(_$events_52); - -var __is_21 = ___interopRequireWildcard_21(_$is_57); - -/* removed: var _$window_66 = require("@interactjs/utils/window"); */; - -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 }; } - -function preventDefault(newValue) { - if (/^(always|never|auto)$/.test(newValue)) { - this.options.preventDefault = newValue; - return this; - } - - if (__is_21.bool(newValue)) { - this.options.preventDefault = newValue ? 'always' : 'never'; - return this; - } - - return this.options.preventDefault; -} - -function checkAndPreventDefault(interactable, scope, event) { - var setting = interactable.options.preventDefault; - - if (setting === 'never') { - return; - } - - if (setting === 'always') { - event.preventDefault(); - return; - } // setting === 'auto' - // if the browser supports passive event listeners and isn't running on iOS, - // don't preventDefault of touch{start,move} events. CSS touch-action and - // user-select should be used instead of calling event.preventDefault(). - - - if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { - var doc = (0, _$window_66.getWindow)(event.target).document; - var docOptions = scope.getDocOptions(doc); - - if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { - return; - } - } // don't preventDefault of pointerdown events - - - if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { - return; - } // don't preventDefault on editable elements - - - if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { - return; - } - - event.preventDefault(); -} - -function onInteractionEvent(_ref) { - var interaction = _ref.interaction, - event = _ref.event; - - if (interaction.interactable) { - interaction.interactable.checkAndPreventDefault(event); - } -} - -function __install_21(scope) { - /** @lends Interactable */ - var Interactable = scope.Interactable; - /** - * Returns or sets whether to prevent the browser's default behaviour in - * response to pointer events. Can be set to: - * - `'always'` to always prevent - * - `'never'` to never prevent - * - `'auto'` to let interact.js try to determine what would be best - * - * @param {string} [newValue] `'always'`, `'never'` or `'auto'` - * @return {string | Interactable} The current setting or this Interactable - */ - - Interactable.prototype.preventDefault = preventDefault; - - Interactable.prototype.checkAndPreventDefault = function (event) { - return checkAndPreventDefault(this, scope, event); - }; - - var _arr = ['down', 'move', 'up', 'cancel']; - - for (var _i = 0; _i < _arr.length; _i++) { - var eventSignal = _arr[_i]; - scope.interactions.signals.on(eventSignal, onInteractionEvent); - } // prevent native HTML5 drag on interact.js target elements - - - scope.interactions.docEvents.push({ - type: 'dragstart', - listener: function listener(event) { - for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { - var _ref2; - - _ref2 = scope.interactions.list[_i2]; - var interaction = _ref2; - - if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { - interaction.interactable.checkAndPreventDefault(event); - return; - } - } - } - }); -} - -var ___default_21 = { - id: 'core/interactablePreventDefault', - install: __install_21 -}; -_$interactablePreventDefault_21["default"] = ___default_21; - -var _$devTools_25 = {}; -"use strict"; - -Object.defineProperty(_$devTools_25, "__esModule", { - value: true -}); -_$devTools_25["default"] = void 0; - -var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); - -/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; - -var ___extend_25 = ___interopRequireDefault_25(_$extend_53); - -var __is_25 = ___interopRequireWildcard_25(_$is_57); - -var ___window_25 = ___interopRequireDefault_25(_$window_66); - -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 }; } - -function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } - -function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function ___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; } } - -var CheckName; - -(function (CheckName) { - CheckName["touchAction"] = ""; - CheckName["boxSizing"] = ""; - CheckName["noListeners"] = ""; -})(CheckName || (CheckName = {})); - -var prefix = '[interact.js] '; -var links = { - touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', - boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' -}; -var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax - -function __install_25(scope) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - logger = _ref.logger; - - var interactions = scope.interactions, - Interactable = scope.Interactable, - defaults = scope.defaults; - logger = logger || console; - interactions.signals.on('action-start', function (_ref2) { - var interaction = _ref2.interaction; - - for (var _i = 0; _i < checks.length; _i++) { - var _ref3; - - _ref3 = checks[_i]; - var check = _ref3; - var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; - - if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { - var _logger; - - (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); - } - } - }); - defaults.base.devTools = { - ignore: {} - }; - - Interactable.prototype.devTools = function (options) { - if (options) { - (0, ___extend_25["default"])(this.options.devTools, options); - return this; - } - - return this.options.devTools; - }; -} - -var checks = [{ - name: 'touchAction', - perform: function perform(_ref4) { - var element = _ref4.element; - return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); - }, - getInfo: function getInfo(_ref5) { - var element = _ref5.element; - return [element, links.touchAction]; - }, - text: 'Consider adding CSS "touch-action: none" to this element\n' -}, { - name: 'boxSizing', - perform: function perform(interaction) { - var element = interaction.element; - return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); - }, - text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', - getInfo: function getInfo(_ref6) { - var element = _ref6.element; - return [element, links.boxSizing]; - } -}, { - name: 'noListeners', - perform: function perform(interaction) { - var actionName = interaction.prepared.name; - var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; - return !moveListeners.length; - }, - getInfo: function getInfo(interaction) { - return [interaction.prepared.name, interaction.interactable]; - }, - text: 'There are no listeners set for this action' -}]; - -function hasStyle(element, prop, styleRe) { - return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); -} - -function parentHasStyle(element, prop, styleRe) { - var parent = element; - - while (__is_25.element(parent)) { - if (hasStyle(parent, prop, styleRe)) { - return true; - } - - parent = (0, _$domUtils_51.parentNode)(parent); - } - - return false; -} - -var __id_25 = 'dev-tools'; -var defaultExport = isProduction ? { - id: __id_25, - install: function install() {} -} : { - id: __id_25, - install: __install_25, - checks: checks, - CheckName: CheckName, - links: links, - prefix: prefix -}; -var ___default_25 = defaultExport; -_$devTools_25["default"] = ___default_25; - -var _$base_30 = {}; -"use strict"; - -Object.defineProperty(_$base_30, "__esModule", { - value: true -}); -_$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; - -var ___extend_30 = ___interopRequireDefault_30(_$extend_53); - -function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } - -function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __install_30(scope) { - var interactions = scope.interactions; - scope.defaults.perAction.modifiers = []; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.modifiers = { - startOffset: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - offsets: {}, - states: null, - result: null, - endPrevented: false, - startDelta: null - }; - }); - interactions.signals.on('before-action-start', function (arg) { - __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, arg.interaction.modifiers.result.coords); - __beforeMove_30(arg); - }); - interactions.signals.on('after-action-move', restoreCoords); - interactions.signals.on('before-action-move', __beforeMove_30); - interactions.signals.on('before-action-start', setCoords); - interactions.signals.on('after-action-start', restoreCoords); - interactions.signals.on('before-action-end', beforeEnd); - interactions.signals.on('stop', stop); -} - -function __start_30(_ref2, pageCoords, prevCoords) { - var interaction = _ref2.interaction, - phase = _ref2.phase; - var interactable = interaction.interactable, - element = interaction.element; - var modifierList = getModifierList(interaction); - var states = prepareStates(modifierList); - var rect = (0, ___extend_30["default"])({}, interaction.rect); - - if (!('width' in rect)) { - rect.width = rect.right - rect.left; - } - - if (!('height' in rect)) { - rect.height = rect.bottom - rect.top; - } - - var startOffset = getRectOffset(rect, pageCoords); - interaction.modifiers.startOffset = startOffset; - interaction.modifiers.startDelta = { - x: 0, - y: 0 - }; - var arg = { - interaction: interaction, - interactable: interactable, - element: element, - pageCoords: pageCoords, - phase: phase, - rect: rect, - startOffset: startOffset, - states: states, - preEnd: 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); - var result = interaction.modifiers.result = setAll(arg); - return result; -} - -function startAll(arg) { - var states = arg.states; - - for (var _i = 0; _i < states.length; _i++) { - var _ref3; - - _ref3 = states[_i]; - var state = _ref3; - - if (state.methods.start) { - arg.state = state; - state.methods.start(arg); - } - } -} - -function setAll(arg) { - var prevCoords = arg.prevCoords, - phase = arg.phase, - preEnd = arg.preEnd, - requireEndOnly = arg.requireEndOnly, - rect = arg.rect, - states = arg.states; - arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); - arg.rect = (0, ___extend_30["default"])({}, rect); - var result = { - delta: { - x: 0, - y: 0 - }, - rectDelta: { - left: 0, - right: 0, - top: 0, - bottom: 0 - }, - coords: arg.coords, - changed: true - }; - - for (var _i2 = 0; _i2 < states.length; _i2++) { - var _ref4; - - _ref4 = states[_i2]; - var state = _ref4; - var options = state.options; - - if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { - continue; - } - - arg.state = state; - state.methods.set(arg); - } - - result.delta.x = arg.coords.x - arg.pageCoords.x; - result.delta.y = arg.coords.y - arg.pageCoords.y; - var rectChanged = false; - - if (rect) { - result.rectDelta.left = arg.rect.left - rect.left; - result.rectDelta.right = arg.rect.right - rect.right; - result.rectDelta.top = arg.rect.top - rect.top; - result.rectDelta.bottom = arg.rect.bottom - rect.bottom; - rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; - } - - result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; - return result; -} - -function __beforeMove_30(arg) { - var interaction = arg.interaction, - phase = arg.phase, - preEnd = arg.preEnd, - 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: arg.modifiedCoords || interaction.coords.cur.page, - prevCoords: prevCoords, - rect: interaction.rect, - 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 - - if (!modifierResult.changed && interaction.interacting()) { - 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); -} - -function beforeEnd(arg) { - var interaction = arg.interaction, - event = arg.event, - noPreEnd = arg.noPreEnd; - var states = interaction.modifiers.states; - - if (noPreEnd || !states || !states.length) { - return; - } - - var didPreEnd = false; - - for (var _i3 = 0; _i3 < states.length; _i3++) { - var _ref5; - - _ref5 = states[_i3]; - var state = _ref5; - arg.state = state; - var options = state.options, - methods = state.methods; - var endResult = methods.beforeEnd && methods.beforeEnd(arg); - - if (endResult === false) { - interaction.modifiers.endPrevented = true; - return false; - } // if the endOnly option is true for any modifier - - - if (!didPreEnd && shouldDo(options, true, true)) { - // fire a move event at the modified coordinates - interaction.move({ - event: event, - preEnd: true - }); - didPreEnd = true; - } - } -} - -function stop(arg) { - var interaction = arg.interaction; - var states = interaction.modifiers.states; - - if (!states || !states.length) { - return; - } - - var modifierArg = (0, ___extend_30["default"])({ - states: states, - interactable: interaction.interactable, - element: interaction.element, - rect: null - }, arg); - - for (var _i4 = 0; _i4 < states.length; _i4++) { - var _ref6; - - _ref6 = states[_i4]; - var state = _ref6; - modifierArg.state = state; - - if (state.methods.stop) { - state.methods.stop(modifierArg); - } - } - - arg.interaction.modifiers.states = null; - arg.interaction.modifiers.endPrevented = false; -} - -function getModifierList(interaction) { - var actionOptions = interaction.interactable.options[interaction.prepared.name]; - var actionModifiers = actionOptions.modifiers; - - if (actionModifiers && actionModifiers.length) { - return actionModifiers.filter(function (modifier) { - return !modifier.options || modifier.options.enabled !== false; - }); - } - - return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { - var options = actionOptions[type]; - return options && options.enabled && { - options: options, - methods: options._methods - }; - }).filter(function (m) { - return !!m; - }); -} - -function prepareStates(modifierList) { - var states = []; - - for (var index = 0; index < modifierList.length; index++) { - var _modifierList$index = modifierList[index], - options = _modifierList$index.options, - methods = _modifierList$index.methods, - name = _modifierList$index.name; - - if (options && options.enabled === false) { - continue; - } - - states.push({ - options: options, - methods: methods, - index: index, - name: name - }); - } - - return states; -} - -function setCoords(arg) { - var interaction = arg.interaction, - phase = arg.phase; - var curCoords = interaction.coords.cur; - var startCoords = interaction.coords.start; - var _interaction$modifier = interaction.modifiers, - result = _interaction$modifier.result, - startDelta = _interaction$modifier.startDelta; - var curDelta = result.delta; - - if (phase === 'start') { - (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); - } - - var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; - - for (var _i5 = 0; _i5 < _arr.length; _i5++) { - var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), - coordsSet = _arr$_i[0], - delta = _arr$_i[1]; - - coordsSet.page.x += delta.x; - coordsSet.page.y += delta.y; - coordsSet.client.x += delta.x; - coordsSet.client.y += delta.y; - } - - var rectDelta = interaction.modifiers.result.rectDelta; - var rect = arg.rect || interaction.rect; - rect.left += rectDelta.left; - rect.right += rectDelta.right; - rect.top += rectDelta.top; - rect.bottom += rectDelta.bottom; - rect.width = rect.right - rect.left; - rect.height = rect.bottom - rect.top; -} - -function restoreCoords(_ref7) { - var _ref7$interaction = _ref7.interaction, - coords = _ref7$interaction.coords, - rect = _ref7$interaction.rect, - modifiers = _ref7$interaction.modifiers; - - if (!modifiers.result) { - return; - } - - var startDelta = modifiers.startDelta; - var _modifiers$result = modifiers.result, - curDelta = _modifiers$result.delta, - rectDelta = _modifiers$result.rectDelta; - var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; - - for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { - var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), - coordsSet = _coordsAndDeltas$_i[0], - delta = _coordsAndDeltas$_i[1]; - - coordsSet.page.x -= delta.x; - coordsSet.page.y -= delta.y; - coordsSet.client.x -= delta.x; - coordsSet.client.y -= delta.y; - } - - rect.left -= rectDelta.left; - rect.right -= rectDelta.right; - rect.top -= rectDelta.top; - rect.bottom -= rectDelta.bottom; -} - -function shouldDo(options, preEnd, requireEndOnly, phase) { - return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; -} - -function getRectOffset(rect, coords) { - return rect ? { - left: coords.x - rect.left, - top: coords.y - rect.top, - right: rect.right - coords.x, - bottom: rect.bottom - coords.y - } : { - left: 0, - top: 0, - right: 0, - bottom: 0 - }; -} - -function makeModifier(module, name) { - var defaults = module.defaults; - var methods = { - start: module.start, - set: module.set, - beforeEnd: module.beforeEnd, - stop: module.stop - }; - - var modifier = function modifier(_options) { - var options = _options || {}; - options.enabled = options.enabled !== false; // add missing defaults to options - - for (var prop in defaults) { - if (!(prop in options)) { - options[prop] = defaults[prop]; - } - } - - var m = { - options: options, - methods: methods, - name: name - }; - return m; - }; - - if (name && typeof name === 'string') { - // for backwrads compatibility - modifier._defaults = defaults; - modifier._methods = methods; - } - - return modifier; -} - -var ___default_30 = { - id: 'modifiers/base', - install: __install_30, - startAll: startAll, - setAll: setAll, - prepareStates: prepareStates, - start: __start_30, - beforeMove: __beforeMove_30, - beforeEnd: beforeEnd, - stop: stop, - shouldDo: shouldDo, - getModifierList: getModifierList, - getRectOffset: getRectOffset, - makeModifier: makeModifier -}; -_$base_30["default"] = ___default_30; - -var _$inertia_26 = {}; -"use strict"; - -Object.defineProperty(_$inertia_26, "__esModule", { - value: true -}); -_$inertia_26["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -var ___base_26 = ___interopRequireWildcard_26(_$base_30); - -var __utils_26 = ___interopRequireWildcard_26(_$utils_56); - -var ___raf_26 = ___interopRequireDefault_26(_$raf_62); - -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'; - -function __install_26(scope) { - var interactions = scope.interactions, - defaults = scope.defaults; - interactions.signals.on('new', function (_ref) { - var interaction = _ref.interaction; - interaction.inertia = { - active: false, - smoothEnd: false, - allowResume: false, - upCoords: {}, - timeout: null - }; - }); - 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', __stop_26); - defaults.perAction.inertia = { - enabled: false, - resistance: 10, - minSpeed: 100, - endSpeed: 10, - allowResume: true, - smoothEndDuration: 300 - }; - scope.usePlugin(___base_26["default"]); -} - -function resume(_ref2, scope) { - var interaction = _ref2.interaction, - event = _ref2.event, - pointer = _ref2.pointer, - eventTarget = _ref2.eventTarget; - var state = interaction.inertia; // Check if the down event hits the current inertia target - - if (state.active) { - var element = eventTarget; // climb up the DOM tree from the event target - - while (__utils_26.is.element(element)) { - // if interaction element is the current inertia target element - if (element === interaction.element) { - // stop inertia - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; // update pointers to the down event's coordinates - - interaction.updatePointer(pointer, event, eventTarget, true); - __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { - return p.pointer; - }), interaction._now()); // fire appropriate signals - - var signalArg = { - interaction: interaction, - phase: _$InteractEvent_15.EventPhase.Resume - }; - scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event - - var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); - - interaction._fireEvent(resumeEvent); - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); - break; - } - - element = __utils_26.dom.parentNode(element); - } - } -} - -function release(_ref3, scope) { - var interaction = _ref3.interaction, - event = _ref3.event, - noPreEnd = _ref3.noPreEnd; - var state = interaction.inertia; - - if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { - return null; - } - - var options = __getOptions_26(interaction); - - var now = interaction._now(); - - var velocityClient = interaction.coords.velocity.client; - var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); - var smoothEnd = false; - var modifierResult; // check if inertia should be started - - var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; - var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; - var modifierArg = { - interaction: interaction, - pageCoords: interaction.coords.cur.page, - states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { - return __utils_26.extend({}, modifierStatus); - }), - preEnd: true, - prevCoords: null, - requireEndOnly: null, - phase: _$InteractEvent_15.EventPhase.InertiaStart - }; // smoothEnd - - if (inertiaPossible && !inertia) { - modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; - modifierArg.requireEndOnly = false; - modifierResult = ___base_26["default"].setAll(modifierArg); - - if (modifierResult.changed) { - smoothEnd = true; - } - } - - if (!(inertia || smoothEnd)) { - return null; - } - - __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; - interaction.simulation = state; - interaction.interactable.fire(state.startEvent); - - if (inertia) { - state.vx0 = interaction.coords.velocity.client.x; - state.vy0 = interaction.coords.velocity.client.y; - state.v0 = pointerSpeed; - calcInertia(interaction, state); - __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); - modifierArg.pageCoords.x += state.xe; - modifierArg.pageCoords.y += state.ye; - modifierArg.prevCoords = null; - modifierArg.requireEndOnly = true; - modifierResult = ___base_26["default"].setAll(modifierArg); - state.modifiedXe += modifierResult.delta.x; - state.modifiedYe += modifierResult.delta.y; - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.smoothEnd = true; - state.xe = modifierResult.delta.x; - state.ye = modifierResult.delta.y; - state.sx = state.sy = 0; - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } - - return false; -} - -function __stop_26(_ref4) { - var interaction = _ref4.interaction; - var state = interaction.inertia; - - if (state.active) { - ___raf_26["default"].cancel(state.timeout); - - state.active = false; - interaction.simulation = null; - } -} - -function calcInertia(interaction, state) { - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; - state.x0 = interaction.prevEvent.page.x; - state.y0 = interaction.prevEvent.page.y; - state.t0 = state.startEvent.timeStamp / 1000; - state.sx = state.sy = 0; - state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; - state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; - state.te = inertiaDur; - state.lambda_v0 = lambda / state.v0; - state.one_ve_v0 = 1 - options.endSpeed / state.v0; -} - -function inertiaTick(interaction) { - updateInertiaCoords(interaction); - __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); - __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); - var state = interaction.inertia; - var options = __getOptions_26(interaction); - var lambda = options.resistance; - var t = interaction._now() / 1000 - state.t0; - - if (t < state.te) { - var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; - - if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { - state.sx = state.xe * progress; - state.sy = state.ye * progress; - } else { - var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); - state.sx = quadPoint.x; - state.sy = quadPoint.y; - } - - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return inertiaTick(interaction); - }); - } else { - state.sx = state.modifiedXe; - state.sy = state.modifiedYe; - interaction.move(); - interaction.end(state.startEvent); - state.active = false; - interaction.simulation = null; - } - - __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); -} - -function smothEndTick(interaction) { - updateInertiaCoords(interaction); - var state = interaction.inertia; - var t = interaction._now() - state.t0; - - var _getOptions = __getOptions_26(interaction), - duration = _getOptions.smoothEndDuration; - - if (t < duration) { - state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); - state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); - interaction.move(); - state.timeout = ___raf_26["default"].request(function () { - return smothEndTick(interaction); - }); - } else { - state.sx = state.xe; - state.sy = state.ye; - interaction.move(); - interaction.end(state.startEvent); - state.smoothEnd = state.active = false; - interaction.simulation = null; - } -} - -function updateInertiaCoords(interaction) { - var state = interaction.inertia; // return if inertia isn't running - - if (!state.active) { - return; - } - - var pageUp = state.upCoords.page; - var clientUp = state.upCoords.client; - __utils_26.pointer.setCoords(interaction.coords.cur, [{ - pageX: pageUp.x + state.sx, - pageY: pageUp.y + state.sy, - clientX: clientUp.x + state.sx, - clientY: clientUp.y + state.sy - }], interaction._now()); -} - -function __getOptions_26(_ref5) { - var interactable = _ref5.interactable, - prepared = _ref5.prepared; - return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; -} - -var ___default_26 = { - id: 'inertia', - install: __install_26, - calcInertia: calcInertia, - inertiaTick: inertiaTick, - smothEndTick: smothEndTick, - updateInertiaCoords: updateInertiaCoords -}; -_$inertia_26["default"] = ___default_26; - -var _$pointer_33 = {}; -"use strict"; - -Object.defineProperty(_$pointer_33, "__esModule", { - value: true -}); -_$pointer_33["default"] = void 0; - -var ___extend_33 = ___interopRequireDefault_33(_$extend_53); - -var __is_33 = ___interopRequireWildcard_33(_$is_57); - -var ___rect_33 = ___interopRequireDefault_33(_$rect_63); - -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 }; } - -function __start_33(_ref) { - var rect = _ref.rect, - startOffset = _ref.startOffset, - state = _ref.state, - interaction = _ref.interaction, - pageCoords = _ref.pageCoords; - var options = state.options; - var elementRect = options.elementRect; - var offset = (0, ___extend_33["default"])({ - left: 0, - top: 0, - right: 0, - bottom: 0 - }, options.offset || {}); - - if (rect && elementRect) { - var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); - - if (restriction) { - var widthDiff = restriction.right - restriction.left - rect.width; - var heightDiff = restriction.bottom - restriction.top - rect.height; - - if (widthDiff < 0) { - offset.left += widthDiff; - offset.right += widthDiff; - } - - if (heightDiff < 0) { - offset.top += heightDiff; - offset.bottom += heightDiff; - } - } - - offset.left += startOffset.left - rect.width * elementRect.left; - offset.top += startOffset.top - rect.height * elementRect.top; - offset.right += startOffset.right - rect.width * (1 - elementRect.right); - offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); - } - - state.offset = offset; -} - -function set(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var options = state.options, - offset = state.offset; - var restriction = getRestrictionRect(options.restriction, interaction, coords); - - if (!restriction) { - return; - } - - var rect = ___rect_33["default"].xywhToTlbr(restriction); - - coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); - coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); -} - -function getRestrictionRect(value, interaction, coords) { - if (__is_33.func(value)) { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); - } else { - return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); - } -} - -var __defaults_33 = { - restriction: null, - elementRect: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrict = { - start: __start_33, - set: set, - getRestrictionRect: getRestrictionRect, - defaults: __defaults_33 -}; -var ___default_33 = restrict; -_$pointer_33["default"] = ___default_33; - -var _$edges_32 = {}; -"use strict"; - -Object.defineProperty(_$edges_32, "__esModule", { - value: true -}); -_$edges_32["default"] = void 0; - -var ___extend_32 = ___interopRequireDefault_32(_$extend_53); - -var ___rect_32 = ___interopRequireDefault_32(_$rect_63); - -var _pointer = ___interopRequireDefault_32(_$pointer_33); - -function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -// This module adds the options.resize.restrictEdges setting which sets min and -// max for the top, left, bottom and right edges of the target being resized. -// -// interact(target).resize({ -// edges: { top: true, left: true }, -// restrictEdges: { -// inner: { top: 200, left: 200, right: 400, bottom: 400 }, -// outer: { top: 0, left: 0, right: 600, bottom: 600 }, -// }, -// }) -var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; -var noInner = { - top: +Infinity, - left: +Infinity, - bottom: -Infinity, - right: -Infinity -}; -var noOuter = { - top: -Infinity, - left: -Infinity, - bottom: +Infinity, - right: +Infinity -}; - -function __start_32(_ref) { - var interaction = _ref.interaction, - state = _ref.state; - var options = state.options; - var startOffset = interaction.modifiers.startOffset; - var offset; - - if (options) { - var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); - offset = ___rect_32["default"].rectToXY(offsetRect); - } - - offset = offset || { - x: 0, - y: 0 - }; - state.offset = { - top: offset.y + startOffset.top, - left: offset.x + startOffset.left, - bottom: offset.y - startOffset.bottom, - right: offset.x - startOffset.right - }; -} - -function __set_32(_ref2) { - var coords = _ref2.coords, - interaction = _ref2.interaction, - state = _ref2.state; - var offset = state.offset, - options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var page = (0, ___extend_32["default"])({}, coords); - var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; - var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; - fixRect(inner, noInner); - fixRect(outer, noOuter); - - if (edges.top) { - coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); - } else if (edges.bottom) { - coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); - } - - if (edges.left) { - coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); - } else if (edges.right) { - coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); - } -} - -function fixRect(rect, defaults) { - var _arr = ['top', 'left', 'bottom', 'right']; - - for (var _i = 0; _i < _arr.length; _i++) { - var edge = _arr[_i]; - - if (!(edge in rect)) { - rect[edge] = defaults[edge]; - } - } - - return rect; -} - -var __defaults_32 = { - inner: null, - outer: null, - offset: null, - endOnly: false, - enabled: false -}; -var restrictEdges = { - noInner: noInner, - noOuter: noOuter, - getRestrictionRect: __getRestrictionRect_32, - start: __start_32, - set: __set_32, - defaults: __defaults_32 -}; -var ___default_32 = restrictEdges; -_$edges_32["default"] = ___default_32; - -var _$rect_34 = {}; -"use strict"; - -Object.defineProperty(_$rect_34, "__esModule", { - value: true -}); -_$rect_34["default"] = void 0; - -var ___extend_34 = ___interopRequireDefault_34(_$extend_53); - -var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); - -function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __defaults_34 = (0, ___extend_34["default"])({ - get elementRect() { - return { - top: 0, - left: 0, - bottom: 1, - right: 1 - }; - }, - - set elementRect(_) {} - -}, ___pointer_34["default"].defaults); -var restrictRect = { - start: ___pointer_34["default"].start, - set: ___pointer_34["default"].set, - defaults: __defaults_34 -}; -var ___default_34 = restrictRect; -_$rect_34["default"] = ___default_34; - -var _$size_35 = {}; -"use strict"; - -Object.defineProperty(_$size_35, "__esModule", { - value: true -}); -_$size_35["default"] = void 0; - -var ___extend_35 = ___interopRequireDefault_35(_$extend_53); - -var ___rect_35 = ___interopRequireDefault_35(_$rect_63); - -var _edges = ___interopRequireDefault_35(_$edges_32); - -function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var noMin = { - width: -Infinity, - height: -Infinity -}; -var noMax = { - width: +Infinity, - height: +Infinity -}; - -function __start_35(arg) { - return _edges["default"].start(arg); -} - -function __set_35(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; - - if (!edges) { - return; - } - - var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); - - var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; - var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; - state.options = { - endOnly: options.endOnly, - inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), - outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) - }; - - if (edges.top) { - state.options.inner.top = rect.bottom - minSize.height; - state.options.outer.top = rect.bottom - maxSize.height; - } else if (edges.bottom) { - state.options.inner.bottom = rect.top + minSize.height; - state.options.outer.bottom = rect.top + maxSize.height; - } - - if (edges.left) { - state.options.inner.left = rect.right - minSize.width; - state.options.outer.left = rect.right - maxSize.width; - } else if (edges.right) { - state.options.inner.right = rect.left + minSize.width; - state.options.outer.right = rect.left + maxSize.width; - } - - _edges["default"].set(arg); - - state.options = options; -} - -var __defaults_35 = { - min: null, - max: null, - endOnly: false, - enabled: false -}; -var restrictSize = { - start: __start_35, - set: __set_35, - defaults: __defaults_35 -}; -var ___default_35 = restrictSize; -_$size_35["default"] = ___default_35; - -var _$pointer_37 = {}; -"use strict"; - -Object.defineProperty(_$pointer_37, "__esModule", { - value: true -}); -_$pointer_37["default"] = void 0; - -var __utils_37 = ___interopRequireWildcard_37(_$utils_56); - -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, - interactable = arg.interactable, - element = arg.element, - rect = arg.rect, - state = arg.state, - startOffset = arg.startOffset; - var options = state.options; - var offsets = []; - var origin = options.offsetWithOrigin ? getOrigin(arg) : { - x: 0, - y: 0 - }; - var snapOffset; - - if (options.offset === 'startCoords') { - snapOffset = { - x: interaction.coords.start.page.x, - y: interaction.coords.start.page.y - }; - } else { - var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); - snapOffset = __utils_37.rect.rectToXY(offsetRect) || { - x: 0, - y: 0 - }; - snapOffset.x += origin.x; - snapOffset.y += origin.y; - } - - var relativePoints = options.relativePoints || []; - - if (rect && options.relativePoints && options.relativePoints.length) { - for (var index = 0; index < relativePoints.length; index++) { - var relativePoint = relativePoints[index]; - offsets.push({ - index: index, - relativePoint: relativePoint, - x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, - y: startOffset.top - rect.height * relativePoint.y + snapOffset.y - }); - } - } else { - offsets.push(__utils_37.extend({ - index: 0, - relativePoint: null - }, snapOffset)); - } - - state.offsets = offsets; -} - -function __set_37(arg) { - var interaction = arg.interaction, - coords = arg.coords, - state = arg.state; - var options = state.options, - offsets = state.offsets; - var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); - var page = __utils_37.extend({}, coords); - var targets = []; - var target; - - if (!options.offsetWithOrigin) { - page.x -= origin.x; - page.y -= origin.y; - } - - state.realX = page.x; - state.realY = page.y; - - for (var _i = 0; _i < offsets.length; _i++) { - var _ref; - - _ref = offsets[_i]; - var offset = _ref; - var relativeX = page.x - offset.x; - var relativeY = page.y - offset.y; - - for (var index = 0, _len = options.targets.length; index < _len; index++) { - var snapTarget = options.targets[index]; - - if (__utils_37.is.func(snapTarget)) { - target = snapTarget(relativeX, relativeY, interaction, offset, index); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - targets.push({ - x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, - y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, - range: __utils_37.is.number(target.range) ? target.range : options.range - }); - } - } - - var closest = { - target: null, - inRange: false, - distance: 0, - range: 0, - dx: 0, - dy: 0 - }; - - for (var i = 0, len = targets.length; i < len; i++) { - target = targets[i]; - var range = target.range; - var dx = target.x - page.x; - var dy = target.y - page.y; - var distance = __utils_37.hypot(dx, dy); - var inRange = distance <= range; // Infinite targets count as being out of range - // compared to non infinite ones that are in range - - if (range === Infinity && closest.inRange && closest.range !== Infinity) { - inRange = false; - } - - if (!closest.target || (inRange // is the closest target in range? - ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target - ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't - : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest - distance < closest.distance : // The other is not in range and the pointer is closer to this target - !closest.inRange && distance < closest.distance)) { - closest.target = target; - closest.distance = distance; - closest.range = range; - closest.inRange = inRange; - closest.dx = dx; - closest.dy = dy; - state.range = range; - } - } - - if (closest.inRange) { - coords.x = closest.target.x; - coords.y = closest.target.y; - } - - state.closest = closest; -} - -function getOrigin(arg) { - 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; -} - -var __defaults_37 = { - range: Infinity, - targets: null, - offset: null, - offsetWithOrigin: true, - origin: null, - relativePoints: null, - endOnly: false, - enabled: false -}; -var snap = { - start: __start_37, - set: __set_37, - defaults: __defaults_37 -}; -var ___default_37 = snap; -_$pointer_37["default"] = ___default_37; - -var _$size_38 = {}; -"use strict"; - -Object.defineProperty(_$size_38, "__esModule", { - value: true -}); -_$size_38["default"] = void 0; - -var ___extend_38 = ___interopRequireDefault_38(_$extend_53); - -var __is_38 = ___interopRequireWildcard_38(_$is_57); - -var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); - -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 }; } - -function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } - -function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function __start_38(arg) { - var interaction = arg.interaction, - state = arg.state; - var options = state.options; - var edges = interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state = { - options: { - targets: null, - relativePoints: [{ - x: edges.left ? 0 : 1, - y: edges.top ? 0 : 1 - }], - offset: options.offset || 'self', - origin: { - x: 0, - y: 0 - }, - range: options.range - } - }; - state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; - - ___pointer_38["default"].start(arg); - - state.offsets = arg.state.offsets; - arg.state = state; -} - -function __set_38(arg) { - var interaction = arg.interaction, - state = arg.state, - coords = arg.coords; - var options = state.options, - offsets = state.offsets; - var relative = { - x: coords.x - offsets[0].x, - y: coords.y - offsets[0].y - }; - state.options = (0, ___extend_38["default"])({}, options); - state.options.targets = []; - - for (var _i = 0; _i < (options.targets || []).length; _i++) { - var _ref; - - _ref = (options.targets || [])[_i]; - var snapTarget = _ref; - var target = void 0; - - if (__is_38.func(snapTarget)) { - target = snapTarget(relative.x, relative.y, interaction); - } else { - target = snapTarget; - } - - if (!target) { - continue; - } - - for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { - var _ref2; - - _ref2 = state.targetFields[_i2]; - - var _ref3 = _ref2, - _ref4 = ___slicedToArray_38(_ref3, 2), - xField = _ref4[0], - yField = _ref4[1]; - - if (xField in target || yField in target) { - target.x = target[xField]; - target.y = target[yField]; - break; - } - } - - state.options.targets.push(target); - } - - ___pointer_38["default"].set(arg); - - state.options = options; -} - -var __defaults_38 = { - range: Infinity, - targets: null, - offset: null, - endOnly: false, - enabled: false -}; -var snapSize = { - start: __start_38, - set: __set_38, - defaults: __defaults_38 -}; -var ___default_38 = snapSize; -_$size_38["default"] = ___default_38; - -var _$edges_36 = {}; -"use strict"; - -Object.defineProperty(_$edges_36, "__esModule", { - value: true -}); -_$edges_36["default"] = void 0; - -var ___clone_36 = ___interopRequireDefault_36(_$clone_49); - -var ___extend_36 = ___interopRequireDefault_36(_$extend_53); - -var _size = ___interopRequireDefault_36(_$size_38); - -function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -/** - * @module modifiers/snapEdges - * - * @description - * This module allows snapping of the edges of targets during resize - * interactions. - * - * @example - * interact(target).resizable({ - * snapEdges: { - * targets: [interact.snappers.grid({ x: 100, y: 50 })], - * }, - * }) - * - * interact(target).resizable({ - * snapEdges: { - * targets: [ - * interact.snappers.grid({ - * top: 50, - * left: 50, - * bottom: 100, - * right: 100, - * }), - * ], - * }, - * }) - */ -function __start_36(arg) { - var edges = arg.interaction.prepared.edges; - - if (!edges) { - return null; - } - - arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; - return _size["default"].start(arg); -} - -function __set_36(arg) { - return _size["default"].set(arg); -} - -var snapEdges = { - start: __start_36, - set: __set_36, - defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { - offset: { - x: 0, - y: 0 - } - }) -}; -var ___default_36 = snapEdges; -_$edges_36["default"] = ___default_36; - -var _$modifiers_31 = {}; -"use strict"; - -Object.defineProperty(_$modifiers_31, "__esModule", { - value: true -}); -_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; - -var ___base_31 = ___interopRequireDefault_31(_$base_30); - -var ___edges_31 = ___interopRequireDefault_31(_$edges_32); - -var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); - -var ___rect_31 = ___interopRequireDefault_31(_$rect_34); - -var ___size_31 = ___interopRequireDefault_31(_$size_35); - -var _edges2 = ___interopRequireDefault_31(_$edges_36); - -var _pointer2 = ___interopRequireDefault_31(_$pointer_37); - -var _size2 = ___interopRequireDefault_31(_$size_38); - -function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var __makeModifier_31 = ___base_31["default"].makeModifier; -var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); -_$modifiers_31.snap = __snap_31; -var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); -_$modifiers_31.snapSize = __snapSize_31; -var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); -_$modifiers_31.snapEdges = __snapEdges_31; -var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); -_$modifiers_31.restrict = __restrict_31; -var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); -_$modifiers_31.restrictRect = __restrictRect_31; -var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); -_$modifiers_31.restrictEdges = __restrictEdges_31; -var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); -_$modifiers_31.restrictSize = __restrictSize_31; - -var _$PointerEvent_39 = {}; -"use strict"; - -Object.defineProperty(_$PointerEvent_39, "__esModule", { - value: true -}); -_$PointerEvent_39["default"] = void 0; - -var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); - -var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); - -function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function ___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); } - -function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function ___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); } } - -function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } - -function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } - -function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } - -function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function ___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); } - -function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } - -/** */ -var PointerEvent = -/*#__PURE__*/ -function (_BaseEvent) { - ___inherits_39(PointerEvent, _BaseEvent); - - /** */ - function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { - var _this; - - ___classCallCheck_39(this, PointerEvent); - - _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); - - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); - - if (event !== pointer) { - ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); - } - - _this.timeStamp = timeStamp; - _this.originalEvent = event; - _this.type = type; - _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); - _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); - _this.target = eventTarget; - _this.currentTarget = null; - - if (type === 'tap') { - var pointerIndex = interaction.getPointerIndex(pointer); - _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; - var interval = _this.timeStamp - interaction.tapTime; - _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); - } else if (type === 'doubletap') { - _this.dt = pointer.timeStamp - interaction.tapTime; - } - - return _this; - } - - ___createClass_39(PointerEvent, [{ - key: "_subtractOrigin", - value: function _subtractOrigin(_ref) { - var originX = _ref.x, - originY = _ref.y; - this.pageX -= originX; - this.pageY -= originY; - this.clientX -= originX; - this.clientY -= originY; - return this; - } - }, { - key: "_addOrigin", - value: function _addOrigin(_ref2) { - var originX = _ref2.x, - originY = _ref2.y; - this.pageX += originX; - this.pageY += originY; - this.clientX += originX; - this.clientY += originY; - return this; - } - /** - * Prevent the default behaviour of the original Event - */ - - }, { - key: "preventDefault", - value: function preventDefault() { - this.originalEvent.preventDefault(); - } - }]); - - return PointerEvent; -}(___BaseEvent2_39["default"]); - -_$PointerEvent_39["default"] = PointerEvent; - -var _$base_40 = {}; -"use strict"; - -Object.defineProperty(_$base_40, "__esModule", { - value: true -}); -_$base_40["default"] = void 0; - -var __utils_40 = ___interopRequireWildcard_40(_$utils_56); - -var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); - -function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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']; -var simpleEvents = ['down', 'up', 'cancel']; -var __defaults_40 = { - holdDuration: 600, - ignoreFrom: null, - allowFrom: null, - origin: { - x: 0, - y: 0 - } -}; -var pointerEvents = { - id: 'pointer-events/base', - install: __install_40, - signals: signals, - PointerEvent: _PointerEvent["default"], - fire: fire, - collectEventTargets: collectEventTargets, - createSignalListener: createSignalListener, - defaults: __defaults_40, - types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] -}; - -function fire(arg, scope) { - var interaction = arg.interaction, - pointer = arg.pointer, - event = arg.event, - eventTarget = arg.eventTarget, - _arg$type = arg.type, - type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, - _arg$targets = arg.targets, - targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; - var _arg$pointerEvent = arg.pointerEvent, - pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - targets: targets, - type: type, - pointerEvent: pointerEvent - }; - - for (var i = 0; i < targets.length; i++) { - var target = targets[i]; - - for (var prop in target.props || {}) { - pointerEvent[prop] = target.props[prop]; - } - - var origin = __utils_40.getOriginXY(target.eventable, target.node); - - pointerEvent._subtractOrigin(origin); - - pointerEvent.eventable = target.eventable; - pointerEvent.currentTarget = target.node; - target.eventable.fire(pointerEvent); - - pointerEvent._addOrigin(origin); - - if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { - break; - } - } - - signals.fire('fired', signalArg); - - if (type === 'tap') { - // if pointerEvent should make a double tap, create and fire a doubletap - // PointerEvent and use that as the prevTap - var prevTap = pointerEvent["double"] ? fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'doubletap' - }, scope) : pointerEvent; - interaction.prevTap = prevTap; - interaction.tapTime = prevTap.timeStamp; - } - - return pointerEvent; -} - -function collectEventTargets(_ref) { - var interaction = _ref.interaction, - pointer = _ref.pointer, - event = _ref.event, - eventTarget = _ref.eventTarget, - type = _ref.type; - var pointerIndex = interaction.getPointerIndex(pointer); - var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted - - if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target - !(pointerInfo && pointerInfo.downTarget === eventTarget))) { - return []; - } - - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: type, - path: path, - targets: [], - node: null - }; - - for (var _i = 0; _i < path.length; _i++) { - var _ref2; - - _ref2 = path[_i]; - var node = _ref2; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (type === 'hold') { - signalArg.targets = signalArg.targets.filter(function (target) { - return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; - }); - } - - return signalArg.targets; -} - -function __install_40(scope) { - var interactions = scope.interactions; - scope.pointerEvents = pointerEvents; - scope.defaults.actions.pointerEvents = pointerEvents.defaults; - interactions.signals.on('new', function (_ref3) { - var interaction = _ref3.interaction; - interaction.prevTap = null; // the most recent tap event on this interaction - - interaction.tapTime = 0; // time of the most recent tap event - }); - interactions.signals.on('update-pointer', function (_ref4) { - var down = _ref4.down, - pointerInfo = _ref4.pointerInfo; - - if (!down && pointerInfo.hold) { - return; - } - - pointerInfo.hold = { - duration: Infinity, - timeout: null - }; - }); - interactions.signals.on('move', function (_ref5) { - var interaction = _ref5.interaction, - pointer = _ref5.pointer, - event = _ref5.event, - eventTarget = _ref5.eventTarget, - duplicateMove = _ref5.duplicateMove; - var pointerIndex = interaction.getPointerIndex(pointer); - - if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { - if (interaction.pointerIsDown) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - - fire({ - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'move' - }, scope); - } - }); - interactions.signals.on('down', function (_ref6) { - var interaction = _ref6.interaction, - pointer = _ref6.pointer, - event = _ref6.event, - eventTarget = _ref6.eventTarget, - pointerIndex = _ref6.pointerIndex; - var timer = interaction.pointers[pointerIndex].hold; - var path = __utils_40.dom.getPath(eventTarget); - var signalArg = { - interaction: interaction, - pointer: pointer, - event: event, - eventTarget: eventTarget, - type: 'hold', - targets: [], - path: path, - node: null - }; - - for (var _i2 = 0; _i2 < path.length; _i2++) { - var _ref7; - - _ref7 = path[_i2]; - var node = _ref7; - signalArg.node = node; - signals.fire('collect-targets', signalArg); - } - - if (!signalArg.targets.length) { - return; - } - - var minDuration = Infinity; - - for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { - var _ref8; - - _ref8 = signalArg.targets[_i3]; - var target = _ref8; - var holdDuration = target.eventable.options.holdDuration; - - if (holdDuration < minDuration) { - minDuration = holdDuration; - } - } - - timer.duration = minDuration; - timer.timeout = setTimeout(function () { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'hold' - }, scope); - }, minDuration); - }); - var _arr = ['up', 'cancel']; - - for (var _i4 = 0; _i4 < _arr.length; _i4++) { - var signalName = _arr[_i4]; - interactions.signals.on(signalName, function (_ref10) { - var interaction = _ref10.interaction, - pointerIndex = _ref10.pointerIndex; - - if (interaction.pointers[pointerIndex].hold) { - clearTimeout(interaction.pointers[pointerIndex].hold.timeout); - } - }); - } - - for (var i = 0; i < simpleSignals.length; i++) { - interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); - } - - interactions.signals.on('up', function (_ref9) { - var interaction = _ref9.interaction, - pointer = _ref9.pointer, - event = _ref9.event, - eventTarget = _ref9.eventTarget; - - if (!interaction.pointerWasMoved) { - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: 'tap' - }, scope); - } - }); -} - -function createSignalListener(type, scope) { - return function (_ref11) { - var interaction = _ref11.interaction, - pointer = _ref11.pointer, - event = _ref11.event, - eventTarget = _ref11.eventTarget; - fire({ - interaction: interaction, - eventTarget: eventTarget, - pointer: pointer, - event: event, - type: type - }, scope); - }; -} - -var ___default_40 = pointerEvents; -_$base_40["default"] = ___default_40; - -var _$holdRepeat_41 = {}; -"use strict"; - -Object.defineProperty(_$holdRepeat_41, "__esModule", { - value: true -}); -_$holdRepeat_41["default"] = void 0; - -var ___base_41 = ___interopRequireDefault_41(_$base_40); - -function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_41(scope) { - var pointerEvents = scope.pointerEvents, - interactions = scope.interactions; - scope.usePlugin(___base_41["default"]); - pointerEvents.signals.on('new', onNew); - pointerEvents.signals.on('fired', function (arg) { - return onFired(arg, scope); - }); - var _arr = ['move', 'up', 'cancel', 'endall']; - - for (var _i = 0; _i < _arr.length; _i++) { - var signal = _arr[_i]; - interactions.signals.on(signal, endHoldRepeat); - } // don't repeat by default - - - pointerEvents.defaults.holdRepeatInterval = 0; - pointerEvents.types.push('holdrepeat'); -} - -function onNew(_ref) { - var pointerEvent = _ref.pointerEvent; - - if (pointerEvent.type !== 'hold') { - return; - } - - pointerEvent.count = (pointerEvent.count || 0) + 1; -} - -function onFired(_ref2, scope) { - var interaction = _ref2.interaction, - pointerEvent = _ref2.pointerEvent, - eventTarget = _ref2.eventTarget, - targets = _ref2.targets; - - if (pointerEvent.type !== 'hold' || !targets.length) { - return; - } // get the repeat interval from the first eventable - - - var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less - - if (interval <= 0) { - return; - } // set a timeout to fire the holdrepeat event - - - interaction.holdIntervalHandle = setTimeout(function () { - scope.pointerEvents.fire({ - interaction: interaction, - eventTarget: eventTarget, - type: 'hold', - pointer: pointerEvent, - event: pointerEvent - }, scope); - }, interval); -} - -function endHoldRepeat(_ref3) { - var interaction = _ref3.interaction; - - // set the interaction's holdStopTime property - // to stop further holdRepeat events - if (interaction.holdIntervalHandle) { - clearInterval(interaction.holdIntervalHandle); - interaction.holdIntervalHandle = null; - } -} - -var ___default_41 = { - id: 'pointer-events/holdRepeat', - install: __install_41 -}; -_$holdRepeat_41["default"] = ___default_41; - -var _$interactableTargets_43 = {}; -"use strict"; - -Object.defineProperty(_$interactableTargets_43, "__esModule", { - value: true -}); -_$interactableTargets_43["default"] = void 0; - -/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; - -var ___extend_43 = ___interopRequireDefault_43(_$extend_53); - -function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_43(scope) { - var pointerEvents = scope.pointerEvents, - actions = scope.actions, - Interactable = scope.Interactable, - interactables = scope.interactables; - pointerEvents.signals.on('collect-targets', function (_ref) { - var targets = _ref.targets, - node = _ref.node, - type = _ref.type, - eventTarget = _ref.eventTarget; - scope.interactables.forEachMatch(node, function (interactable) { - var eventable = interactable.events; - var options = eventable.options; - - if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { - targets.push({ - node: node, - eventable: eventable, - props: { - interactable: interactable - } - }); - } - }); - }); - interactables.signals.on('new', function (_ref2) { - var interactable = _ref2.interactable; - - interactable.events.getRect = function (element) { - return interactable.getRect(element); - }; - }); - interactables.signals.on('set', function (_ref3) { - var interactable = _ref3.interactable, - options = _ref3.options; - (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); - (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); - }); - (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); - Interactable.prototype.pointerEvents = pointerEventsMethod; - var __backCompatOption = Interactable.prototype._backCompatOption; - - Interactable.prototype._backCompatOption = function (optionName, newValue) { - var ret = __backCompatOption.call(this, optionName, newValue); - - if (ret === this) { - this.events.options[optionName] = newValue; - } - - return ret; - }; -} - -function pointerEventsMethod(options) { - (0, ___extend_43["default"])(this.events.options, options); - return this; -} - -var ___default_43 = { - id: 'pointer-events/interactableTargets', - install: __install_43 -}; -_$interactableTargets_43["default"] = ___default_43; - -var _$pointerEvents_42 = {}; -"use strict"; - -Object.defineProperty(_$pointerEvents_42, "__esModule", { - value: true -}); -_$pointerEvents_42.install = __install_42; -Object.defineProperty(_$pointerEvents_42, "pointerEvents", { - enumerable: true, - get: function get() { - return ___base_42["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "holdRepeat", { - enumerable: true, - get: function get() { - return _holdRepeat["default"]; - } -}); -Object.defineProperty(_$pointerEvents_42, "interactableTargets", { - enumerable: true, - get: function get() { - return _interactableTargets["default"]; - } -}); -_$pointerEvents_42.id = void 0; - -var ___base_42 = ___interopRequireDefault_42(_$base_40); - -var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); - -var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); - -function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function __install_42(scope) { - scope.usePlugin(___base_42["default"]); - scope.usePlugin(_holdRepeat["default"]); - scope.usePlugin(_interactableTargets["default"]); -} - -var __id_42 = 'pointer-events'; -_$pointerEvents_42.id = __id_42; - -var _$reflow_44 = {}; -"use strict"; - -Object.defineProperty(_$reflow_44, "__esModule", { - value: true -}); -_$reflow_44.install = __install_44; -_$reflow_44["default"] = void 0; - -/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; - -/* removed: var _$utils_56 = require("@interactjs/utils"); */; - -_$InteractEvent_15.EventPhase.Reflow = 'reflow'; - -function __install_44(scope) { - var actions = scope.actions, - interactions = scope.interactions, - Interactable = scope.Interactable; // add action reflow event types - - for (var _i = 0; _i < actions.names.length; _i++) { - var _ref; - - _ref = actions.names[_i]; - var actionName = _ref; - actions.eventTypes.push("".concat(actionName, "reflow")); - } // remove completed reflow interactions - - - interactions.signals.on('stop', function (_ref2) { - var interaction = _ref2.interaction; - - if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { - if (interaction._reflowResolve) { - interaction._reflowResolve(); - } - - _$utils_56.arr.remove(scope.interactions.list, interaction); - } - }); - /** - * ```js - * const interactable = interact(target) - * const drag = { name: drag, axis: 'x' } - * const resize = { name: resize, edges: { left: true, bottom: true } - * - * interactable.reflow(drag) - * interactable.reflow(resize) - * ``` - * - * Start an action sequence to re-apply modifiers, check drops, etc. - * - * @param { Object } action The action to begin - * @param { string } action.name The name of the action - * @returns { Promise } - */ - - Interactable.prototype.reflow = function (action) { - return reflow(this, action, scope); - }; -} - -function reflow(interactable, action, scope) { - 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 - - var Promise = _$utils_56.win.window.Promise; - var promises = Promise ? [] : null; - - var _loop = function _loop() { - _ref3 = elements[_i2]; - var element = _ref3; - var rect = interactable.getRect(element); - - if (!rect) { - return "break"; - } - - var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { - return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; - }); - - var reflowPromise = void 0; - - if (runningInteraction) { - runningInteraction.move(); - - if (promises) { - reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { - runningInteraction._reflowResolve = resolve; - }); - } - } else { - var xywh = _$utils_56.rect.tlbrToXywh(rect); - - var coords = { - page: { - x: xywh.x, - y: xywh.y - }, - client: { - x: xywh.x, - y: xywh.y - }, - timeStamp: scope.now() - }; - - var event = _$utils_56.pointer.coordsToEvent(coords); - - reflowPromise = startReflow(scope, interactable, element, action, event); - } - - if (promises) { - promises.push(reflowPromise); - } - }; - - for (var _i2 = 0; _i2 < elements.length; _i2++) { - var _ref3; - - var _ret = _loop(); - - if (_ret === "break") break; - } - - return promises && Promise.all(promises).then(function () { - return interactable; - }); -} - -function startReflow(scope, interactable, element, action, event) { - var interaction = scope.interactions["new"]({ - pointerType: 'reflow' - }); - var signalArg = { - interaction: interaction, - event: event, - pointer: event, - eventTarget: element, - phase: _$InteractEvent_15.EventPhase.Reflow - }; - interaction.interactable = interactable; - interaction.element = element; - interaction.prepared = (0, _$utils_56.extend)({}, action); - interaction.prevEvent = event; - interaction.updatePointer(event, event, element, true); - - interaction._doPhase(signalArg); - - var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { - interaction._reflowResolve = resolve; - }) : null; - interaction._reflowPromise = reflowPromise; - interaction.start(action, interactable, element); - - if (interaction._interacting) { - interaction.move(signalArg); - interaction.end(event); - } else { - interaction.stop(); - } - - interaction.removePointer(event, event); - interaction.pointerIsDown = false; - return reflowPromise; -} - -var ___default_44 = { - id: 'reflow', - install: __install_44 -}; -_$reflow_44["default"] = ___default_44; - -var _$interact_28 = {}; -"use strict"; - -Object.defineProperty(_$interact_28, "__esModule", { - value: true -}); -_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; - -var ___scope_28 = _$scope_24({}); - -var __utils_28 = ___interopRequireWildcard_28(_$utils_56); - -var ___browser_28 = ___interopRequireDefault_28(_$browser_48); - -var ___events_28 = ___interopRequireDefault_28(_$events_52); - -function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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 = {}; -var scope = new ___scope_28.Scope(); -/** - * ```js - * interact('#draggable').draggable(true) - * - * var rectables = interact('rect') - * rectables - * .gesturable(true) - * .on('gesturemove', function (event) { - * // ... - * }) - * ``` - * - * The methods of this variable can be used to set elements as interactables - * and also to change various default settings. - * - * Calling it as a function and passing an element or a valid CSS selector - * string returns an Interactable object which has various methods to configure - * it. - * - * @global - * - * @param {Element | string} target The HTML or SVG Element to interact with - * or CSS selector - * @return {Interactable} - */ - -_$interact_28.scope = scope; - -var interact = function interact(target, options) { - var interactable = scope.interactables.get(target, options); - - if (!interactable) { - interactable = scope.interactables["new"](target, options); - interactable.events.global = globalEvents; - } - - return interactable; -}; -/** - * Use a plugin - * - * @alias module:interact.use - * - * @param {Object} plugin - * @param {function} plugin.install - * @return {interact} - */ - - -_$interact_28.interact = interact; -interact.use = use; - -function use(plugin, options) { - scope.usePlugin(plugin, options); - return interact; -} -/** - * Check if an element or selector has been set with the {@link interact} - * function - * - * @alias module:interact.isSet - * - * @param {Element} element The Element being searched for - * @return {boolean} Indicates if the element or CSS selector was previously - * passed to interact - */ - - -interact.isSet = isSet; - -function isSet(target, options) { - return !!scope.interactables.get(target, options && options.context); -} -/** - * Add a global listener for an InteractEvent or adds a DOM event to `document` - * - * @alias module:interact.on - * - * @param {string | array | object} type The types of events to listen for - * @param {function} listener The function event (s) - * @param {object | boolean} [options] object or useCapture flag for - * addEventListener - * @return {object} interact - */ - - -interact.on = on; - -function on(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i = 0; _i < type.length; _i++) { - var _ref; - - _ref = type[_i]; - var eventType = _ref; - interact.on(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.on(prop, type[prop], listener); - } - - return interact; - } // if it is an InteractEvent type, add listener to globalEvents - - - if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { - // if this type of event was never bound - if (!globalEvents[type]) { - globalEvents[type] = [listener]; - } else { - globalEvents[type].push(listener); - } - } // If non InteractEvent type, addEventListener to document - else { - ___events_28["default"].add(scope.document, type, listener, { - options: options - }); - } - - return interact; -} -/** - * Removes a global InteractEvent listener or DOM event from `document` - * - * @alias module:interact.off - * - * @param {string | array | object} type The types of events that were listened - * for - * @param {function} listener The listener function to be removed - * @param {object | boolean} options [options] object or useCapture flag for - * removeEventListener - * @return {object} interact - */ - - -interact.off = off; - -function off(type, listener, options) { - if (__utils_28.is.string(type) && type.search(' ') !== -1) { - type = type.trim().split(/ +/); - } - - if (__utils_28.is.array(type)) { - for (var _i2 = 0; _i2 < type.length; _i2++) { - var _ref2; - - _ref2 = type[_i2]; - var eventType = _ref2; - interact.off(eventType, listener, options); - } - - return interact; - } - - if (__utils_28.is.object(type)) { - for (var prop in type) { - interact.off(prop, type[prop], listener); - } - - return interact; - } - - if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { - ___events_28["default"].remove(scope.document, type, listener, options); - } else { - var index; - - if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { - globalEvents[type].splice(index, 1); - } - } - - return interact; -} -/** - * Returns an object which exposes internal data - * @alias module:interact.debug - * - * @return {object} An object with properties that outline the current state - * and expose internal functions and variables - */ - - -interact.debug = debug; - -function debug() { - return scope; -} // expose the functions used to calculate multi-touch properties - - -interact.getPointerAverage = __utils_28.pointer.pointerAverage; -interact.getTouchBBox = __utils_28.pointer.touchBBox; -interact.getTouchDistance = __utils_28.pointer.touchDistance; -interact.getTouchAngle = __utils_28.pointer.touchAngle; -interact.getElementRect = __utils_28.dom.getElementRect; -interact.getElementClientRect = __utils_28.dom.getElementClientRect; -interact.matchesSelector = __utils_28.dom.matchesSelector; -interact.closest = __utils_28.dom.closest; -/** - * @alias module:interact.supportsTouch - * - * @return {boolean} Whether or not the browser supports touch input - */ - -interact.supportsTouch = supportsTouch; - -function supportsTouch() { - return ___browser_28["default"].supportsTouch; -} -/** - * @alias module:interact.supportsPointerEvent - * - * @return {boolean} Whether or not the browser supports PointerEvents - */ - - -interact.supportsPointerEvent = supportsPointerEvent; - -function supportsPointerEvent() { - return ___browser_28["default"].supportsPointerEvent; -} -/** - * Cancels all interactions (end events are not fired) - * - * @alias module:interact.stop - * - * @return {object} interact - */ - - -interact.stop = __stop_28; - -function __stop_28() { - for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { - var _ref3; - - _ref3 = scope.interactions.list[_i3]; - var interaction = _ref3; - interaction.stop(); - } - - return interact; -} -/** - * Returns or sets the distance the pointer must be moved before an action - * sequence occurs. This also affects tolerance for tap events. - * - * @alias module:interact.pointerMoveTolerance - * - * @param {number} [newValue] The movement from the start position must be greater than this value - * @return {interact | number} - */ - - -interact.pointerMoveTolerance = pointerMoveTolerance; - -function pointerMoveTolerance(newValue) { - if (__utils_28.is.number(newValue)) { - scope.interactions.pointerMoveTolerance = newValue; - return interact; - } - - return scope.interactions.pointerMoveTolerance; -} - -scope.interactables.signals.on('unset', function (_ref4) { - var interactable = _ref4.interactable; - scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset - - for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { - var _ref5; - - _ref5 = scope.interactions.list[_i4]; - var interaction = _ref5; - - if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { - interaction.stop(); - } - } -}); - -interact.addDocument = function (doc, options) { - return scope.addDocument(doc, options); -}; - -interact.removeDocument = function (doc) { - return scope.removeDocument(doc); -}; - -scope.interact = interact; -var ___default_28 = interact; -_$interact_28["default"] = ___default_28; - -var _$interact_27 = {}; -"use strict"; - -Object.defineProperty(_$interact_27, "__esModule", { - value: true -}); -_$interact_27.init = __init_27; -Object.defineProperty(_$interact_27, "autoScroll", { - enumerable: true, - get: function get() { - return _autoScroll["default"]; - } -}); -Object.defineProperty(_$interact_27, "interactablePreventDefault", { - enumerable: true, - get: function get() { - return _interactablePreventDefault["default"]; - } -}); -Object.defineProperty(_$interact_27, "inertia", { - enumerable: true, - get: function get() { - return _inertia["default"]; - } -}); -Object.defineProperty(_$interact_27, "modifiers", { - enumerable: true, - get: function get() { - return ___base_27["default"]; - } -}); -Object.defineProperty(_$interact_27, "reflow", { - enumerable: true, - get: function get() { - return _reflow["default"]; - } -}); -Object.defineProperty(_$interact_27, "interact", { - enumerable: true, - get: function get() { - return _interact["default"]; - } -}); -_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; - -var actions = ___interopRequireWildcard_27(_$actions_5); - -_$interact_27.actions = actions; - -var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); - -var autoStart = ___interopRequireWildcard_27(_$autoStart_12); - -var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); - -var _devTools = ___interopRequireDefault_27(_$devTools_25); - -var _inertia = ___interopRequireDefault_27(_$inertia_26); - -var modifiers = ___interopRequireWildcard_27(_$modifiers_31); - -var ___base_27 = ___interopRequireDefault_27(_$base_30); - -var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); - -_$interact_27.pointerEvents = __pointerEvents_27; - -var _reflow = ___interopRequireDefault_27(_$reflow_44); - -var _interact = ___interopRequireWildcard_27(_$interact_28); - -function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); - - _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents - - - _interact["default"].use(__pointerEvents_27); // inertia - - - _interact["default"].use(_inertia["default"]); // autoStart, hold - - - _interact["default"].use(autoStart); // drag and drop, resize, gesture - - - _interact["default"].use(actions); // snap, resize, etc. - - - _interact["default"].use(___base_27["default"]); // for backwrads compatibility - - - for (var type in modifiers) { - var _modifiers$type = modifiers[type], - _defaults = _modifiers$type._defaults, - _methods = _modifiers$type._methods; - _defaults._methods = _methods; - _interact.scope.defaults.perAction[type] = _defaults; - } // autoScroll - - - _interact["default"].use(_autoScroll["default"]); // reflow - - - _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef - - - if (false) {} - - return _interact["default"]; -} // eslint-disable-next-line no-undef - - -_interact["default"].version = "1.6.3"; -var ___default_27 = _interact["default"]; -_$interact_27["default"] = ___default_27; - -var _$types_45 = {}; -/// -"use strict"; - -var _$grid_64 = {}; -"use strict"; - -Object.defineProperty(_$grid_64, "__esModule", { - value: true -}); -_$grid_64["default"] = void 0; - -function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } - -function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -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; } - -function createGrid(grid) { - var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { - var _ref2 = ___slicedToArray_64(_ref, 2), - xField = _ref2[0], - yField = _ref2[1]; - - return xField in grid || yField in grid; - }); - return function (x, y) { - var range = grid.range, - _grid$limits = grid.limits, - limits = _grid$limits === void 0 ? { - left: -Infinity, - right: Infinity, - top: -Infinity, - bottom: Infinity - } : _grid$limits, - _grid$offset = grid.offset, - offset = _grid$offset === void 0 ? { - x: 0, - y: 0 - } : _grid$offset; - var result = { - range: range - }; - - for (var _i2 = 0; _i2 < coordFields.length; _i2++) { - var _ref3; - - _ref3 = coordFields[_i2]; - - var _ref4 = _ref3, - _ref5 = ___slicedToArray_64(_ref4, 2), - xField = _ref5[0], - yField = _ref5[1]; - - var gridx = Math.round((x - offset.x) / grid[xField]); - var gridy = Math.round((y - offset.y) / grid[yField]); - result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); - result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); - } - - return result; - }; -} - -var ___default_64 = createGrid; -_$grid_64["default"] = ___default_64; - -var _$snappers_65 = {}; -"use strict"; - -Object.defineProperty(_$snappers_65, "__esModule", { - value: true -}); -Object.defineProperty(_$snappers_65, "grid", { - enumerable: true, - get: function get() { - return _grid["default"]; - } -}); - -var _grid = ___interopRequireDefault_65(_$grid_64); - -function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -var _$index_29 = { exports: {} }; -"use strict"; - -Object.defineProperty(_$index_29.exports, "__esModule", { - value: true -}); -_$index_29.exports.init = __init_29; -_$index_29.exports["default"] = void 0; - -var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); - -var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); - -_$types_45; - -var ___extend_29 = ___interopRequireDefault_29(_$extend_53); - -var snappers = ___interopRequireWildcard_29(_$snappers_65); - -function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -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); } - -if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { - __init_29(window); -} - -function __init_29(win) { - (0, ___interact_29.init)(win); - return ___interact_29["default"].use({ - id: 'interactjs', - install: function install() { - ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); - ___interact_29["default"].snappers = snappers; - ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; - } - }); -} - -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 - -if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { - _$index_29.exports = ___interact_29["default"]; -} - -_$index_29 = _$index_29.exports -return _$index_29; - -}); - - -//# sourceMappingURL=interact.js.map - - /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.umd.js.map b/dist/vue-grid-layout.umd.js.map index 75cce730..8970d85f 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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?f4e6","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/./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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?a307","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./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":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,oEAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AAhOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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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CAAC,GAAC,CAAX,EAAcA,CAAC,GAAG8I,KAAK,CAAC5I,MAAxB,EAAgCF,CAAC,EAAjC;AACI,QAAI8I,KAAK,CAAC9I,CAAD,CAAL,CAAS+I,QAAT,KAAsBP,KAA1B,EACI,OAAO,IAAP;AAFR;;AAIA,SAAO,KAAP;AACH;AAEM,SAASQ,aAAT,CAAuBF,KAAvB,EAA8BC,QAA9B,EAAwCP,KAAxC,EAA+C;AAClDM,OAAK,CAAC3J,OAAN,CAAc,UAAUoH,MAAV,EAAkB0C,KAAlB,EAAyB;AACnC,QAAI1C,MAAM,CAACwC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;;;;;;;AC9kBY;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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,CA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BAbA;AAcA,gBAdA;AAeA,gBAfA;AAgBA,gBAhBA;AAiBA,gBAjBA;AAkBA,eAlBA;AAmBA,gBAnBA;AAqBA,yBArBA;AAsBA,2BAtBA;AAwBA,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;ACnBA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;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AAgG,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,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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,iBA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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;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;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,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,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,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;;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;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,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,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;;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,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,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,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,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,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;;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,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,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;AACA;AACA,2CAA2C;;AAE3C,KAAK,MAAwB,GAAG,SAAW;AAC3C;AACA;;AAEA;AACA;;AAEA,CAAC;;;AAGD;;;;;;;;ACryTA;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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","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 +{"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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?0c71","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/./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/interactjs/dist/interact.min.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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?d9a3","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,oEAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AAhOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,mCAAmC,6BAA6B,iDAAiD,8BAA8B,aAAa,eAAe,aAAa,cAAc,iBAAiB,oCAAoC,mGAAmG,yDAAyD,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,eAAe,2BAA2B,IAAI,mBAAmB,sCAAsC,qBAAqB,6BAA6B,oCAAoC,yBAAyB,kBAAkB,0BAA0B,oBAAoB,yBAAyB,qBAAqB,gCAAgC,+BAA+B,8GAA8G,yBAAyB,iFAAiF,mBAAmB,8CAA8C,YAAY,SAAS,cAAc,oBAAoB,6BAA6B,sBAAsB,sTAAsT,cAAc,+BAA+B,6BAA6B,sBAAsB,qBAAqB,sBAAsB,qFAAqF,sCAAsC,SAAS,mBAAmB,OAAO,sCAAsC,8CAA8C,uGAAuG,YAAY,+HAA+H,kEAAkE,+HAA+H,6DAA6D,KAAK,uBAAuB,gWAAgW,+BAA+B,6BAA6B,sBAAsB,cAAc,KAAK,YAAY,SAAS,sCAAsC,SAAS,mBAAmB,OAAO,iBAAiB,QAAQ,6TAA6T,uKAAuK,cAAc,QAAQ,YAAY,SAAS,sCAAsC,SAAS,mBAAmB,OAAO,iBAAiB,6CAA6C,6uBAA6uB,oHAAoH,EAAE,gHAAgH,4EAA4E,kKAAkK,QAAQ,YAAY,SAAS,cAAc,mBAAmB,yBAAyB,KAAK,iCAAiC,EAAE,SAAS,SAAS,gBAAgB,uGAAuG,sCAAsC,SAAS,+BAA+B,mCAAmC,KAAK,EAAE,EAAE,kBAAkB,eAAe,SAAS,yBAAyB,KAAK,qBAAqB,EAAE,mBAAmB,OAAO,YAAY,wEAAwE,mBAAmB,WAAW,KAAK,kBAAkB,kBAAkB,kBAAkB,wDAAwD,kBAAkB,aAAa,mHAAmH,kBAAkB,oBAAoB,SAAS,mCAAmC,kBAAkB,KAAK,8CAA8C,EAAE,EAAE,aAAa,QAAQ,MAAM,kBAAkB,qBAAqB,mKAAmK,SAAS,SAAS,YAAY,SAAS,+BAA+B,KAAK,qBAAqB,EAAE,mBAAmB,8BAA8B,SAAS,gCAAgC,oCAAoC,uEAAuE,WAAW,yBAAyB,wBAAwB,kDAAkD,SAAS,uBAAuB,SAAS,KAAK,EAAE,kBAAkB,SAAS,2BAA2B,iCAAiC,+CAA+C,kBAAkB,6BAA6B,gBAAgB,mBAAmB,qCAAqC,kBAAkB,SAAS,cAAc,OAAO,oHAAoH,cAAc,wFAAwF,WAAW,mHAAmH,SAAS,sCAAsC,SAAS,0BAA0B,yBAAyB,UAAU,SAAS,gBAAgB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,kBAAkB,kFAAkF,sCAAsC,SAAS,gEAAgE,QAAQ,gFAAgF,gCAAgC,mBAAmB,iFAAiF,mBAAmB,MAAM,oCAAoC,oDAAoD,gLAAgL,gBAAgB,4JAA4J,KAAK,MAAM,kDAAkD,SAAS,wBAAwB,WAAW,0CAA0C,0BAA0B,+CAA+C,iGAAiG,SAAS,0BAA0B,0CAA0C,sGAAsG,SAAS,4BAA4B,sBAAsB,wBAAwB,oBAAoB,0BAA0B,gDAAgD,SAAS,sCAAsC,SAAS,4BAA4B,yFAAyF,0BAA0B,UAAU,SAAS,cAAc,4BAA4B,sCAAsC,SAAS,8BAA8B,OAAO,mDAAmD,qDAAqD,gCAAgC,KAAK,gCAAgC,gDAAgD,uCAAuC,WAAW,KAAK,MAAM,gBAAgB,4CAA4C,4BAA4B,6BAA6B,GAAG,YAAY,UAAU,SAAS,sCAAsC,SAAS,mBAAmB,wBAAwB,2BAA2B,SAAS,gBAAgB,gBAAgB,6BAA6B,kDAAkD,KAAK,MAAM,wCAAwC,SAAS,sCAAsC,SAAS,sCAAsC,2EAA2E,QAAQ,YAAY,SAAS,cAAc,kEAAkE,kBAAkB,2BAA2B,4BAA4B,gBAAgB,aAAa,QAAQ,yGAAyG,gBAAgB,cAAc,iEAAiE,cAAc,SAAS,wPAAwP,cAAc,WAAW,wDAAwD,KAAK,WAAW,KAAK,WAAW,0BAA0B,8BAA8B,SAAS,sCAAsC,SAAS,6BAA6B,iBAAiB,0DAA0D,qEAAqE,kCAAkC,4JAA4J,kCAAkC,qCAAqC,sGAAsG,6BAA6B,gDAAgD,wFAAwF,8DAA8D,6BAA6B,2BAA2B,wCAAwC,6DAA6D,yBAAyB,mJAAmJ,OAAO,4DAA4D,+BAA+B,+DAA+D,yBAAyB,4BAA4B,+DAA+D,mCAAmC,8BAA8B,6MAA6M,+BAA+B,6DAA6D,gFAAgF,wBAAwB,OAAO,MAAM,QAAQ,SAAS,QAAQ,cAAc,6BAA6B,OAAO,oBAAoB,wBAAwB,cAAc,0BAA0B,iBAAiB,6BAA6B,aAAa,0BAA0B,aAAa,0BAA0B,eAAe,4BAA4B,eAAe,4BAA4B,iBAAiB,6BAA6B,cAAc,0BAA0B,YAAY,wBAAwB,mBAAmB,+BAA+B,eAAe,2BAA2B,8BAA8B,0CAA0C,6BAA6B,kBAAkB,EAAE,SAAS,gBAAgB,YAAY,WAAW,KAAK,WAAW,+GAA+G,sCAAsC,SAAS,qBAAqB,iBAAiB,cAAc,eAAe,8EAA8E,kOAAkO,UAAU,gBAAgB,wCAAwC,EAAE,uCAAuC,4BAA4B,EAAE,gDAAgD,6DAA6D,iCAAiC,GAAG,+DAA+D,eAAe,gCAAgC,kBAAkB,EAAE,SAAS,sCAAsC,SAAS,+DAA+D,yBAAyB,yBAAyB,uBAAuB,iCAAiC,oBAAoB,YAAY,WAAW,KAAK,WAAW,UAAU,UAAU,UAAU,mBAAmB,gBAAgB,oBAAoB,YAAY,WAAW,4BAA4B,UAAU,cAAc,qBAAqB,kBAAkB,SAAS,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,iBAAiB,+CAA+C,uBAAuB,OAAO,eAAe,iBAAiB,4DAA4D,mCAAmC,qCAAqC,IAAI,2EAA2E,OAAO,SAAS,UAAU,GAAG,kBAAkB,cAAc,MAAM,2BAA2B,mCAAmC,+BAA+B,mBAAmB,iBAAiB,6DAA6D,oGAAoG,SAAS,MAAM,eAAe,kEAAkE,6CAA6C,KAAK,sCAAsC,SAAS,qBAAqB,mBAAmB,eAAe,4GAA4G,0CAA0C,aAAa,qCAAqC,aAAa,MAAM,kBAAkB,kBAAkB,MAAM,eAAe,8EAA8E,kNAAkN,4DAA4D,sJAAsJ,gBAAgB,8BAA8B,yCAAyC,oQAAoQ,iDAAiD,6BAA6B,oCAAoC,GAAG,0BAA0B,+CAA+C,oEAAoE,8DAA8D,EAAE,wCAAwC,EAAE,uCAAuC,4BAA4B,EAAE,gDAAgD,6DAA6D,mCAAmC,cAAc,eAAe,UAAU,iBAAiB,YAAY,mBAAmB,KAAK,4CAA4C,yFAAyF,iBAAiB,wBAAwB,mCAAmC,gBAAgB,KAAK,gBAAgB,2BAA2B,4BAA4B,uGAAuG,8BAA8B,gIAAgI,WAAW,KAAK,WAAW,eAAe,qBAAqB,IAAI,SAAS,UAAU,WAAW,KAAK,WAAW,qCAAqC,SAAS,mBAAmB,4DAA4D,uBAAuB,KAAK,yDAAyD,wCAAwC,iCAAiC,8BAA8B,mBAAmB,qBAAqB,yEAAyE,4yBAA4yB,iBAAiB,mDAAmD,yNAAyN,iBAAiB,yCAAyC,4CAA4C,kBAAkB,+CAA+C,oBAAoB,+JAA+J,uCAAuC,SAAS,oBAAoB,QAAQ,sCAAsC,iEAAiE,wDAAwD,qBAAqB,wBAAwB,sDAAsD,wEAAwE,oHAAoH,IAAI,EAAE,mEAAmE,woBAAwoB,uDAAuD,sBAAsB,SAAS,6CAA6C,+BAA+B,SAAS,8FAA8F,6BAA6B,kBAAkB,iDAAiD,kBAAkB,wDAAwD,OAAO,mBAAmB,oBAAoB,0CAA0C,+CAA+C,2BAA2B,qJAAqJ,OAAO,kEAAkE,SAAS,mBAAmB,2BAA2B,2DAA2D,iCAAiC,gFAAgF,2EAA2E,YAAY,+CAA+C,oBAAoB,wCAAwC,KAAK,2BAA2B,OAAO,2BAA2B,0CAA0C,EAAE,iDAAiD,yCAAyC,6BAA6B,kBAAkB,uKAAuK,0BAA0B,IAAI,8EAA8E,+BAA+B,gFAAgF,0BAA0B,uBAAuB,EAAE,yCAAyC,yCAAyC,+BAA+B,4DAA4D,0BAA0B,GAAG,iCAAiC,oBAAoB,6BAA6B,kBAAkB,sIAAsI,2EAA2E,0CAA0C,OAAO,cAAc,UAAU,eAAe,yCAAyC,gCAAgC,kCAAkC,iBAAiB,kEAAkE,kMAAkM,WAAW,kBAAkB,gFAAgF,yLAAyL,4IAA4I,uCAAuC,SAAS,oBAAoB,QAAQ,kFAAkF,8CAA8C,mCAAmC,wNAAwN,kFAAkF,YAAY,yHAAyH,uBAAuB,yDAAyD,gCAAgC,uCAAuC,qCAAqC,iCAAiC,eAAe,MAAM,YAAY,sBAAsB,UAAU,OAAO,cAAc,UAAU,2BAA2B,eAAe,WAAW,4GAA4G,iNAAiN,gDAAgD,kDAAkD,mDAAmD,gFAAgF,eAAe,+BAA+B,6CAA6C,QAAQ,sMAAsM,uCAAuC,SAAS,oBAAoB,QAAQ,gEAAgE,0DAA0D,uBAAuB,gBAAgB,mMAAmM,EAAE,oNAAoN,qGAAqG,uBAAuB,obAAob,yDAAyD,wBAAwB,WAAW,8EAA8E,YAAY,+BAA+B,8BAA8B,yCAAyC,aAAa,+BAA+B,iDAAiD,iBAAiB,UAAU,sBAAsB,8BAA8B,6BAA6B,WAAW,gDAAgD,gFAAgF,UAAU,wCAAwC,aAAa,+BAA+B,iDAAiD,mJAAmJ,yBAAyB,wCAAwC,mBAAmB,YAAY,0BAA0B,mBAAmB,aAAa,2BAA2B,uIAAuI,6EAA6E,iDAAiD,UAAU,uCAAuC,+BAA+B,iDAAiD,QAAQ,+EAA+E,gCAAgC,sEAAsE,MAAM,sBAAsB,uCAAuC,kGAAkG,8BAA8B,OAAO,mCAAmC,mGAAmG,8FAA8F,sBAAsB,EAAE,KAAK,+FAA+F,mBAAmB,yCAAyC,EAAE,2BAA2B,WAAW,+EAA+E,oCAAoC,oDAAoD,cAAc,WAAW,mDAAmD,WAAW,KAAK,WAAW,aAAa,OAAO,SAAS,oBAAoB,OAAO,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,iCAAiC,iGAAiG,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,eAAe,QAAQ,oBAAoB,aAAa,oBAAoB,aAAa,kBAAkB,oGAAoG,WAAW,KAAK,WAAW,oIAAoI,wDAAwD,oEAAoE,OAAO,KAAK,gBAAgB,gBAAgB,uBAAuB,IAAI,cAAc,UAAU,uCAAuC,SAAS,kEAAkE,8CAA8C,OAAO,kCAAkC,qCAAqC,wFAAwF,8BAA8B,SAAS,+CAA+C,IAAI,YAAY,OAAO,qBAAqB,mBAAmB,QAAQ,UAAU,8CAA8C,wGAAwG,mIAAmI,iBAAiB,2FAA2F,mBAAmB,iKAAiK,SAAS,OAAO,mBAAmB,aAAa,YAAY,gFAAgF,eAAe,qBAAqB,oBAAoB,4EAA4E,EAAE,cAAc,6EAA6E,qBAAqB,gBAAgB,gDAAgD,+BAA+B,gCAAgC,yFAAyF,KAAK,2GAA2G,0IAA0I,KAAK,gCAAgC,sHAAsH,qGAAqG,mBAAmB,qFAAqF,eAAe,sDAAsD,8BAA8B,QAAQ,qCAAqC,6BAA6B,kCAAkC,eAAe,mEAAmE,YAAY,+BAA+B,8BAA8B,oCAAoC,8EAA8E,oEAAoE,kCAAkC,cAAc,UAAU,uCAAuC,SAAS,4BAA4B,SAAS,kBAAkB,mEAAmE,6BAA6B,sDAAsD,UAAU,eAAe,oIAAoI,eAAe,0IAA0I,uCAAuC,SAAS,oBAAoB,QAAQ,wDAAwD,qBAAqB,wCAAwC,0BAA0B,iCAAiC,iBAAiB,cAAc,qEAAqE,6CAA6C,eAAe,+EAA+E,qDAAqD,8CAA8C,6EAA6E,qBAAqB,wDAAwD,6CAA6C,4EAA4E,oBAAoB,+DAA+D,cAAc,UAAU,uBAAuB,+FAA+F,2BAA2B,uBAAuB,IAAI,KAAK,yCAAyC,MAAM,oBAAoB,YAAY,oCAAoC,OAAO,4CAA4C,uBAAuB,kBAAkB,cAAc,oBAAoB,KAAK,qBAAqB,EAAE,4CAA4C,wBAAwB,yEAAyE,kBAAkB,OAAO,4CAA4C,mBAAmB,4CAA4C,MAAM,UAAU,sIAAsI,cAAc,EAAE,qBAAqB,oGAAoG,uBAAuB,YAAY,6BAA6B,KAAK,+CAA+C,oBAAoB,mBAAmB,uBAAuB,mCAAmC,oDAAoD,WAAW,iBAAiB,4FAA4F,mBAAmB,gCAAgC,iIAAiI,iBAAiB,8CAA8C,sDAAsD,SAAS,WAAW,sCAAsC,+EAA+E,sBAAsB,mEAAmE,uCAAuC,SAAS,oBAAoB,QAAQ,4DAA4D,oCAAoC,mGAAmG,qFAAqF,gCAAgC,eAAe,cAAc,kEAAkE,YAAY,kCAAkC,0DAA0D,uCAAuC,mCAAmC,eAAe,0DAA0D,iFAAiF,oBAAoB,oBAAoB,0EAA0E,mCAAmC,uCAAuC,oHAAoH,MAAM,mCAAmC,qCAAqC,8CAA8C,iEAAiE,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,oCAAoC,uCAAuC,kDAAkD,6BAA6B,mGAAmG,mFAAmF,qBAAqB,0BAA0B,uBAAuB,kCAAkC,6CAA6C,iDAAiD,qCAAqC,eAAe,+BAA+B,gCAAgC,wDAAwD,qBAAqB,EAAE,wCAAwC,MAAM,oDAAoD,MAAM,4BAA4B,cAAc,UAAU,eAAe,kCAAkC,kBAAkB,6BAA6B,6BAA6B,uCAAuC,SAAS,oBAAoB,QAAQ,yCAAyC,iBAAiB,+DAA+D,YAAY,+BAA+B,sCAAsC,kCAAkC,4BAA4B,kDAAkD,6CAA6C,MAAM,iCAAiC,kCAAkC,4GAA4G,sCAAsC,oBAAoB,iCAAiC,qBAAqB,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,oCAAoC,0EAA0E,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,UAAU,eAAe,+KAA+K,eAAe,8BAA8B,yDAAyD,eAAe,qBAAqB,6EAA6E,uBAAuB,+BAA+B,gCAAgC,iEAAiE,8DAA8D,+CAA+C,8MAA8M,wBAAwB,WAAW,gCAAgC,sCAAsC,YAAY,6BAA6B,KAAK,6BAA6B,oIAAoI,EAAE,uCAAuC,SAAS,kCAAkC,QAAQ,8GAA8G,yCAAyC,IAAI,GAAG,cAAc,aAAa,eAAe,mBAAmB,iCAAiC,iBAAiB,iFAAiF,mBAAmB,aAAa,qCAAqC,oDAAoD,oDAAoD,6CAA6C,sFAAsF,gBAAgB,4JAA4J,GAAG,iBAAiB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,uCAAuC,SAAS,gCAAgC,gFAAgF,WAAW,GAAG,QAAQ,qJAAqJ,SAAS,wCAAwC,uBAAuB,QAAQ,KAAK,qBAAqB,EAAE,sBAAsB,sBAAsB,SAAS,4CAA4C,qBAAqB,iCAAiC,mEAAmE,EAAE,sCAAsC,gBAAgB,sGAAsG,mGAAmG,gCAAgC,EAAE,wCAAwC,sBAAsB,qEAAqE,qBAAqB,uCAAuC,mDAAmD,EAAE,mBAAmB,kDAAkD,kCAAkC,uBAAuB,0BAA0B,+DAA+D,0CAA0C,qCAAqC,UAAU,kCAAkC,8EAA8E,YAAY,0CAA0C,4BAA4B,YAAY,KAAK,uDAAuD,6IAA6I,0DAA0D,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,UAAU,uCAAuC,SAAS,2BAA2B,SAAS,gBAAgB,WAAW,4EAA4E,UAAU,UAAU,iBAAiB,mBAAmB,6BAA6B,mBAAmB,sEAAsE,4BAA4B,IAAI,iCAAiC,2DAA2D,OAAO,SAAS,SAAS,QAAQ,IAAI,8BAA8B,QAAQ,cAAc,SAAS,qBAAqB,aAAa,qCAAqC,oDAAoD,oDAAoD,6CAA6C,sFAAsF,kBAAkB,iKAAiK,GAAG,iBAAiB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,uCAAuC,SAAS,wCAAwC,kBAAkB,cAAc,eAAe,8EAA8E,0CAA0C,8BAA8B,yIAAyI,UAAU,gBAAgB,gCAAgC,+CAA+C,4DAA4D,gHAAgH,WAAW,sBAAsB,8BAA8B,uBAAuB,UAAU,GAAG,IAAI,iDAAiD,yDAAyD,SAAS,OAAO,gCAAgC,qEAAqE,EAAE,gCAAgC,uBAAuB,2IAA2I,EAAE,iCAAiC,gBAAgB,YAAY,qBAAqB,KAAK,qBAAqB,kDAAkD,EAAE,+BAA+B,gBAAgB,oDAAoD,yBAAyB,sCAAsC,IAAI,uEAAuE,WAAW,KAAK,yCAAyC,kBAAkB,6GAA6G,kCAAkC,wBAAwB,8NAA8N,4CAA4C,SAAS,iGAAiG,gDAAgD,UAAU,EAAE,2CAA2C,2GAA2G,oDAAoD,4BAA4B,WAAW,KAAK,+BAA+B,4DAA4D,6CAA6C,gHAAgH,EAAE,oCAAoC,6EAA6E,gEAAgE,EAAE,kFAAkF,qBAAqB,2BAA2B,mDAAmD,8DAA8D,4BAA4B,EAAE,kCAAkC,4CAA4C,gBAAgB,iBAAiB,WAAW,KAAK,WAAW,UAAU,0DAA0D,gCAAgC,wCAAwC,WAAW,kBAAkB,IAAI,EAAE,6BAA6B,oBAAoB,oCAAoC,qBAAqB,2EAA2E,IAAI,gBAAgB,YAAY,qBAAqB,KAAK,qBAAqB,4CAA4C,uCAAuC,EAAE,sCAAsC,eAAe,YAAY,WAAW,KAAK,4CAA4C,kBAAkB,mCAAmC,EAAE,oBAAoB,EAAE,iDAAiD,yDAAyD,aAAa,wFAAwF,WAAW,KAAK,+BAA+B,4DAA4D,kEAAkE,EAAE,uCAAuC,qFAAqF,EAAE,iCAAiC,qHAAqH,wBAAwB,kCAAkC,kCAAkC,kBAAkB,EAAE,+BAA+B,gCAAgC,mCAAmC,GAAG,iBAAiB,OAAO,uBAAuB,QAAQ,YAAY,8BAA8B,2BAA2B,iBAAiB,UAAU,oEAAoE,EAAE,+BAA+B,cAAc,UAAU,eAAe,mDAAmD,8BAA8B,uCAAuC,SAAS,gCAAgC,oBAAoB,0DAA0D,eAAe,YAAY,4DAA4D,OAAO,6CAA6C,sBAAsB,oBAAoB,wBAAwB,UAAU,oDAAoD,SAAS,2CAA2C,QAAQ,2DAA2D,kCAAkC,YAAY,+BAA+B,oBAAoB,iCAAiC,gDAAgD,iCAAiC,+FAA+F,+CAA+C,iDAAiD,8CAA8C,+CAA+C,yIAAyI,8DAA8D,8CAA8C,8DAA8D,iCAAiC,6CAA6C,cAAc,UAAU,uCAAuC,SAAS,qBAAqB,aAAa,MAAM,yCAAyC,YAAY,mBAAmB,SAAS,aAAa,UAAU,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,iBAAiB,+CAA+C,uBAAuB,OAAO,eAAe,iBAAiB,4DAA4D,mCAAmC,qCAAqC,IAAI,2EAA2E,OAAO,SAAS,UAAU,GAAG,kBAAkB,cAAc,MAAM,2BAA2B,mCAAmC,+BAA+B,mBAAmB,iBAAiB,yDAAyD,eAAe,oGAAoG,SAAS,eAAe,kEAAkE,6CAA6C,KAAK,uCAAuC,SAAS,0BAA0B,mBAAmB,eAAe,4GAA4G,0CAA0C,aAAa,qCAAqC,aAAa,MAAM,kBAAkB,0BAA0B,MAAM,eAAe,8EAA8E,ohBAAohB,4JAA4J,6DAA6D,cAAc,8BAA8B,kCAAkC,kCAAkC,ofAAof,QAAQ,EAAE,gCAAgC,sFAAsF,0HAA0H,gBAAgB,gCAAgC,wBAAwB,+EAA+E,0EAA0E,cAAc,4CAA4C,OAAO,6GAA6G,mDAAmD,EAAE,wCAAwC,EAAE,gDAAgD,6DAA6D,EAAE,uCAAuC,4BAA4B,mCAAmC,cAAc,0DAA0D,OAAO,eAAe,mBAAmB,iBAAiB,eAAe,QAAQ,eAAe,mBAAmB,iBAAiB,eAAe,UAAU,eAAe,qBAAqB,iBAAiB,iBAAiB,UAAU,eAAe,qBAAqB,iBAAiB,iBAAiB,KAAK,eAAe,oBAAoB,iBAAiB,gBAAgB,KAAK,eAAe,oBAAoB,iBAAiB,gBAAgB,YAAY,eAAe,uBAAuB,iBAAiB,mBAAmB,YAAY,eAAe,uBAAuB,iBAAiB,oBAAoB,EAAE,UAAU,uCAAuC,SAAS,wBAAwB,qCAAqC,eAAe,8EAA8E,mLAAmL,gBAAgB,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,mBAAmB,yCAAyC,uCAAuC,SAAS,0CAA0C,6BAA6B,uBAAuB,mGAAmG,iGAAiG,2BAA2B,mCAAmC,yDAAyD,4BAA4B,GAAG,uBAAuB,cAAc,yCAAyC,eAAe,8EAA8E,8IAA8I,+BAA+B,iFAAiF,sBAAsB,yCAAyC,wMAAwM,aAAa,yFAAyF,oGAAoG,oDAAoD,WAAW,eAAe,kBAAkB,kCAAkC,eAAe,aAAa,GAAG,qBAAqB,kBAAkB,kCAAkC,iBAAiB,gCAAgC,GAAG,qBAAqB,oCAAoC,iBAAiB,EAAE,cAAc,0CAA0C,UAAU,UAAU,wCAAwC,sDAAsD,qCAAqC,0FAA0F,GAAG,EAAE,kCAAkC,0QAA0Q,uBAAuB,kCAAkC,mDAAmD,oDAAoD,sCAAsC,EAAE,wCAAwC,8FAA8F,yNAAyN,2NAA2N,iCAAiC,gIAAgI,gPAAgP,EAAE,6BAA6B,iEAAiE,iIAAiI,MAAM,kCAAkC,EAAE,wCAAwC,8BAA8B,yCAAyC,4CAA4C,2CAA2C,qHAAqH,wDAAwD,EAAE,qCAAqC,iDAAiD,qCAAqC,GAAG,EAAE,4BAA4B,MAAM,qFAAqF,qCAAqC,wCAAwC,EAAE,qCAAqC,kDAAkD,EAAE,mCAAmC,0BAA0B,EAAE,4BAA4B,qCAAqC,iBAAiB,oHAAoH,EAAE,wCAAwC,wBAAwB,yHAAyH,gBAAgB,IAAI,EAAE,uCAAuC,+CAA+C,EAAE,4CAA4C,qEAAqE,kNAAkN,iBAAiB,sbAAsb,qFAAqF,KAAK,EAAE,wCAAwC,8BAA8B,WAAW,uBAAuB,+CAA+C,iFAAiF,oDAAoD,EAAE,iDAAiD,6FAA6F,EAAE,+BAA+B,sGAAsG,EAAE,mDAAmD,2EAA2E,EAAE,mCAAmC,wGAAwG,EAAE,iCAAiC,wDAAwD,8NAA8N,kDAAkD,4KAA4K,EAAE,4BAA4B,mBAAmB,KAAK,GAAG,kBAAkB,UAAU,cAAc,UAAU,eAAe,6FAA6F,eAAe,kBAAkB,eAAe,gBAAgB,kDAAkD,aAAa,uBAAuB,2FAA2F,eAAe,gBAAgB,gGAAgG,iBAAiB,oCAAoC,4BAA4B,uCAAuC,SAAS,mFAAmF,QAAQ,0FAA0F,oCAAoC,YAAY,+BAA+B,sBAAsB,OAAO,QAAQ,UAAU,UAAU,2CAA2C,yBAAyB,yHAAyH,oBAAoB,wBAAwB,UAAU,aAAa,iCAAiC,oBAAoB,mFAAmF,cAAc,UAAU,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,uCAAuC,SAAS,oCAAoC,kBAAkB,cAAc,eAAe,8EAA8E,8WAA8W,UAAU,gBAAgB,8BAA8B,+BAA+B,2BAA2B,mHAAmH,4GAA4G,QAAQ,sDAAsD,iJAAiJ,mFAAmF,KAAK,kEAAkE,sBAAsB,iFAAiF,2CAA2C,cAAc,8CAA8C,uEAAuE,EAAE,oCAAoC,6HAA6H,mBAAmB,wBAAwB,wEAAwE,2CAA2C,cAAc,kFAAkF,iFAAiF,8EAA8E,+BAA+B,uBAAuB,IAAI,EAAE,sCAAsC,WAAW,wDAAwD,sEAAsE,8BAA8B,yBAAyB,IAAI,EAAE,oCAAoC,WAAW,4CAA4C,cAAc,IAAI,EAAE,mCAAmC,wFAAwF,cAAc,yDAAyD,wHAAwH,8BAA8B,KAAK,iDAAiD,OAAO,uDAAuD,wGAAwG,uBAAuB,GAAG,iBAAiB,0FAA0F,cAAc,EAAE,qCAAqC,2EAA2E,QAAQ,OAAO,gEAAgE,IAAI,uDAAuD,0EAA0E,iCAAiC,+BAA+B,yBAAyB,GAAG,iBAAiB,sFAAsF,cAAc,EAAE,+BAA+B,6DAA6D,YAAY,gDAAgD,wCAAwC,qCAAqC,4DAA4D,EAAE,2BAA2B,4DAA4D,EAAE,4BAA4B,gGAAgG,mCAAmC,GAAG,eAAe,kCAAkC,uDAAuD,qBAAqB,UAAU,2BAA2B,qBAAqB,wBAAwB,mBAAmB,QAAQ,gEAAgE,iBAAiB,iIAAiI,wFAAwF,YAAY,+BAA+B,oBAAoB,oBAAoB,8CAA8C,8BAA8B,iEAAiE,iCAAiC,gDAAgD,wBAAwB,qBAAqB,EAAE,kBAAkB,YAAY,MAAM,mBAAmB,iCAAiC,4BAA4B,mBAAmB,iDAAiD,iCAAiC,2EAA2E,uDAAuD,iDAAiD,gKAAgK,8DAA8D,gDAAgD,iEAAiE,cAAc,UAAU,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,iBAAiB,YAAY,WAAW,KAAK,WAAW,uCAAuC,MAAM,uCAAuC,SAAS,sBAAsB,kBAAkB,cAAc,eAAe,8EAA8E,0CAA0C,gHAAgH,MAAM,EAAE,UAAU,gBAAgB,6BAA6B,oBAAoB,kFAAkF,EAAE,6BAA6B,yBAAyB,0DAA0D,EAAE,8BAA8B,yBAAyB,YAAY,oBAAoB,2BAA2B,cAAc,KAAK,6BAA6B,yBAAyB,EAAE,gCAAgC,aAAa,mCAAmC,GAAG,gBAAgB,UAAU,uCAAuC,SAAS,2BAA2B,gCAAgC,+EAA+E,UAAU,UAAU,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,mBAAmB,yCAAyC,uCAAuC,SAAS,yBAAyB,kBAAkB,oBAAoB,eAAe,8EAA8E,yYAAyY,cAAc,+BAA+B,OAAO,OAAO,aAAa,cAAc,UAAU,sCAAsC,qSAAqS,EAAE,qDAAqD,kHAAkH,EAAE,uCAAuC,qBAAqB,gBAAgB,iCAAiC,uJAAuJ,6LAA6L,EAAE,gCAAgC,sKAAsK,EAAE,oCAAoC,WAAW,uEAAuE,sBAAsB,oBAAoB,sEAAsE,kFAAkF,EAAE,4CAA4C,8CAA8C,sEAAsE,YAAY,wBAAwB,EAAE,+BAA+B,2CAA2C,EAAE,oCAAoC,2FAA2F,EAAE,+BAA+B,sBAAsB,EAAE,kCAAkC,6EAA6E,EAAE,4CAA4C,2EAA2E,EAAE,sCAAsC,kIAAkI,EAAE,uCAAuC,oIAAoI,EAAE,6BAA6B,iCAAiC,EAAE,qCAAqC,uDAAuD,mDAAmD,gBAAgB,sCAAsC,YAAY,cAAc,KAAK,cAAc,uMAAuM,aAAa,EAAE,+BAA+B,gCAAgC,EAAE,gCAAgC,iCAAiC,EAAE,4BAA4B,qBAAqB,uCAAuC,gEAAgE,sCAAsC,kBAAkB,mDAAmD,2CAA2C,sDAAsD,aAAa,EAAE,6BAA6B,4IAA4I,KAAK,KAAK,kDAAkD,kDAAkD,qBAAqB,KAAK,kFAAkF,kDAAkD,KAAK,GAAG,mBAAmB,UAAU,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,uCAAuC,SAAS,4BAA4B,kBAAkB,cAAc,WAAW,eAAe,8EAA8E,yCAAyC,gDAAgD,iCAAiC,+HAA+H,qBAAqB,GAAG,gEAAgE,EAAE,UAAU,gBAAgB,8BAA8B,qBAAqB,EAAE,2BAA2B,EAAE,gFAAgF,mCAAmC,yNAAyN,yBAAyB,gEAAgE,sDAAsD,KAAK,EAAE,8BAA8B,uGAAuG,kBAAkB,4BAA4B,uDAAuD,GAAG,0BAA0B,EAAE,uCAAuC,YAAY,mBAAmB,KAAK,4BAA4B,iJAAiJ,mCAAmC,GAAG,sBAAsB,UAAU,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,iBAAiB,mBAAmB,6BAA6B,mBAAmB,sEAAsE,4BAA4B,IAAI,iCAAiC,2DAA2D,OAAO,SAAS,SAAS,QAAQ,IAAI,8BAA8B,QAAQ,cAAc,SAAS,qBAAqB,aAAa,qCAAqC,oDAAoD,oDAAoD,6CAA6C,sFAAsF,kBAAkB,iKAAiK,GAAG,iBAAiB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,uCAAuC,SAAS,oBAAoB,kBAAkB,cAAc,eAAe,8EAA8E,yHAAyH,UAAU,gBAAgB,8CAA8C,qCAAqC,EAAE,uCAAuC,sCAAsC,EAAE,gDAAgD,+CAA+C,mCAAmC,GAAG,eAAe,+BAA+B,wBAAwB,sBAAsB,IAAI,qDAAqD,QAAQ,gCAAgC,aAAa,SAAS,+CAA+C,YAAY,UAAU,QAAQ,YAAY,WAAW,KAAK,WAAW,sBAAsB,mCAAmC,qCAAqC,GAAG,OAAO,kCAAkC,YAAY,wBAAwB,oCAAoC,0BAA0B,aAAa,iBAAiB,KAAK,KAAK,WAAW,kCAAkC,mCAAmC,KAAK,KAAK,uDAAuD,wCAAwC,kEAAkE,OAAO,aAAa,wHAAwH,oBAAoB,oCAAoC,yBAAyB,GAAG,OAAO,wBAAwB,sKAAsK,oBAAoB,yCAAyC,yBAAyB,UAAU,6BAA6B,uBAAuB,MAAM,cAAc,qBAAqB,KAAK,kBAAkB,OAAO,YAAY,WAAW,iBAAiB,+GAA+G,OAAO,gDAAgD,gEAAgE,gBAAgB,4EAA4E,qBAAqB,EAAE,YAAY,WAAW,KAAK,oCAAoC,qEAAqE,kBAAkB,kBAAkB,YAAY,WAAW,KAAK,uDAAuD,qCAAqC,mBAAmB,cAAc,eAAe,qEAAqE,cAAc,4BAA4B,eAAe,6BAA6B,iBAAiB,cAAc,UAAU,uCAAuC,SAAS,sCAAsC,sBAAsB,+BAA+B,yEAAyE,gSAAgS,gDAAgD,sCAAsC,uBAAuB,qDAAqD,sBAAsB,yFAAyF,YAAY,WAAW,KAAK,WAAW,eAAe,YAAY,wBAAwB,iCAAiC,YAAY,qKAAqK,UAAU,OAAO,uBAAuB,yFAAyF,YAAY,WAAW,KAAK,WAAW,gBAAgB,YAAY,wBAAwB,kCAAkC,YAAY,MAAM,4LAA4L,YAAY,oBAAoB,kBAAkB,4BAA4B,+BAA+B,mCAAmC,sCAAsC,mBAAmB,YAAY,sCAAsC,KAAK,uCAAuC,YAAY,oCAAoC,8HAA8H,6BAA6B,4BAA4B,8BAA8B,6BAA6B,IAAI,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,qFAAqF,YAAY,wBAAwB,KAAK,MAAM,oBAAoB,eAAe,cAAc,YAAY,8BAA8B,4DAA4D,sCAAsC,YAAY,6BAA6B,KAAK,iCAAiC,kEAAkE,EAAE,EAAE,0BAA0B,mBAAmB,YAAY,wBAAwB,4DAA4D,sCAAsC,YAAY,6BAA6B,KAAK,6BAA6B,sBAAsB,mCAAmC,4BAA4B,UAAU,cAAc,YAAY,6BAA6B,KAAK,6BAA6B,gEAAgE,YAAY,wBAAwB,oCAAoC,6BAA6B,KAAK,6BAA6B,oBAAoB,YAAY,kBAAkB,sCAAsC,6BAA6B,KAAK,6BAA6B,0BAA0B,qBAAqB,gEAAgE,sCAAsC,gDAAgD,cAAc,iBAAiB,oCAAoC,gBAAgB,GAAG,UAAU,cAAc,UAAU,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,iBAAiB,mBAAmB,6BAA6B,mBAAmB,sEAAsE,4BAA4B,IAAI,iCAAiC,2DAA2D,OAAO,SAAS,SAAS,QAAQ,IAAI,8BAA8B,QAAQ,cAAc,SAAS,qBAAqB,aAAa,qCAAqC,oDAAoD,oDAAoD,6CAA6C,sFAAsF,kBAAkB,iKAAiK,GAAG,iBAAiB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,iBAAiB,8EAA8E,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,iBAAiB,+CAA+C,uBAAuB,OAAO,eAAe,iBAAiB,4DAA4D,mCAAmC,qCAAqC,IAAI,2EAA2E,OAAO,SAAS,UAAU,GAAG,kBAAkB,cAAc,MAAM,2BAA2B,mCAAmC,+BAA+B,mBAAmB,iBAAiB,6DAA6D,oGAAoG,SAAS,MAAM,eAAe,kEAAkE,6CAA6C,KAAK,uCAAuC,SAAS,oBAAoB,8FAA8F,iBAAiB,mBAAmB,gGAAgG,0BAA0B,wBAAwB,YAAY,0BAA0B,KAAK,6BAA6B,4GAA4G,SAAS,sDAAsD,KAAK,SAAS,0DAA0D,YAAY,eAAe,qDAAqD,kDAAkD,OAAO,OAAO,4GAA4G,SAAS,sDAAsD,YAAY,WAAW,KAAK,sCAAsC,mBAAmB,eAAe,iCAAiC,kDAAkD,wEAAwE,cAAc,EAAE,iBAAiB,+EAA+E,oDAAoD,WAAW,6EAA6E,0BAA0B,WAAW,KAAK,WAAW,0BAA0B,QAAQ,2CAA2C,YAAY,KAAK,YAAY,KAAK,YAAY,aAAa,8BAA8B,aAAa,YAAY,6BAA6B,KAAK,6BAA6B,kFAAkF,oBAAoB,8BAA8B,YAAY,yCAAyC,uCAAuC,KAAK,oBAAoB,KAAK,MAAM,4BAA4B,uBAAuB,EAAE,mCAAmC,EAAE,mCAAmC,EAAE,+BAA+B,EAAE,mCAAmC,IAAI,wCAAwC,EAAE,wCAAwC,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,yCAAyC,EAAE,wCAAwC,EAAE,qCAAqC,EAAE,wCAAwC,SAAS,iCAAiC,YAAY,6BAA6B,KAAK,yCAAyC,8CAA8C,eAAe,4GAA4G,0CAA0C,aAAa,qCAAqC,aAAa,MAAM,kBAAkB,aAAa,0CAA0C,gBAAgB,4BAA4B,gBAAgB,EAAE,0CAA0C,2CAA2C,iBAAiB,uCAAuC,mCAAmC,6BAA6B,wBAAwB,0BAA0B,oBAAoB,2BAA2B,qCAAqC,gDAAgD,yBAAyB,YAAY,iCAAiC,mBAAmB,qCAAqC,sBAAsB,oCAAoC,wDAAwD,KAAK,KAAK,6BAA6B,6DAA6D,cAAc,+EAA+E,oDAAoD,cAAc,UAAU,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,mBAAmB,+EAA+E,oBAAoB,KAAK,6DAA6D,EAAE,SAAS,MAAM,MAAM,2CAA2C,oCAAoC,YAAY,iBAAiB,+CAA+C,uBAAuB,OAAO,eAAe,iBAAiB,4DAA4D,mCAAmC,qCAAqC,IAAI,2EAA2E,OAAO,SAAS,UAAU,GAAG,kBAAkB,cAAc,MAAM,2BAA2B,mCAAmC,+BAA+B,mBAAmB,iBAAiB,6DAA6D,oGAAoG,SAAS,MAAM,eAAe,kEAAkE,6CAA6C,KAAK,iBAAiB,8EAA8E,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,mBAAmB,yCAAyC,uCAAuC,SAAS,kCAAkC,kBAAkB,aAAa,WAAW,mOAAmO,MAAM,SAAS,wBAAwB,cAAc,mBAAmB,8PAA8P,eAAe,iCAAiC,mCAAmC,WAAW,8BAA8B,eAAe,4GAA4G,0CAA0C,aAAa,qCAAqC,aAAa,MAAM,YAAY,aAAa,0CAA0C,cAAc,4BAA4B,8EAA8E,4BAA4B,QAAQ,EAAE,6BAA6B,2IAA2I,kBAAkB,GAAG,EAAE,+BAA+B,mBAAmB,KAAK,kBAAkB,cAAc,uCAAuC,wBAAwB,WAAW,GAAG,EAAE,+BAA+B,YAAY,2BAA2B,KAAK,kCAAkC,kCAAkC,EAAE,6BAA6B,2CAA2C,EAAE,0CAA0C,oEAAoE,EAAE,oCAAoC,mCAAmC,yCAAyC,oHAAoH,wEAAwE,6BAA6B,IAAI,EAAE,IAAI,KAAK,8BAA8B,wBAAwB,8BAA8B,wBAAwB,EAAE,0CAA0C,wBAAwB,EAAE,aAAa,EAAE,sCAAsC,qCAAqC,qBAAqB,oBAAoB,MAAM,sBAAsB,gBAAgB,mIAAmI,oCAAoC,GAAG,EAAE,uCAAuC,uEAAuE,mJAAmJ,oCAAoC,GAAG,EAAE,oCAAoC,YAAY,wBAAwB,0CAA0C,UAAU,EAAE,sCAAsC,0BAA0B,6CAA6C,EAAE,2BAA2B,sCAAsC,KAAK,GAAG,iBAAiB,8KAA8K,eAAe,gCAAgC,YAAY,UAAU,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,uCAAuC,SAAS,4BAA4B,yCAAyC,cAAc,mBAAmB,mBAAmB,8FAA8F,UAAU,uCAAuC,SAAS,oBAAoB,wBAAwB,UAAU,uCAAuC,SAAS,oBAAoB,wBAAwB,UAAU,iBAAiB,mBAAmB,6BAA6B,mBAAmB,sEAAsE,4BAA4B,IAAI,iCAAiC,2DAA2D,OAAO,SAAS,SAAS,QAAQ,IAAI,8BAA8B,QAAQ,cAAc,SAAS,qBAAqB,aAAa,qCAAqC,oDAAoD,oDAAoD,6CAA6C,sFAAsF,kBAAkB,iKAAiK,GAAG,iBAAiB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,uCAAuC,SAAS,oBAAoB,uBAAuB,2FAA2F,4BAA4B,sBAAsB,mBAAmB,2CAA2C,wCAAwC,4BAA4B,QAAQ,MAAM,6BAA6B,KAAK,WAAW,KAAK,qFAAqF,sGAAsG,UAAU,mCAAmC,UAAU,uCAAuC,SAAS,yCAAyC,6BAA6B,mBAAmB,uCAAuC,6BAA6B,mBAAmB,mCAAmC,6BAA6B,mBAAmB,EAAE,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,kCAAkC,uBAAuB,uCAAuC,wCAAwC,cAAc,UAAU,iBAAiB,qBAAqB,iCAAiC,sCAAsC,4BAA4B,uDAAuD,sBAAsB,SAAS,eAAe,YAAY,mBAAmB,KAAK,yCAAyC,0CAA0C,aAAa,sIAAsI,gEAAgE,GAAG,SAAS,mBAAmB,yCAAyC,kDAAkD,WAAW,uCAAuC,SAAS,mCAAmC,QAAQ,kBAAkB,2GAA2G,mEAAmE,gCAAgC,6BAA6B,qBAAqB,6HAA6H,4FAA4F,KAAK,oCAAoC,kBAAkB,yCAAyC,oCAAoC,8FAA8F,MAAM,iBAAiB,oDAAoD,yBAAyB,4DAA4D,sBAAsB,IAAI,gCAAgC,oBAAoB,EAAE,uCAAuC,MAAM,EAAE,gEAAgE,aAAa,wFAAwF,oBAAoB,WAAW,yDAAyD,mBAAmB,iCAAiC,0CAA0C,qBAAqB,yDAAyD,MAAM,gBAAgB,uBAAuB,KAAK,iBAAiB,uBAAuB,kBAAkB,6CAA6C,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,oBAAoB,gBAAgB,UAAU,cAAc,UAAU,uCAAuC,SAAS,sCAAsC,6BAA6B,mBAAmB,EAAE,UAAU,mBAAmB,iIAAiI,uCAAuC,SAAS,yDAAyD,QAAQ,kBAAkB,mHAAmH,8BAA8B,aAAa,EAAE,SAAS,4BAA4B,MAAM,uDAAuD,wDAAwD,wIAAwI,WAAW,iBAAiB,wFAAwF,MAAM,sBAAsB,qHAAqH,WAAW,sEAAsE,eAAe,0CAA0C,cAAc,UAAU,uCAAuC,SAAS,qCAAqC,QAAQ,wCAAwC,KAAK,yCAAyC,iBAAiB,8CAA8C,WAAW,KAAK,WAAW,oBAAoB,SAAS,QAAQ,wCAAwC,4DAA4D,MAAM,gEAAgE,gBAAgB,MAAM,QAAQ,WAAW,qEAAqE,iBAAiB,0EAA0E,MAAM,sBAAsB,gDAAgD,8CAA8C,+RAA+R,WAAW,0DAA0D,oBAAoB,+CAA+C,cAAc,UAAU,uCAAuC,SAAS,oCAAoC,sBAAsB,kBAAkB,OAAO,+BAA+B,sBAAsB,2BAA2B,yDAAyD,mBAAmB,8CAA8C,cAAc,UAAU,uCAAuC,SAAS,oCAAoC,QAAQ,uBAAuB,KAAK,sBAAsB,QAAQ,kBAAkB,iCAAiC,iBAAiB,6DAA6D,MAAM,oIAAoI,WAAW,wCAAwC,iDAAiD,2BAA2B,0XAA0X,WAAW,0CAA0C,mBAAmB,8CAA8C,cAAc,UAAU,uCAAuC,SAAS,sCAAsC,6BAA6B,mBAAmB,EAAE,UAAU,uCAAuC,SAAS,4BAA4B,QAAQ,kBAAkB,mIAAmI,4BAA4B,+IAA+I,KAAK,SAAS,+BAA+B,iDAAiD,KAAK,8CAA8C,uBAAuB,QAAQ,kBAAkB,uBAAuB,8CAA8C,OAAO,2EAA2E,mBAAmB,2BAA2B,KAAK,iBAAiB,6IAA6I,SAAS,wCAAwC,YAAY,WAAW,8DAA8D,IAAI,KAAK,4BAA4B,qDAAqD,kJAAkJ,EAAE,WAAW,iDAAiD,SAAS,KAAK,WAAW,KAAK,qEAAqE,0OAA0O,gEAAgE,WAAW,+GAA+G,WAAW,sCAAsC,cAAc,UAAU,iBAAiB,mBAAmB,6BAA6B,mBAAmB,sEAAsE,4BAA4B,IAAI,iCAAiC,2DAA2D,OAAO,SAAS,SAAS,QAAQ,IAAI,8BAA8B,QAAQ,cAAc,SAAS,qBAAqB,aAAa,qCAAqC,oDAAoD,oDAAoD,6CAA6C,sFAAsF,kBAAkB,iKAAiK,GAAG,iBAAiB,oCAAoC,uBAAuB,IAAI,cAAc,SAAS,uCAAuC,SAAS,gCAAgC,QAAQ,kBAAkB,oCAAoC,kBAAkB,SAAS,SAAS,8BAA8B,yBAAyB,kCAAkC,QAAQ,gBAAgB,oHAAoH,iBAAiB,oEAAoE,2BAA2B,0BAA0B,yBAAyB,YAAY,yBAAyB,KAAK,kCAAkC,uCAAuC,YAAY,wBAAwB,KAAK,4CAA4C,mBAAmB,kBAAkB,OAAO,2BAA2B,qBAAqB,qBAAqB,WAAW,2DAA2D,eAAe,0CAA0C,cAAc,UAAU,uCAAuC,SAAS,iCAAiC,QAAQ,kBAAkB,cAAc,+HAA+H,kFAAkF,gCAAgC,SAAS,GAAG,gBAAgB,2CAA2C,cAAc,UAAU,uCAAuC,SAAS,sCAAsC,6BAA6B,mBAAmB,EAAE,UAAU,uCAAuC,SAAS,sCAAsC,6BAA6B,mBAAmB,EAAE,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,4PAA4P,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,mCAAmC,uBAAuB,gGAAgG,+CAA+C,0CAA0C,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,UAAU,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,iBAAiB,YAAY,WAAW,KAAK,WAAW,+GAA+G,iBAAiB,+CAA+C,uBAAuB,OAAO,eAAe,iBAAiB,4DAA4D,mCAAmC,qCAAqC,IAAI,2EAA2E,OAAO,SAAS,UAAU,GAAG,kBAAkB,cAAc,MAAM,2BAA2B,mCAAmC,+BAA+B,mBAAmB,iBAAiB,yDAAyD,eAAe,oGAAoG,SAAS,eAAe,kEAAkE,6CAA6C,KAAK,uCAAuC,SAAS,oCAAoC,mBAAmB,eAAe,4GAA4G,0CAA0C,aAAa,qCAAqC,aAAa,MAAM,kBAAkB,wBAAwB,MAAM,iBAAiB,8EAA8E,maAAma,2BAA2B,wCAAwC,4BAA4B,yFAAyF,kDAAkD,SAAS,gBAAgB,wCAAwC,gBAAgB,yEAAyE,EAAE,mCAAmC,gBAAgB,yEAAyE,EAAE,sCAAsC,qCAAqC,mCAAmC,cAAc,8BAA8B,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,mGAAmG,iHAAiH,YAAY,+BAA+B,oBAAoB,2BAA2B,2CAA2C,6BAA6B,qBAAqB,QAAQ,2BAA2B,mCAAmC,0DAA0D,8EAA8E,0DAA0D,KAAK,mCAAmC,eAAe,sHAAsH,sFAAsF,KAAK,WAAW,KAAK,WAAW,mDAAmD,4BAA4B,kBAAkB,mBAAmB,KAAK,kDAAkD,WAAW,8CAA8C,IAAI,0DAA0D,IAAI,KAAK,cAAc,iCAAiC,4BAA4B,0DAA0D,uBAAuB,yDAAyD,IAAI,MAAM,qCAAqC,eAAe,uEAAuE,wDAAwD,SAAS,QAAQ,8DAA8D,iBAAiB,+IAA+I,4BAA4B,eAAe,EAAE,WAAW,8EAA8E,KAAK,WAAW,KAAK,WAAW,wBAAwB,iBAAiB,wCAAwC,kNAAkN,8CAA8C,mBAAmB,+DAA+D,MAAM,kCAAkC,SAAS,iBAAiB,0GAA0G,iEAAiE,0BAA0B,iFAAiF,KAAK,WAAW,KAAK,WAAW,mDAAmD,2DAA2D,sEAAsE,cAAc,eAAe,0DAA0D,uDAAuD,UAAU,cAAc,UAAU,eAAe,oBAAoB,sFAAsF,uCAAuC,SAAS,oBAAoB,QAAQ,mDAAmD,wBAAwB,sBAAsB,0FAA0F,iEAAiE,0CAA0C,GAAG,gCAAgC,qBAAqB,0CAA0C,qCAAqC,iEAAiE,8BAA8B,gDAAgD,mDAAmD,sBAAsB,0DAA0D,IAAI,QAAQ,GAAG,cAAc,UAAU,eAAe,gDAAgD,uCAAuC,SAAS,oBAAoB,QAAQ,4DAA4D,qBAAqB,6BAA6B,oCAAoC,4CAA4C,uBAAuB,+CAA+C,YAAY,8CAA8C,kDAAkD,4CAA4C,2BAA2B,iEAAiE,0BAA0B,gBAAgB,EAAE,GAAG,gCAAgC,qBAAqB,6BAA6B,qBAAqB,kCAAkC,iCAAiC,2GAA2G,KAAK,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,QAAQ,wCAAwC,kEAAkE,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,UAAU,eAAe,qBAAqB,0DAA0D,uBAAuB,0IAA0I,0BAA0B,oBAAoB,8CAA8C,oFAAoF,YAAY,yDAAyD,mBAAmB,IAAI,KAAK,6BAA6B,MAAM,YAAY,SAAS,YAAY,mBAAmB,sBAAsB,sBAAsB,0BAA0B,qBAAqB,KAAK,8DAA8D,mJAAmJ,8CAA8C,mBAAmB,UAAU,oGAAoG,8BAA8B,YAAY,aAAa,KAAK,WAAW,KAAK,uBAAuB,oCAAoC,SAAS,GAAG,YAAY,uCAAuC,SAAS,kCAAkC,QAAQ,kCAAkC,kCAAkC,oBAAoB,oGAAoG,cAAc,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,UAAU,uCAAuC,SAAS,qBAAqB,eAAe,UAAU,uCAAuC,SAAS,oBAAoB,cAAc,QAAQ,YAAY,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,+CAA+C,SAAS,qcAAqc,2CAA2C,4BAA4B,kBAAkB,mDAAmD,sBAAsB,UAAU,4CAA4C,QAAQ,YAAY,eAAe,kFAAkF,gBAAgB,aAAa,oGAAoG,KAAK,+CAA+C,SAAS,4BAA4B,kBAAkB,mDAAmD,sBAAsB,UAAU,mDAAmD;AACxv+H;;;;;;;;;ACFa;;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;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACzDA,cAAc;;;;;;;;ACAd,WAAW,mBAAO,CAAC,MAAS;AAC5B,aAAa,mBAAO,CAAC,MAAW;AAChC;AACA,kDAAkD;;AAElD;AACA,qEAAqE;AACrE,CAAC;AACD;AACA,QAAQ,mBAAO,CAAC,MAAY;AAC5B;AACA,CAAC;;;;;;;;;ACXY;AACb,cAAc,mBAAO,CAAC,MAAW;AACjC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAU;AAC9B;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,CAAC,MAAM,mBAAO,CAAC,MAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACtBD,6BAA6B;AAC7B,uCAAuC;;;;;;;;;ACD1B;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnDA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,WAAW,mBAAO,CAAC,MAAS;AAC5B,eAAe,mBAAO,CAAC,MAAa;AACpC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,uBAAuB;AACzG,iEAAiE;AACjE,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;AC1CA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAc;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACRA;AAAA;AAAA;AAAgf,CAAgB,shBAAG,EAAC,C;;;;;;;ACApgB;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B;AACA,6BAA6B;AAC7B;AACA;AACA,qDAAqD,OAAO,EAAE;AAC9D;;;;;;;;;ACTa;;AAEb,cAAc,mBAAO,CAAC,MAAY;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACpBA,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;;;;;;;ACJA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;AACA;;;;;;;;ACLA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;AC7DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;ACLA,uBAAuB;AACvB;AACA;AACA;;;;;;;;ACHA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAga;AACtb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;;ACRrE;AACb;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,cAAc,mBAAO,CAAC,MAAgB;AACtC,WAAW,mBAAO,CAAC,MAAgB;AACnC,UAAU,mBAAO,CAAC,MAAe;AACjC,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,MAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACrCD;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;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,EAA+C;AAClDM,OAAK,CAAC3J,OAAN,CAAc,UAAUoH,MAAV,EAAkB0C,KAAlB,EAAyB;AACnC,QAAI1C,MAAM,CAACwC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;;;;;;;AC9kBY;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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;A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A,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;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ACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;AACI;;;;;;;;ACHtB;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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 7a13c66a..e2d5877c 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",v="keys",h="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 E)return E[e];switch(e){case v:return function(){return new n(this,e)};case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==h,M=!1,E=e.prototype,k=E[f]||E[p]||m&&E[m],T=k||_(m),z=m?S?_("entries"):T:void 0,D="Array"==t&&E.entries||k;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&&k&&k.name!==h&&(M=!0,T=function(){return k.call(this)}),r&&!w||!d&&!M&&E[f]||a(E,f,T),s[t]=T,s[j]=g,m)if(x={values:S?T:_(h),keys:b?T:_(v),entries:z},w)for(O in x)O in E||o(E,O,x[O]);else i(i.P+i.F*(d||M),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")}},"1ca7":function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return u}));var r="auto";function i(){return"undefined"!==typeof document}function o(){return"undefined"!==typeof window}function a(){if(!i())return r;var e="undefined"!==typeof document.dir?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir");return e}function s(e,t){o?window.addEventListener(e,t):t()}function u(e,t){o&&window.removeEventListener(e,t)}},"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)}},"2af9":function(e,t,n){"use strict";(function(e){n.d(t,"d",(function(){return a}));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var r=n("bc21");n.d(t,"a",(function(){return r["a"]}));var i=n("37c8");n.d(t,"b",(function(){return i["a"]}));var o={GridLayout:i["a"],GridItem:r["a"]};function a(e){a.installed||(a.installed=!0,Object.keys(o).forEach((function(t){e.component(t,o[t])})))}var s={install:a},u=null;"undefined"!==typeof window?u=window.Vue:"undefined"!==typeof e&&(u=e.Vue),u&&u.use(s),t["c"]=o}).call(this,n("c8ba"))},"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}},"37c8":function(e,t,n){"use strict";var r=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)},i=[],o=(n("8e6e"),n("cadf"),n("456d"),n("f751"),n("fca0"),n("ac6a"),n("85f2")),a=n.n(o);function s(e,t,n){return t in e?a()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n("c5f6");var u=n("8bbf"),l=n.n(u),c=n("a2b6");n("55dd");function f(e,t){for(var n=v(e),r=n[0],i=1,o=n.length;ie[a]&&(r=a)}return r}function d(e,t){if(!t[e])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]}function p(e,t,n,r,i,o,a){if(t[r])return Object(c["b"])(t[r]);for(var s=e,u=v(n),l=u.slice(u.indexOf(r)),f=0,d=l.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()}Object(c["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight(),this.$emit("layout-updated",this.layout)}},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){var e=Object(c["a"])(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return e}},dragEvent:function(e,t,n,r,i,o){var a=Object(c["f"])(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=Object(c["g"])(this.layout,a,n,r,!0,this.preventCollision),Object(c["c"])(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=Object(c["f"])(this.layout,t);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=Object(c["e"])(this.layout,m({},s,{w:o,h:i})).filter((function(e){return e.i!==s.i}));if(a=u.length>0,a){var l=1/0,f=1/0;u.forEach((function(e){e.x>s.x&&(l=Math.min(l,e.x)),e.y>s.y&&(f=Math.min(f,e.y))})),Number.isFinite(l)&&(s.w=l-s.x),Number.isFinite(f)&&(s.h=f-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(),Object(c["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===e&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var e=f(this.breakpoints,this.width),t=d(e,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=Object(c["b"])(this.layout));var n=p(this.originalLayout,this.layouts,this.breakpoints,e,this.lastBreakpoint,t,this.verticalCompact);this.layouts[e]=n,this.lastBreakpoint!==e&&this.$emit("breakpoint-changed",e,n),this.$emit("update:layout",n),this.lastBreakpoint=e,this.eventBus.$emit("setColNum",d(e,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},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)}}},x=w,O=(n("e279"),n("2877")),P=Object(O["a"])(x,r,i,!1,null,null,null);t["a"]=P.exports},"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;cc){var p,v=u(arguments[c++]),h=f?i(v).concat(f(v)):i(v),g=h.length,y=0;while(g>y)p=h[y++],r&&!d.call(v,p)||(n[p]=v[p])}return n}:l},7726: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)},"77f1":function(e,t,n){var r=n("4588"),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},"794b":function(e,t,n){e.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"79e5":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"7f20":function(e,t,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},"7f7f":function(e,t,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},8378:function(e,t){var n=e.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(e,t){e.exports={}},"85f2":function(e,t,n){e.exports=n("454f")},"86cc":function(e,t,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;t.f=n("9e1e")?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}},"8b97":function(e,t,n){var r=n("d3f4"),i=n("cb7c"),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},"8bbf":function(t,n){t.exports=e},"8e60":function(e,t,n){e.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(e,t,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),s=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(e){var t,n,r=o(e),u=a.f,l=i(r),c={},f=0;while(l.length>f)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}))},a2b6:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return s})),n.d(t,"d",(function(){return l})),n.d(t,"f",(function(){return c})),n.d(t,"e",(function(){return d})),n.d(t,"g",(function(){return v})),n.d(t,"j",(function(){return g})),n.d(t,"k",(function(){return y})),n.d(t,"h",(function(){return m})),n.d(t,"i",(function(){return b})),n.d(t,"l",(function(){return x}));n("a481"),n("cadf"),n("456d"),n("ac6a"),n("55dd");function r(e){for(var t,n=0,r=0,i=e.length;rn&&(n=t);return n}function i(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 s(e,t){for(var n=p(e),r=w(e),i=Array(e.length),o=0,a=r.length;o0&&!f(e,t))t.y--;var r;while(r=f(e,t))t.y=r.y+r.h;return t}function l(e,t){for(var n=p(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(f(n,o))o.y++;else n.push(o)}return e}function c(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=w(e);u&&(l=l.reverse());var c=d(l,t);if(o&&c.length)return t.x=a,t.y=s,t.moved=!1,e;for(var f=0,p=c.length;fv.y&&t.y-v.y>v.h/4||(e=v.static?h(e,v,t,i):h(e,t,v,i)))}return e}function h(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),!f(e,o))return v(e,n,void 0,o.y,i)}return v(e,n,void 0,n.y+1,i)}function g(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 y(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 m(e,t,n,r){return{top:e+"px",left:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function b(e,t,n,r){return{top:e+"px",right:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function w(e){return[].concat(e).sort((function(e,t){return e.y===t.y&&e.x===t.x?0:e.y>t.y||e.y===t.y&&e.x>t.x?1:-1}))}function x(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;r]*>)/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;nthis.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?Object(o["k"])(t.top,t.right,t.width,t.height):Object(o["j"])(t.top,t.left,t.width,t.height):this.renderRtl?Object(o["i"])(t.top,t.right,t.width,t.height):Object(o["h"])(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=a(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 s=e.target.offsetParent.getBoundingClientRect(),l=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(l.right-s.right):o.left=l.left-s.left,o.top=l.top-s.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var c=e.target.offsetParent.getBoundingClientRect(),f=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(f.right-c.right):o.left=f.left-c.left,o.top=f.top-c.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var d=u(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-d.deltaX:o.left=this.dragging.left+d.deltaX,o.top=this.dragging.top+d.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=f(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=f(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))}}},p=d,v=(n("5ed4"),n("2877")),h=Object(v["a"])(p,r,i,!1,null,null,null);t["a"]=h.exports},be13:function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},c274:function(e,t,n){"use strict";var r=n("50bf");function i(){var e={},t=0,n=0,r=0;function i(i,o){o||(o=i,i=0),i>n?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}))},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},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)},f751:function(e,t,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},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]));var i=n("2af9");n.d(t,"install",(function(){return i["d"]})),n.d(t,"GridLayout",(function(){return i["b"]})),n.d(t,"GridItem",(function(){return i["a"]}));t["default"]=i["c"]},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=c?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1156:function(t,e,n){var r=n("ad20");"string"===typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),u)try{return c(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),s=a.length,u=0;while(s>u)r.f(t,n=a[u++],e[n]);return t}},"18d2":function(t,e,n){"use strict";var r=n("18e9");t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState;if(!e)throw new Error("Missing required dependency: reporter.");function o(t,e){if(!s(t))throw new Error("Element is not detectable by this strategy.");function n(){e(t)}if(r.isIE(8))i(t).object={proxy:n},t.attachEvent("onresize",n);else{var o=s(t);o.contentDocument.defaultView.addEventListener("resize",n)}}function a(t,o,a){a||(a=o,o=t,t=null),t=t||{};t.debug;function s(t,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(t),c=t.offsetWidth,l=t.offsetHeight;function f(){function n(){if("static"===u.position){t.style.position="relative";var n=function(t,e,n,r){function i(t){return t.replace(/[^-\d\.]/g,"")}var o=n[r];"auto"!==o&&"0"!==i(o)&&(t.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: ",e),e.style[r]=0)};n(e,t,u,"top"),n(e,t,u,"right"),n(e,t,u,"bottom"),n(e,t,u,"left")}}function c(){function e(t,n){t.contentDocument?n(t.contentDocument):setTimeout((function(){e(t,n)}),100)}s||n();var r=this;e(r,(function(e){o(t)}))}""!==u.position&&(n(u),s=!0);var l=document.createElement("object");l.style.cssText=a,l.tabIndex=-1,l.type="text/html",l.setAttribute("aria-hidden","true"),l.onload=c,r.isIE()||(l.data="about:blank"),t.appendChild(l),i(t).object=l,r.isIE()&&(l.data="about:blank")}i(t).startSize={width:c,height:l},n?n.add(f):f()}r.isIE(8)?a(o):s(o,a)}function s(t){return i(t).object}function u(t){r.isIE(8)?t.detachEvent("onresize",i(t).object.proxy):t.removeChild(s(t)),delete i(t).object}return{makeDetectable:a,addListener:o,uninstall:u}}},"18e9":function(t,e,n){"use strict";var r=t.exports={};r.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return-1!==t.indexOf("msie")||-1!==t.indexOf("trident")||-1!==t.indexOf(" edge/")}if(!e())return!1;if(!t)return!0;var n=function(){var t,e=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++e+"]>4?e:t}();return t===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1ca7":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"a",(function(){return s})),n.d(e,"c",(function(){return u}));var r="auto";function i(){return"undefined"!==typeof document}function o(){return"undefined"!==typeof window}function a(){if(!i())return r;var t="undefined"!==typeof document.dir?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir");return t}function s(t,e){o?window.addEventListener(t,e):e()}function u(t,e){o&&window.removeEventListener(t,e)}},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),c=s("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=s(t),p=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),h=p?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!e})):void 0;if(!p||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[d],g=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===u?p&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),y=g[0],m=g[1];r(String.prototype,t,y),i(RegExp.prototype,d,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},2350:function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,n){"string"===typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[u][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2af9":function(t,e,n){"use strict";(function(t){n.d(e,"d",(function(){return a}));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var r=n("bc21");n.d(e,"a",(function(){return r["a"]}));var i=n("37c8");n.d(e,"b",(function(){return i["a"]}));var o={GridLayout:i["a"],GridItem:r["a"]};function a(t){a.installed||(a.installed=!0,Object.keys(o).forEach((function(e){t.component(e,o[e])})))}var s={install:a},u=null;"undefined"!==typeof window?u=window.Vue:"undefined"!==typeof t&&(u=t.Vue),u&&u.use(s),e["c"]=o}).call(this,n("c8ba"))},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},"2cef":function(t,e,n){"use strict";t.exports=function(){var t=1;function e(){return t++}return{generate:e}}},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"37c8":function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:t.mergedStyle},[t._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:t.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:t.placeholder.x,y:t.placeholder.y,w:t.placeholder.w,h:t.placeholder.h,i:t.placeholder.i}})],2)},i=[],o=(n("8e6e"),n("cadf"),n("456d"),n("f751"),n("fca0"),n("ac6a"),n("85f2")),a=n.n(o);function s(t,e,n){return e in t?a()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("c5f6");var u=n("8bbf"),c=n.n(u),l=n("a2b6");n("55dd");function f(t,e){for(var n=h(t),r=n[0],i=1,o=n.length;it[a]&&(r=a)}return r}function d(t,e){if(!e[t])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function p(t,e,n,r,i,o,a){if(e[r])return Object(l["b"])(e[r]);for(var s=t,u=h(n),c=u.slice(u.indexOf(r)),f=0,d=c.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(t):this.originalLayout=this.originalLayout.filter((function(e){return!t.some((function(t){return e.i===t.i}))}))),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight(),this.$emit("layout-updated",this.layout)}},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){var t=Object(l["a"])(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return t}},dragEvent:function(t,e,n,r,i,o){var a=Object(l["f"])(this.layout,e);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===t||"dragstart"===t?(this.placeholder.i=e,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=Object(l["g"])(this.layout,a,n,r,!0,this.preventCollision),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===t&&this.$emit("layout-updated",this.layout)},resizeEvent:function(t,e,n,r,i,o){var a,s=Object(l["f"])(this.layout,e);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=Object(l["e"])(this.layout,m({},s,{w:o,h:i})).filter((function(t){return t.i!==s.i}));if(a=u.length>0,a){var c=1/0,f=1/0;u.forEach((function(t){t.x>s.x&&(c=Math.min(c,t.x)),t.y>s.y&&(f=Math.min(f,t.y))})),Number.isFinite(c)&&(s.w=c-s.x),Number.isFinite(f)&&(s.h=f-s.y)}}a||(s.w=o,s.h=i),"resizestart"===t||"resizemove"===t?(this.placeholder.i=e,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(),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===t&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var t=f(this.breakpoints,this.width),e=d(t,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=Object(l["b"])(this.layout));var n=p(this.originalLayout,this.layouts,this.breakpoints,t,this.lastBreakpoint,e,this.verticalCompact);this.layouts[t]=n,this.lastBreakpoint!==t&&this.$emit("breakpoint-changed",t,n),this.$emit("update:layout",n),this.lastBreakpoint=t,this.eventBus.$emit("setColNum",d(t,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},findDifference:function(t,e){var n=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))})),r=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))}));return n.concat(r)}}},w=x,S=(n("e279"),n("2877")),O=Object(S["a"])(w,r,i,!1,null,null,null);e["a"]=O.exports},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(t){return i(r(t))}}))},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(t,e,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(t,e,n,s){return[function(n){var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=s(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,c))){var h=String(f[0]);d[p]=h,""===h&&(u.lastIndex=o(c,i(u.lastIndex),l)),p++}return 0===p?null:d}]}))},"499e":function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i=m&&(n=i);else n=i}else n=i}var h,g,y,m;return n},S.matchesUpTo=function(t,e,n){for(;o.default.element(t);){if(_(t,e))return!0;if((t=O(t))===n)return _(t,e)}return!1},S.getActualElement=function(t){return t.correspondingUseElement||t},S.getScrollXY=j,S.getElementClientRect=M,S.getElementRect=function(t){var n=M(t);if(!b.default.isIOS7&&n){var r=j(e.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){for(var e=[];t;)e.push(t),t=O(t);return e},S.trySelector=function(t){return!!o.default.string(t)&&(v.default.document.querySelector(t),!0)};var E=function(t){return t.parentNode||t.host};function P(t,e){for(var n,r=[],i=t;(n=E(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function j(t){return{x:(t=t||e.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function M(t){var e=t instanceof v.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var T={};Object.defineProperty(T,"__esModule",{value:!0}),T.default=function(t,e){for(var n in e)t[n]=e[n];return t};var k={};function z(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?G(e):e[0];F(r,t.page),X(r,t.client),t.timeStamp=n},W.getTouchPair=Y,W.pointerAverage=G,W.touchBBox=function(t){if(!t.length)return null;var e=Y(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),i=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},W.touchDistance=function(t,e){var n=e+"X",r=e+"Y",i=Y(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,C.default)(o,a)},W.touchAngle=function(t,e){var n=e+"X",r=e+"Y",i=Y(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI},W.getPointerType=function(t){return o.default.string(t.pointerType)?t.pointerType:o.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof v.default.Touch?"touch":"mouse"},W.getEventTargets=function(t){var e=o.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},W.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},W.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(W,"pointerExtend",{enumerable:!0,get:function(){return H.default}});var V={};function U(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&v<=s.right&&g>=s.top&&g<=s.bottom}if(h&&o.default.number(c)){var y=Math.max(0,Math.min(s.right,h.right)-Math.max(s.left,h.left))*Math.max(0,Math.min(s.bottom,h.bottom)-Math.max(s.top,h.top))/(h.width*h.height);u=y>=c}return t.options.drop.checker&&(u=t.options.drop.checker(e,n,u,t,a,r,i)),u}(this,t,e,n,r,i,a)},n.dynamicDrop=function(e){return o.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,T.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=ht.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var i=n.dropState;i.activeDrops=null,i.events=null,i.activeDrops=ct(e,n.element),i.events=ft(n,0,r),i.events.activate&&(ut(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":pt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(dt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:action-end":function(t,e){if("drag"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;pt(t,e),dt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ct,getDrop:lt,getDropEvents:ft,fireDropEvents:dt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},vt=ht;st.default=vt;var gt={};function yt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var i=e.pointers.map((function(t){return t.pointer})),a="start"===r,s="end"===r,u=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],a)n.distance=W.touchDistance(i,u),n.box=W.touchBBox(i),n.scale=1,n.ds=0,n.angle=W.touchAngle(i,u),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=W.touchDistance(i,u),n.box=W.touchBBox(i),n.scale=n.distance/e.gesture.startDistance,n.angle=W.touchAngle(i,u),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,o.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=void 0;var mt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return o.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):o.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=mt,e.methodDict.gesture="gesturable",r.actions.gesture=mt.defaults},listeners:{"interactions:action-start":yt,"interactions:action-move":yt,"interactions:action-end":yt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},bt=mt;gt.default=bt;var xt={};function wt(t,e,n,r,i,a,s){if(!e)return!1;if(!0===e){var u=o.default.number(a.width)?a.width:a.right-a.left,c=o.default.number(a.height)?a.height:a.bottom-a.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?u:c)/2)),u<0&&("left"===t?t="right":"right"===t&&(t="left")),c<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(u>=0?a.left:a.right)+s;if("top"===t)return n.y<(c>=0?a.top:a.bottom)+s;if("right"===t)return n.x>(u>=0?a.right:a.left)-s;if("bottom"===t)return n.y>(c>=0?a.bottom:a.top)-s}return!!o.default.element(r)&&(o.default.element(e)?e===r:S.matchesUpTo(r,e,i))}function St(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(xt,"__esModule",{value:!0}),xt.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){return o.default.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),o.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),o.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:o.default.bool(e.square)&&(t.options.resize.square=e.square),t):o.default.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",i.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.rect;n._rects={start:(0,T.default)({},i),corrected:(0,T.default)({},i),previous:(0,T.default)({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),St(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.interactable.options.resize.invert,o="reposition"===i||"negate"===i,a=n.rect,s=n._rects,u=s.start,c=s.corrected,l=s.delta,f=s.previous;if((0,T.default)(f,c),o){if((0,T.default)(c,a),"reposition"===i){if(c.top>c.bottom){var d=c.top;c.top=c.bottom,c.bottom=d}if(c.left>c.right){var p=c.left;c.left=c.right,c.right=p}}}else c.top=Math.min(a.top,u.bottom),c.bottom=Math.max(a.bottom,u.top),c.left=Math.min(a.left,u.right),c.right=Math.max(a.right,u.left);for(var h in c.width=c.right-c.left,c.height=c.bottom-c.top,c)l[h]=c[h]-f[h];r.edges=n.prepared.edges,r.rect=c,r.deltaRect=l}}(t),St(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,a=t.buttons;if(i){var s=(0,T.default)({},e.coords.cur.page),u=n.options.resize;if(u&&u.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(a&u.mouseButtons))){if(o.default.object(u.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var l in c)c[l]=wt(l,u.edges[l],s,e._latestPointer.eventTarget,r,i,u.margin||Ot.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:"resize",edges:c})}else{var f="y"!==u.axis&&s.x>i.right-Ot.defaultMargin,d="x"!==u.axis&&s.y>i.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=Ot.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],u=0;u=1){var l={x:At.x*c,y:At.y*c};if(l.x||l.y){var f=Ct(a);o.default.window(a)?a.scrollBy(l.x,l.y):a&&(a.scrollLeft+=l.x,a.scrollTop+=l.y);var d=Ct(a),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:a})}At.prevTime=s}At.isScrolling&&(Mt.default.cancel(At.i),At.i=Mt.default.request(At.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&At.check(e.interactable,e.prepared.name))if(e.simulation)At.x=At.y=0;else{var r,i,a,s,u=e.interactable,c=e.element,l=e.prepared.name,f=u.options[l].autoScroll,d=Dt(f.container,u,c);if(o.default.window(d))s=n.clientXd.innerWidth-At.margin,a=n.clientY>d.innerHeight-At.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-At.margin,a=n.clientY>p.bottom-At.margin}At.x=i?1:s?-1:0,At.y=a?1:r?-1:0,At.isScrolling||(At.margin=f.margin,At.speed=f.speed,At.start(e))}}};function Dt(t,n,r){return(o.default.string(t)?(0,k.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Ct(t){return o.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Ht={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=At,At.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=At.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,At.stop(),At.interaction&&(At.interaction=null)},"interactions:stop":At.stop,"interactions:action-move":function(t){return At.onInteractionMove(t)}}};Rt.default=Ht;var Lt={};Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.window.console.warn(n),r=!0),t.apply(this,arguments)}},Lt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Nt={};function Wt(t){return o.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Bt(t){return o.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.default=void 0;var $t={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,i){var o=function(t,e,n,r,i){var o=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:o,buttons:a};return i.fire("auto-start:check",s),s.action}(this,n,r,i,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,i,r):o},e.prototype.ignoreFrom=(0,Lt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Lt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Bt,e.prototype.styleCursor=Wt}};Nt.default=$t;var Ft={};function Xt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Ut(e,n,t,i)?t:null}function Yt(t,e,n,r,i,o,a){for(var s=0,u=r.length;s=s)return!1;if(d.interactable===t){if((c+=p===n.name?1:0)>=o)return!1;if(d.element===e&&(l++,p===n.name&&l>=a))return!1}}}return s>0}function qt(t,e){return o.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Zt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Kt(t,e){var n=t.interactable,r=t.element,i=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var a="";if(i.name){var s=n.options[i.name].cursorChecker;a=o.default.func(s)?s(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}Zt(t.element,a||"",e)}else e.autoStart.cursorElement&&Zt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.default=void 0;var Jt={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Nt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,T.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return qt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Ut,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||Vt(n,Gt(n,r,i,o,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Vt(n,Gt(n,r,i,o,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,i=n.prepared.name;i&&r&&(r.options[i].manualStart||!Ut(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Kt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Zt(n.element,"",e)}},maxInteractions:qt,withinInteractionLimit:Ut,validateAction:Xt};Ft.default=Jt;var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.default=void 0;var te={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,a=t.dy;if("drag"===n.prepared.name){var s=Math.abs(i),u=Math.abs(a),c=n.interactable.options.drag,l=c.startAxis,f=s>u?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ne(e)>0&&(e.prepared.name=null)}},getHoldDuration:ne};ee.default=re;var ie={};Object.defineProperty(ie,"__esModule",{value:!0}),ie.default=void 0;var oe={id:"auto-start",install:function(t){t.usePlugin(Ft.default),t.usePlugin(ee.default),t.usePlugin(Qt.default)}};ie.default=oe;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0,ae.default={};var se={};function ue(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):o.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function ce(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function le(t){var n=t.Interactable;n.prototype.preventDefault=ue,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var i=t.options.preventDefault;if("never"!==i)if("always"!==i){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var a=(0,e.getWindow)(r.target).document,s=n.getDocOptions(a);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||o.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,i=t.defaults;t.logger=n||console,i.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,T.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Ce(e.prototype,n),r&&Ce(e,r),o}(V.BaseEvent);Ae.InteractEvent=$e,Object.defineProperties($e.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.PointerInfo=void 0,Fe.PointerInfo=function t(e,n,r,i,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};var Xe,Ye,Ge={};function Ve(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:i,duplicate:o,interaction:this};o||W.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),o||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&W.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||W.setZeroCoords(this.coords.delta),(t=(0,T.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var i=this.getPointerIndex(t);-1===i&&(i=this.updatePointer(t,e,n,!1));var o=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(o),{pointer:t,pointerIndex:i,pointerInfo:this.pointers[i],event:e,eventTarget:n,type:o,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=W.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:Z.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var i=W.getPointerId(t),o=this.getPointerIndex(t),a=this.pointers[o];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Fe.PointerInfo(i,t,e,null,null),o=this.pointers.length,this.pointers.push(a)),W.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),W.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,W.pointerExtend(this.downPointer,t),this.interacting()||(W.copyCoords(this.coords.start,this.coords.cur),W.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:o,interaction:this}),o}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Ae.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,i=t.type,o=this.rect;if(o&&"move"===n&&(k.addEdges(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,i);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Ze;var Ke=Ze;Ge.default=Ke;var Je={};function Qe(t){t.pointerIsDown&&(rn(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function tn(t){en(t.interaction)}function en(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return rn(t.coords.cur,e),rn(t.coords.delta,e),k.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function nn(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function rn(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}Object.defineProperty(Je,"__esModule",{value:!0}),Je.addTotal=Qe,Je.applyPending=en,Je.default=void 0,Ge._ProxyMethods.offsetBy="";var on={id:"offset",before:["modifiers","pointer-events","actions","inertia"],install:function(t){t.Interaction.prototype.offsetBy=nn},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return Qe(t.interaction)},"interactions:before-action-start":tn,"interactions:before-action-move":tn,"interactions:before-action-end":function(t){var e=t.interaction;if(en(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};Je.default=on;var an={};function sn(t,e){for(var n=0;nn.minSpeed&&i>n.endSpeed)this.startInertia();else{if(o.result=o.setAll(this.modifierArg),!o.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=cn(this.interaction),r=n.resistance,i=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-i)/r,y:(e.y-i)/r},this.te=i,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var o=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},o.result=o.setAll(a),o.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+o.result.delta.x,y:this.targetOffset.y+o.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:"onNextFrame",value:function(t){var e=this;this.timeout=Mt.default.request((function(){e.active&&t()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,i,o,a,s=this,u=this.interaction,c=cn(u).resistance,l=(u._now()-this.t0)/1e3;if(l=0;n--){var r=e[n],i=r.selector,a=r.context,s=r.listeners;i===this.target&&a===this._context&&e.splice(n,1);for(var u=s.length-1;u>=0;u--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[u][0],s[u][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();mn.Interactable=wn;var Sn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var h=p.listeners,v=h.length-1;v>=0;v--){var g=jn(h[v],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===i&&b===l.capture&&x===l.passive){h.splice(v,1),h.length||(f.splice(a,1),s(e,r,u),s(e,r,c,!0)),d=!0;break}}if(d)break}}},delegateListener:u,delegateUseCapture:c,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function a(t,n,r,o){var a=kn(o),s=Z.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!Z.contains(s.events[n],r)&&(t.addEventListener(n,r,i.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,o){var a=kn(o),u=Z.findIndex(e,(function(e){return e.eventTarget===t})),c=e[u];if(c&&c.events)if("all"!==n){var l=!1,f=c.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function Dn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Cn=An;Rn.default=Cn;var Hn={};function Ln(t){return(Ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Nn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wn(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Zn,doOnInteractions:Un,methodNames:Vn};Hn.default=Kn;var Jn={};function Qn(t){return(Qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tr(t,e,n){return(tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ir(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function er(t,e){return(er=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function nr(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ir(t);if(e){var i=ir(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return rr(this,n)}}function rr(t,e){return!e||"object"!==Qn(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ir(t){return(ir=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function or(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ar(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(u.y),s.coords,s.rect),(0,T.default)(r,s.coords)),s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Tr(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i:n.x=r.x+(n.y-r.y)*i}function kr(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var u=r.width/a;n.y=o.y+(u-i.height)*s}else{var c=r.height*a;n.x=o.x+(c-i.width)*s}}_r.aspectRatio=Mr;var zr=(0,ke.makeModifier)(Mr,"aspectRatio");_r.default=zr;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.default=void 0;var Rr=function(){};Rr._defaults={};var Ar=Rr;Ir.default=Ar;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Object.defineProperty(Dr,"default",{enumerable:!0,get:function(){return Ir.default}});var Cr={};function Hr(t,e,n){return o.default.func(t)?k.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):k.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Cr,"__esModule",{value:!0}),Cr.getRestrictionRect=Hr,Cr.restrict=Cr.default=void 0;var Lr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,u=(0,T.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var c=Hr(a.restriction,i,o);if(c){var l=c.right-c.left-e.width,f=c.bottom-c.top-e.height;l<0&&(u.left+=l,u.right+=l),f<0&&(u.top+=f,u.bottom+=f)}u.left+=n.left-e.width*s.left,u.top+=n.top-e.height*s.top,u.right+=n.right-e.width*(1-s.right),u.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=u},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=Hr(i.restriction,n,e);if(a){var s=k.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Cr.restrict=Lr;var Nr=(0,ke.makeModifier)(Lr,"restrict");Cr.default=Nr;var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.restrictEdges=Wr.default=void 0;var Br={top:1/0,left:1/0,bottom:-1/0,right:-1/0},$r={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Fr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&o.call(a[0],n,(function(){for(l=1;ll){var p,h=u(arguments[l++]),v=f?i(h).concat(f(h)):i(h),g=v.length,y=0;while(g>y)p=v[y++],r&&!d.call(h,p)||(n[p]=h[p])}return n}:c},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},"7f7f":function(t,e,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},8378:function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var r=n("d3f4"),i=n("cb7c"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},"8bbf":function(e,n){e.exports=t},"8e60":function(t,e,n){t.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(t,e,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),s=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),u=a.f,c=i(r),l={},f=0;while(c.length>f)n=u(r,e=c[f++]),void 0!==n&&s(l,e,n);return l}})},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9cbe":function(t,e,n){e=t.exports=n("2350")(!1),e.push([t.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(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a2b6:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return s})),n.d(e,"d",(function(){return c})),n.d(e,"f",(function(){return l})),n.d(e,"e",(function(){return d})),n.d(e,"g",(function(){return h})),n.d(e,"j",(function(){return g})),n.d(e,"k",(function(){return y})),n.d(e,"h",(function(){return m})),n.d(e,"i",(function(){return b})),n.d(e,"l",(function(){return w}));n("a481"),n("cadf"),n("456d"),n("ac6a"),n("55dd");function r(t){for(var e,n=0,r=0,i=t.length;rn&&(n=e);return n}function i(t){for(var e=Array(t.length),n=0,r=t.length;n=e.x+e.w)&&(!(t.y+t.h<=e.y)&&!(t.y>=e.y+e.h))))}function s(t,e){for(var n=p(t),r=x(t),i=Array(t.length),o=0,a=r.length;o0&&!f(t,e))e.y--;var r;while(r=f(t,e))e.y=r.y+r.h;return e}function c(t,e){for(var n=p(t),r=0,i=t.length;re.cols&&(o.x=e.cols-o.w),o.x<0&&(o.x=0,o.w=e.cols),o.static)while(f(n,o))o.y++;else n.push(o)}return t}function l(t,e){for(var n=0,r=t.length;nr;"number"===typeof n&&(e.x=n),"number"===typeof r&&(e.y=r),e.moved=!0;var c=x(t);u&&(c=c.reverse());var l=d(c,e);if(o&&l.length)return e.x=a,e.y=s,e.moved=!1,t;for(var f=0,p=l.length;fh.y&&e.y-h.y>h.h/4||(t=h.static?v(t,h,e,i):v(t,e,h,i)))}return t}function v(t,e,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(e.y-n.h,0),!f(t,o))return h(t,n,void 0,o.y,i)}return h(t,n,void 0,n.y+1,i)}function g(t,e,n,r){var i="translate3d("+e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function y(t,e,n,r){var i="translate3d("+-1*e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function m(t,e,n,r){return{top:t+"px",left:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function b(t,e,n,r){return{top:t+"px",right:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function x(t){return[].concat(t).sort((function(t,e){return t.y===e.y&&t.x===e.x?0:t.y>e.y||t.y===e.y&&t.x>e.x?1:-1}))}function w(t,e){e=e||"Layout";var n=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(var r=0,i=t.length;r]*>)/g,p=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),p="function"===typeof e;p||(e=String(e));var y=f.global;if(y){var m=f.unicode;f.lastIndex=0}var b=[];while(1){var x=u(f,d);if(null===x)break;if(b.push(x),!y)break;var w=String(x[0]);""===w&&(f.lastIndex=s(d,o(f.lastIndex),m))}for(var S="",O=0,_=0;_=O&&(S+=d.slice(O,P)+z,O=P+E.length)}return S+d.slice(O)}];function g(t,e,r,o,a,s){var u=r+t.length,c=o.length,l=p;return void 0!==a&&(a=i(a),l=d),n.call(s,l,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var d=f(l/10);return 0===d?n:d<=c?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[l-1]}return void 0===s?"":s}))}}))},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),f=function(t,e,n){var i={},s=o((function(){return!!a[t]()||u[t]()!=u})),c=i[t]=s?e(d):a[t];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},abb4:function(t,e,n){"use strict";t.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var r=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;nthis.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var t,e=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(e.top=this.dragging.top,this.renderRtl?e.right=this.dragging.left:e.left=this.dragging.left),this.isResizing&&(e.width=this.resizing.width,e.height=this.resizing.height),t=this.useCssTransforms?this.renderRtl?Object(o["k"])(e.top,e.right,e.width,e.height):Object(o["j"])(e.top,e.left,e.width,e.height):this.renderRtl?Object(o["i"])(e.top,e.right,e.width,e.height):Object(o["h"])(e.top,e.left,e.width,e.height),this.style=t},emitContainerResized:function(){for(var t={},e=0,n=["width","height"];ethis.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"!==t.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",t.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(t){if(!this.static&&!this.isResizing){var e=a(t);if(null!==e){var n,r=e.x,i=e.y,o={top:0,left:0};switch(t.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var s=t.target.offsetParent.getBoundingClientRect(),c=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(c.right-s.right):o.left=c.left-s.left,o.top=c.top-s.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var l=t.target.offsetParent.getBoundingClientRect(),f=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(f.right-l.right):o.left=f.left-l.left,o.top=f.top-l.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var d=u(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-d.deltaX:o.left=this.dragging.left+d.deltaX,o.top=this.dragging.top+d.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"!==t.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",t.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(t,e,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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(t,e){var n=this.calcColWidth(),r=Math.round((e-this.margin[0])/(n+this.margin[0])),i=Math.round((t-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 t=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return t},calcWH:function(t,e){var n=this.calcColWidth(),r=Math.round((e+this.margin[0])/(n+this.margin[0])),i=Math.round((t+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(t,e){this.containerWidth=t,void 0!==e&&null!==e&&(this.cols=e)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=f(this.$refs.item)),this.draggable&&!this.static){var e={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(e),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(e){t.handleDrag(e)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=f(this.$refs.item)),this.resizable&&!this.static){var e=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:e.height,width:e.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(e){t.handleResize(e)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var t=this.$slots.default[0].elm.getBoundingClientRect(),e=this.calcWH(t.height,t.width);e.wthis.maxW&&(e.w=this.maxW),e.hthis.maxH&&(e.h=this.maxH),e.h<1&&(e.h=1),e.w<1&&(e.w=1),this.innerW===e.w&&this.innerH===e.h||this.$emit("resize",this.i,e.h,e.w,t.height,t.width),this.previousW===e.w&&this.previousH===e.h||(this.$emit("resized",this.i,e.h,e.w,t.height,t.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,e.h,e.w))}}},p=d,h=(n("5ed4"),n("2877")),v=Object(h["a"])(p,r,i,!1,null,null,null);e["a"]=v.exports},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c274:function(t,e,n){"use strict";var r=n("50bf");function i(){var t={},e=0,n=0,r=0;function i(i,o){o||(o=i,i=0),i>n?n=i:il)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),c=n("9093").f,l=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(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=m?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,u=e.slice(2),c=0,l=u.length;ci)return NaN;return parseInt(u,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(y?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new v(b(e)),n,h):b(e)};for(var x,w=n("9e1e")?c(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(","),S=0;w.length>S;S++)i(v,x=w[S])&&!i(h,x)&&f(h,x,l(v,x));h.prototype=g,g.constructor=h,n("2aba")(r,p,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c946:function(t,e,n){"use strict";var r=n("b770").forEach;t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState,o=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!e)throw new Error("Missing required dependency: reporter.");var a=c(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function c(){var t=500,e=500,n=document.createElement("div");n.style.cssText="position: absolute; width: "+2*t+"px; height: "+2*e+"px; visibility: hidden; margin: 0; padding: 0;";var r=document.createElement("div");r.style.cssText="position: absolute; width: "+t+"px; height: "+e+"px; overflow: scroll; visibility: none; top: "+3*-t+"px; left: "+3*-e+"px; visibility: hidden; margin: 0; padding: 0;",r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=t-r.clientWidth,o=e-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function l(t,e){function n(e,n){n=n||function(t){document.head.appendChild(t)};var r=document.createElement("style");return r.innerHTML=e,r.id=t,n(r),r}if(!document.getElementById(t)){var r=e+"_animation",i=e+"_animation_active",o="/* Created by the element-resize-detector library. */\n";o+="."+e+" > 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(t){t.className+=" "+u+"_animation_active"}function d(t,n,r){if(t.addEventListener)t.addEventListener(n,r);else{if(!t.attachEvent)return e.error("[scroll] Don't know how to add event listeners.");t.attachEvent("on"+n,r)}}function p(t,n,r){if(t.removeEventListener)t.removeEventListener(n,r);else{if(!t.detachEvent)return e.error("[scroll] Don't know how to remove event listeners.");t.detachEvent("on"+n,r)}}function h(t){return i(t).container.childNodes[0].childNodes[0].childNodes[0]}function v(t){return i(t).container.childNodes[0].childNodes[0].childNodes[1]}function g(t,e){var n=i(t).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(t).listeners.push(e)}function y(t,s,c){function l(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),e.log.apply)e.log.apply(null,n);else for(var r=0;r=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,s=i(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);while(e.length>u)r(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d6eb:function(t,e,n){"use strict";var r="_erd";function i(t){return t[r]={},o(t)}function o(t){return t[r]}function a(t){delete t[r]}t.exports={initState:i,getState:o,cleanState:a}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(t,e,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.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(t,e,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),c=n("18e9"),l=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function h(t){return Array.isArray(t)||void 0!==t.length}function v(t){if(Array.isArray(t))return t;var e=[];return r(t,(function(t){e.push(t)})),e}function g(t){return t&&1===t.nodeType}function y(t,e,n){var r=t[e];return void 0!==r&&null!==r||void 0===n?r:n}t.exports=function(t){var e;if(t=t||{},t.idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=a(),m=s({idGenerator:n,stateHandler:f});e=m}var b=t.reporter;if(!b){var x=!1===b;b=u(x)}var w=y(t,"batchProcessor",l({reporter:b})),S={};S.callOnAdd=!!y(t,"callOnAdd",!0),S.debug=!!y(t,"debug",!1);var O,_=o(e),E=i({stateHandler:f}),P=y(t,"strategy","object"),j={reporter:b,batchProcessor:w,stateHandler:f,idHandler:e};if("scroll"===P&&(c.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),P="object"):c.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),P="object")),"scroll"===P)O=p(j);else{if("object"!==P)throw new Error("Invalid strategy name: "+P);O=d(j)}var M={};function T(t,n,i){function o(t){var e=_.get(t);r(e,(function(e){e(t)}))}function a(t,e,n){_.add(e,n),t&&n(e)}if(i||(i=n,n=t,t={}),!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(t,"callOnAdd",S.callOnAdd),c=y(t,"onReady",(function(){})),l=y(t,"debug",S.debug);r(n,(function(t){f.getState(t)||(f.initState(t),e.set(t));var d=e.get(t);if(l&&b.log("Attaching listener to element",d,t),!E.isDetectable(t))return l&&b.log(d,"Not detectable."),E.isBusy(t)?(l&&b.log(d,"System busy making it detectable"),a(u,t,i),M[d]=M[d]||[],void M[d].push((function(){s++,s===n.length&&c()}))):(l&&b.log(d,"Making detectable..."),E.markBusy(t,!0),O.makeDetectable({debug:l},t,(function(t){if(l&&b.log(d,"onElementDetectable"),f.getState(t)){E.markAsDetectable(t),E.markBusy(t,!1),O.addListener(t,o),a(u,t,i);var e=f.getState(t);if(e&&e.startSize){var p=t.offsetWidth,h=t.offsetHeight;e.startSize.width===p&&e.startSize.height===h||o(t)}M[d]&&r(M[d],(function(t){t()}))}else l&&b.log(d,"Element uninstalled before being detectable.");delete M[d],s++,s===n.length&&c()})));l&&b.log(d,"Already detecable, adding listener."),a(u,t,i),s++})),s===n.length&&c()}function k(t){if(!t)return b.error("At least one element is required.");if(g(t))t=[t];else{if(!h(t))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");t=v(t)}r(t,(function(t){_.removeAllListeners(t),O.uninstall(t),f.cleanState(t)}))}return{listenTo:T,removeListener:_.removeListener,removeAllListeners:_.removeAllListeners,uninstall:k}}},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));var i=n("2af9");n.d(e,"install",(function(){return i["d"]})),n.d(e,"GridLayout",(function(){return i["b"]})),n.d(e,"GridItem",(function(){return i["a"]}));e["default"]=i["c"]},fca0:function(t,e,n){var r=n("5ca1"),i=n("7726").isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})["default"]})); //# sourceMappingURL=vue-grid-layout.umd.min.js.map \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.min.js.map b/dist/vue-grid-layout.umd.min.js.map index 2520ac1c..ac5b9794 100644 --- a/dist/vue-grid-layout.umd.min.js.map +++ b/dist/vue-grid-layout.umd.min.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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?f4e6","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/./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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?a307","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./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","currentDir","hasDocument","hasWindow","getDocumentDir","direction","dir","getAttribute","addWindowEventListener","event","removeWindowEventListener","removeEventListener","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","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","VueGridLayout","GridLayout","GridItem","install","Vue","installed","forEach","component","plugin","GlobalVue","use","store","uid","USE_SYMBOL","$exports","idCount","generate","method","_vm","_h","$createElement","_c","_self","ref","staticClass","_t","directives","rawName","expression","attrs","placeholder","x","y","w","_defineProperty","obj","configurable","writable","getBreakpointFromWidth","breakpoints","sorted","sortBreakpoints","matching","len","breakpointName","getColsFromBreakpoint","breakpoint","cols","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","compact","correctBounds","sort","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","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","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","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","DESCRIPTORS","gOPS","$assign","assign","K","k","aLen","getSymbols","isEnum","__g","max","min","def","tag","stat","FProto","nameRE","Attributes","check","buggy","Array","__proto__","ownKeys","createProperty","getOwnPropertyDescriptors","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","Reflect","UNSCOPABLES","ArrayProto","bottom","bottomY","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","compareWith","getStatics","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","top","left","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","right","setTopLeft","setTopRight","validateLayout","contextName","subProps","isArray","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","collection","class","classObj","resizableHandleClass","_e","getControlPosition","offsetXYFromParentOf","evt","offsetParent","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","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","g","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","child","container","widthSize","clientWidth","heightSize","clientHeight","injectScrollStyle","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","getExpandElement","getShrinkElement","args","unshift","isDetached","isInDocument","ownerDocument","contains","isUnrendered","getStyle","elementStyle","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","areElementsInjected","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","px","random","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","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","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","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","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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","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 +{"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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?0c71","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/./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/interactjs/dist/interact.min.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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?d9a3","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.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","currentDir","hasDocument","hasWindow","getDocumentDir","direction","dir","getAttribute","addWindowEventListener","event","removeWindowEventListener","removeEventListener","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","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","VueGridLayout","GridLayout","GridItem","install","Vue","installed","forEach","component","plugin","GlobalVue","use","store","uid","USE_SYMBOL","$exports","idCount","generate","method","_vm","_h","$createElement","_c","_self","ref","staticClass","_t","directives","rawName","expression","attrs","placeholder","x","y","w","_defineProperty","obj","configurable","writable","getBreakpointFromWidth","breakpoints","sorted","sortBreakpoints","matching","len","breakpointName","getColsFromBreakpoint","breakpoint","cols","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","compact","correctBounds","sort","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","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","splice","removeAllListeners","Window","init","getWindow","ownerDocument","realWindow","wrap","iterator","u","docFrag","nodeType","func","number","bool","Element","nodeName","plainObject","array","interaction","prepared","axis","coords","cur","page","start","client","velocity","iEvent","delta","actions","Interactable","defaults","draggable","drag","methodDict","interactable","buttons","enabled","pointerIsDown","pointerType","mouseButtons","action","lockAxis","startAxis","setPerAction","setOnEvents","beforeMove","move","getCursor","g","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","HTMLElement","Event","Touch","PointerEvent","MSPointerEvent","supportsTouch","DocumentTouch","supportsPointerEvent","pointerEnabled","isIOS","platform","isIOS7","appVersion","isIe9","isOperaMobile","appName","prefixedMatchesSelector","pEventTypes","up","down","over","out","cancel","wheelEvent","_","host","nodeContains","contains","closest","matchesSelector","indexOfDeepestElement","E","ownerSVGElement","lastChild","previousSibling","parseInt","zIndex","matchesUpTo","getActualElement","correspondingUseElement","getScrollXY","getElementClientRect","M","getElementRect","left","right","top","bottom","getPath","trySelector","unshift","scrollX","documentElement","scrollLeft","scrollY","scrollTop","getBoundingClientRect","getClientRects","k","I","Array","D","getRect","getStringOptionResult","resolveRectLike","isArray","from","rectToXY","xywhToTlbr","tlbrToXywh","addEdges","origin","z","C","trim","search","reduce","R","sqrt","X","prefixedPropREs","webkit","moz","Y","W","L","U","N","V","touches","changedTouches","q","pageX","pageY","clientX","clientY","screenX","screenY","copyCoords","timeStamp","setCoordDeltas","setCoordVelocity","max","setZeroCoords","isNativePointer","getXY","getPageXY","getClientXY","getPointerId","pointerId","identifier","setCoords","getTouchPair","pointerAverage","touchBBox","min","touchDistance","touchAngle","atan2","PI","getPointerType","getEventTargets","composedPath","path","target","currentTarget","newCoords","coordsToEvent","preventDefault","$","G","BaseEvent","H","_interaction","immediatePropagationStopped","propagationStopped","_proxy","set","K","find","findIndex","merge","Z","J","Q","tt","et","nt","setPrototypeOf","__proto__","rt","Reflect","construct","sham","Proxy","Date","ot","ReferenceError","DropEvent","dropzone","dragEvent","relatedTarget","prev","dropState","rejected","events","enter","stopImmediatePropagation","activeDrops","fire","st","ut","interactables","drop","accept","draggableElement","_context","querySelectorAll","rect","ct","dropCheck","ft","leave","activate","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","dt","pt","dynamicDrop","vt","interactStatic","usePlugin","off","on","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","overlap","checker","phaselessTypes","dragenter","dragleave","dropactivate","dropdeactivate","dropmove","getActiveDrops","getDrop","getDropEvents","fireDropEvents","ht","yt","phase","pointers","pointer","deltaSource","distance","box","scale","ds","angle","da","gesture","startDistance","startAngle","prevEvent","mt","before","gesturable","bt","xt","wt","abs","resizeAxes","resize","square","axes","St","browser","cursors","xy","topleft","bottomright","topright","bottomleft","defaultMargin","resizable","preserveAspectRatio","edges","_rects","corrected","previous","deltaRect","invert","_latestPointer","eventTarget","margin","NaN","Pt","Ot","Et","Tt","Mt","jt","kt","It","Dt","request","requestAnimationFrame","cancelAnimationFrame","now","clearTimeout","At","getContainer","Ct","getScroll","Rt","getScrollSize","body","scrollWidth","scrollHeight","getScrollSizeDelta","autoScroll","container","zt","speed","isScrolling","prevTime","scroll","stop","scrollBy","check","onInteractionMove","interacting","simulation","innerWidth","innerHeight","Ft","autoscroll","perAction","Xt","warnOnce","console","copyAction","Yt","Wt","styleCursor","Lt","actionChecker","Bt","getAction","0","1","3","4","button","ignoreFrom","_backCompatOption","allowFrom","Ut","Nt","testIgnoreAllow","Gt","Vt","qt","forEachMatch","manualStart","$t","Zt","maxPerElement","autoStart","maxInteractions","interactions","Ht","Kt","cursorElement","cursor","cursorChecker","_interacting","Jt","base","withinInteractionLimit","pointerWasMoved","validateAction","Qt","te","dx","dy","downPointer","downEvent","ee","ne","hold","delay","autoStartHoldTimer","duplicate","getHoldDuration","oe","ie","ae","se","le","ue","checkAndPreventDefault","ce","supportsPassive","getDocOptions","passive","docEvents","fe","de","pe","ve","he","touchAction","boxSizing","noListeners","ge","ye","perform","me","getInfo","text","types","be","xe","logger","devTools","ignore","checks","CheckName","links","prefix","we","_e","Se","Pe","return","Oe","Ee","getRectOffset","je","Te","states","startOffset","startDelta","endResult","Me","modifiers","_methods","prepareStates","pageCoords","preEnd","startAll","setAll","fillArg","state","skipModifiers","shouldDo","eventProps","rectDelta","changed","modifiedCoords","applyToInteraction","beforeEnd","modification","endOnly","setStart","ke","Ie","makeModifier","enable","disable","_defaults","addEventModifiers","De","setAndApply","restoreInteractionCoords","Ae","ze","Ce","Re","Fe","Xe","Le","Ye","We","InteractEvent","Be","ctrlKey","shiftKey","altKey","metaKey","x0","y0","t0","duration","clientX0","clientY0","swipe","downTime","getSwipe","velocityY","velocityX","Ue","PointerInfo","downTarget","Ne","Ve","qe","$e","Ge","Interaction","_ProxyMethods","_ProxyValues","end","He","Ke","scopeFire","_scopeFire","_ending","_stopped","doMove","_id","updatePointer","pointerIndex","pointerInfo","_doPhase","pointerMoveTolerance","getPointerIndex","curEventTarget","removePointer","_now","pointerExtend","_updateLatestPointer","_createPreparedEvent","_fireEvent","Ze","Je","Qe","rn","offset","total","pending","tn","en","nn","addTotal","applyPending","offsetBy","an","sn","InertiaState","ln","active","isModified","smoothEnd","allowResume","modifierCount","modifierArg","startCoords","v0","targetOffset","modifiedOffset","currentOffset","lambda_v0","one_ve_v0","timeout","un","copyFrom","minSpeed","endSpeed","startInertia","startSmoothEnd","resistance","log","onNextFrame","inertiaTick","smoothEndTick","exp","cn","smoothEndDuration","inertia","dn","phases","inertiastart","resume","pn","vn","hn","Eventable","gn","yn","substr","mn","bn","xn","wn","_actions","_win","_doc","_scopeEvents","_rectChecker","onstart","onmove","onend","oninertiastart","updatePerActionListeners","testIgnore","testAllow","_onOff","delegatedEvents","selector","removeDelegate","_n","Sn","InteractableSet","Pn","selectorMap","scope","addListeners","addDocument","win","inContext","On","En","Tn","Mn","jn","originalEvent","stopPropagation","kn","capture","In","addDelegate","delegateListener","delegateUseCapture","documents","targets","supportsOptions","Dn","createInteractStatic","new","globalEvents","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","isSet","removeDocument","An","zn","methodOrder","simulationResume","eventType","mouseOrPen","Cn","hasPointer","idle","some","Rn","Fn","Xn","Yn","Wn","Ln","Bn","Un","Nn","qn","Vn","$n","Gn","prevTouchTime","Hn","searchDetails","Kn","doc","Zn","pointerDown","pointerMove","pointerUp","documentBlur","destroy","onDocSignal","doOnInteractions","methodNames","Jn","Qn","tr","or","er","nr","rr","ir","ar","sr","initScope","ur","Scope","lr","random","isInitialized","listenerMaps","_plugins","onWindowUnload","pluginIsInstalled","cr","getDocIndex","fr","dr","pr","vr","hr","gr","yr","mr","br","xr","range","limits","grid","round","coordFields","wr","_r","Sr","snappers","createSnapGrid","Pr","Or","Er","Tr","getOwnPropertyDescriptors","aspectRatio","Mr","ratio","equalDelta","startRect","linkedEdges","xIsPrimaryAxis","edgeSign","subModification","jr","kr","prevCoords","prevRect","Ir","Dr","Ar","zr","Cr","Rr","Fr","getRestrictionRect","restrict","Xr","elementRect","restriction","Yr","Wr","restrictEdges","Lr","Br","Ur","Nr","noInner","noOuter","inner","outer","Vr","qr","restrictRect","$r","Gr","Hr","Kr","restrictSize","Zr","Jr","Qr","to","eo","no","snap","ro","offsetWithOrigin","relativePoints","offsets","relativePoint","inRange","oo","io","ao","so","snapSize","lo","targetFields","uo","co","snapEdges","fo","po","vo","ho","go","yo","spring","avoid","transform","rubberband","mo","bo","xo","wo","_o","So","Po","Oo","Mo","Eo","To","jo","double","eventable","tapTime","prevTap","ko","Io","pointerEvents","zo","Do","node","holdDuration","collectEventTargets","Ao","tap","doubletap","pointerEvent","props","_subtractOrigin","_addOrigin","Co","Ro","Fo","holdIntervalHandle","clearInterval","Xo","holdRepeatInterval","holdrepeat","count","Yo","Wo","Lo","Bo","Uo","No","Vo","qo","reflow","Promise","_reflowPromise","_reflowResolve","then","$o","Go","Ho","exchange","Ko","Zo","Jo","__utils","displace","Qo","ti","ei","ni","idGenerator","getId","setId","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","comparefn","__e","isDetectable","markAsDetectable","isBusy","busy","markBusy","ctx","own","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","classof","builtinExec","shared","IS_WRAP","virtual","IObject","DESCRIPTORS","gOPS","$assign","assign","aLen","getSymbols","isEnum","__g","def","tag","stat","FProto","nameRE","Attributes","buggy","ownKeys","createProperty","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","UNSCOPABLES","ArrayProto","bottomY","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","compareWith","getStatics","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","translate","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","setTopLeft","setTopRight","validateLayout","contextName","subProps","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","spaces","space","non","ltrim","rtrim","exporter","ALIAS","FORCE","TYPE","quiet","error","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","collection","class","classObj","resizableHandleClass","getControlPosition","offsetXYFromParentOf","evt","offsetParent","offsetParentRect","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","Batch","batch","size","topLevel","bottomLevel","level","process","getSize","asyncProcess","autoProcess","asyncFrameHandler","isProcessing","addFunction","processBatchAsync","processBatch","processingBatch","forceProcessBatch","localAsyncProcess","cancelFrame","requestFrame","raf","force","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","inheritIfRequired","$trim","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","code","digits","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","child","widthSize","clientWidth","heightSize","clientHeight","injectScrollStyle","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","getExpandElement","getShrinkElement","args","isDetached","isInDocument","isUnrendered","getStyle","elementStyle","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","areElementsInjected","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","px","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","toArray","isElement","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","$defineProperty","currentScript","scripts","err","stack","readyState","_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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/package.json b/package.json index 0c5628bb..4e5314c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-grid-layout", - "version": "2.3.8", + "version": "2.3.9", "description": "A draggable and resizable grid layout, as a Vue component.", "keywords": [ "grid", @@ -27,7 +27,7 @@ }, "dependencies": { "element-resize-detector": "^1.1.15", - "interactjs": "^1.6.3" + "interactjs": "^1.9.22" }, "devDependencies": { "@vue/cli-plugin-babel": "^3.4.1", From 0a67b61b9b5f04b75d3a2a52f5f7ced8578ffed6 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 28 Sep 2020 16:27:42 +0100 Subject: [PATCH 032/111] added banner plugin --- package.json | 1 + vue.config.js | 13 +++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4e5314c8..a40bfa96 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "url": "https://github.com/jbaysolutions/vue-grid-layout.git" }, "author": "Gustavo Santos (JBay Solutions) (http://www.jbaysolutions.com)", + "homepage": "https://github.com/jbaysolutions/vue-grid-layout", "main": "dist/vue-grid-layout.common.js", "unpkg": "dist/vue-grid-layout.umd.min.js", "scripts": { diff --git a/vue.config.js b/vue.config.js index 17c313c0..59f22cbb 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,11 @@ +// https://medium.com/js-dojo/how-to-reduce-your-vue-js-bundle-size-with-webpack-3145bf5019b7 // const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +const webpack = require('webpack'); +const PACKAGE = require('./package.json'); + +const banner = PACKAGE.name + ' - ' + PACKAGE.version + ' | ' + + '(c) 2015, ' + new Date().getFullYear() + ' ' + PACKAGE.author + ' | ' + + PACKAGE.homepage; module.exports = { configureWebpack: { @@ -6,8 +13,10 @@ module.exports = { library: "VueGridLayout", libraryExport: 'default' }, - // https://medium.com/js-dojo/how-to-reduce-your-vue-js-bundle-size-with-webpack-3145bf5019b7 - // plugins: [new BundleAnalyzerPlugin()], + plugins: [ + // new BundleAnalyzerPlugin(), + new webpack.BannerPlugin(banner) + ], }, css: { extract: false From 169d9740d64a1cb8db8c6599aad913e2f0ef39f4 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 2 Oct 2020 15:58:24 +0100 Subject: [PATCH 033/111] website first draft --- .gitignore | 4 +- README.md | 2 +- docs/README.md => website/TODOS.md | 0 website/docs/.vuepress/Autocomplete.js | 15 + website/docs/.vuepress/config.js | 59 ++ website/docs/.vuepress/enhanceApp.js | 27 + website/docs/README.md | 33 + .../docs/changelog/README.md | 3 + website/docs/guide/README.md | 604 ++++++++++++++++++ website/package.json | 23 + 10 files changed, 768 insertions(+), 2 deletions(-) rename docs/README.md => website/TODOS.md (100%) create mode 100644 website/docs/.vuepress/Autocomplete.js create mode 100644 website/docs/.vuepress/config.js create mode 100644 website/docs/.vuepress/enhanceApp.js create mode 100644 website/docs/README.md rename CHANGELOG.md => website/docs/changelog/README.md (99%) create mode 100644 website/docs/guide/README.md create mode 100644 website/package.json diff --git a/.gitignore b/.gitignore index 76571c9f..2cee15a2 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,6 @@ yarn-error.log* *.sw* yarn.lock -yarn-error.log \ No newline at end of file +yarn-error.log + +website/docs/dist diff --git a/README.md b/README.md index bde12494..3f3fd0e3 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ vue-grid-layout is a grid layout system, like [Gridster](http://dsmorse.github.i
-[**[Demo](https://jbaysolutions.github.io/vue-grid-layout/examples/01-basic.html) | [Changelog](/CHANGELOG.md)**] +[**[Demo](https://jbaysolutions.github.io/vue-grid-layout/examples/01-basic.html) | [Changelog](/website/docs/changelog/README.md)**] English | [简体中文](./README-zh_CN.md) diff --git a/docs/README.md b/website/TODOS.md similarity index 100% rename from docs/README.md rename to website/TODOS.md diff --git a/website/docs/.vuepress/Autocomplete.js b/website/docs/.vuepress/Autocomplete.js new file mode 100644 index 00000000..47320d04 --- /dev/null +++ b/website/docs/.vuepress/Autocomplete.js @@ -0,0 +1,15 @@ +// import MyFormulateAutocomplete from './components/MyFormulateAutocomplete' +// +// export default function (formulateInstance) { +// formulateInstance.extend({ +// components: { +// MyFormulateAutocomplete +// }, +// library: { +// autocomplete: { +// classification: 'text', +// component: 'MyFormulateAutocomplete' +// } +// } +// }) +// } diff --git a/website/docs/.vuepress/config.js b/website/docs/.vuepress/config.js new file mode 100644 index 00000000..2745ed6a --- /dev/null +++ b/website/docs/.vuepress/config.js @@ -0,0 +1,59 @@ +const description = 'Built-in validation, error handling, grouped & repeatable fields, form generation, and more — make complex form creation a breeze.' +const title = 'Vue Grid Layout - ️A grid layout system for Vue.js' + +module.exports = ctx => ({ + base: "/vue-grid-layout/", + title, + description, + head: [ + // ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "https://vueformulate.com/assets/favicon/apple-touch-icon.png"}], + // ['script', { src: 'https://polyfill.io/v3/polyfill.min.js?features=es2015%2CFunction.name' }] + ], + port: 8081, + themeConfig: { + /*sidebar: [ + '/guide', + '/changelog' + ],*/ + nav: [ + { text: 'Home', link: '/' }, + { text: 'Guide', link: '/guide/' }, + { text: 'Changelog', link: '/changelog/' } + ], + searchPlaceholder: 'Search...', + smoothScroll: true, + // logo: '/assets/img/logo.png', + repo: 'jbaysolutions/vue-grid-layout', + docsRepo: 'website', + docsDir: 'docs', + editLinks: true, + editLinkText: 'Help improve this page!', + /*algolia: { + apiKey: 'XXX', + indexName: 'vuegridlayout' + }*/ + }, + plugins: [ + // ['live'], + /*[ + '@vuepress/google-analytics', + { + 'ga': 'UA-00000000-0' // UA-00000000-0 + } + ], + ['seo', { + title: $page => `${$page.title} — Vue Grid Layout`, + image: () => 'https://jbaysolutions.github.io/vue-grid-layout/assets/img/og.jpg', + siteTitle: (_, $site) => $site.title, + description: $page => $page.frontmatter.description || description, + author: (_, $site) => $site.themeConfig.author, + tags: $page => $page.frontmatter.tags, + twitterCard: _ => 'summary_large_image', + type: () => 'article', + url: (_, $site, path) => ($site.themeConfig.domain || '') + path, + publishedAt: $page => $page.frontmatter.date && new Date($page.frontmatter.date), + modifiedAt: $page => $page.lastUpdated && new Date($page.lastUpdated), + }]*/ + ], + dest: 'public' +}) diff --git a/website/docs/.vuepress/enhanceApp.js b/website/docs/.vuepress/enhanceApp.js new file mode 100644 index 00000000..200b7425 --- /dev/null +++ b/website/docs/.vuepress/enhanceApp.js @@ -0,0 +1,27 @@ +/** + * App level enhancements. Read more here: + * https://vuepress.vuejs.org/guide/basic-config.html#app-level-enhancements + */ +// import VueFormulate from '@braid/vue-formulate' +// import pageComponents from '@internal/page-components' +import Autocomplete from './Autocomplete' +// import ArticleCard from './components/ArticleCard' +// import GithubButton from 'vue-github-button' +// import VTooltip from 'v-tooltip' + +// import '../../node_modules/@braid/vue-formulate/themes/snow/snow.scss' + +export default ({ Vue }) => { + + /*Vue.use(VueFormulate, { + plugins: [ Autocomplete ] + })*/ + + // Vue.use(VTooltip) + + // for (const [name, component] of Object.entries(pageComponents)) { + // Vue.component(name, component) + // } + // Vue.component('github-button', GithubButton) + // Vue.component('ArticleCard', ArticleCard) +} diff --git a/website/docs/README.md b/website/docs/README.md new file mode 100644 index 00000000..8207d2e7 --- /dev/null +++ b/website/docs/README.md @@ -0,0 +1,33 @@ +--- +layout: HomeLayout +home: true + +heroText: Vue Grid Layout +tagline: A grid layout system for Vue.js +actionText: Get Started → +actionLink: /guide/ +features: +- title: ✥ Draggable widgets + details: +- title: ⇲ Resizable widgets + details: +- title: Static widgets + details: +- title: Bounds checking for dragging and resizing + details: +- title: Widgets can be added or removed without rebuilding grid + details: +- title: Layout can be serialized and restored + details: +- title: Automatic RTL support (resizing not working with RTL on 2.2.0) + details: +- title: Responsive + details: +- title: Min/max w/h per item + details: +--- + +# Demo + + +TODO (work in progress...) diff --git a/CHANGELOG.md b/website/docs/changelog/README.md similarity index 99% rename from CHANGELOG.md rename to website/docs/changelog/README.md index c99f6970..e73c522f 100644 --- a/CHANGELOG.md +++ b/website/docs/changelog/README.md @@ -1,3 +1,6 @@ +--- +sidebar: auto +--- # Changelog ## 2.3.9 (September 28, 2020) diff --git a/website/docs/guide/README.md b/website/docs/guide/README.md new file mode 100644 index 00000000..13b16662 --- /dev/null +++ b/website/docs/guide/README.md @@ -0,0 +1,604 @@ +--- +sidebar: auto +--- +# Getting Started + +## Installation + +### npm + + # install with npm + npm install vue-grid-layout --save + + # install with yarn + yarn add vue-grid-layout + + +Import the library + +```javascript + import VueGridLayout from 'vue-grid-layout'; +``` + +Add to other Vue components + + ```javascript + export default { + components: { + GridLayout: VueGridLayout.GridLayout, + GridItem: VueGridLayout.GridItem + }, + // ... data, methods, mounted (), etc. + } + +``` + +### browser + +Include the browser-ready bundle (download from [releases](https://github.com/jbaysolutions/vue-grid-layout/releases)) in your page. The components will be automatically available. + +```html + +``` + +## Usage + +```javascript + var testLayout = [ + {"x":0,"y":0,"w":2,"h":2,"i":"0"}, + {"x":2,"y":0,"w":2,"h":4,"i":"1"}, + {"x":4,"y":0,"w":2,"h":5,"i":"2"}, + {"x":6,"y":0,"w":2,"h":3,"i":"3"}, + {"x":8,"y":0,"w":2,"h":3,"i":"4"}, + {"x":10,"y":0,"w":2,"h":3,"i":"5"}, + {"x":0,"y":5,"w":2,"h":5,"i":"6"}, + {"x":2,"y":5,"w":2,"h":5,"i":"7"}, + {"x":4,"y":5,"w":2,"h":5,"i":"8"}, + {"x":6,"y":3,"w":2,"h":4,"i":"9"}, + {"x":8,"y":4,"w":2,"h":4,"i":"10"}, + {"x":10,"y":4,"w":2,"h":4,"i":"11"}, + {"x":0,"y":10,"w":2,"h":5,"i":"12"}, + {"x":2,"y":10,"w":2,"h":5,"i":"13"}, + {"x":4,"y":8,"w":2,"h":4,"i":"14"}, + {"x":6,"y":8,"w":2,"h":4,"i":"15"}, + {"x":8,"y":10,"w":2,"h":5,"i":"16"}, + {"x":10,"y":4,"w":2,"h":2,"i":"17"}, + {"x":0,"y":9,"w":2,"h":3,"i":"18"}, + {"x":2,"y":6,"w":2,"h":2,"i":"19"} + ]; + + new Vue({ + el: '#app', + data: { + layout: testLayout, + }, + }); +``` + + +```html + + + + + {{item.i}} + + +``` + + +## Documentation + +### Properties + +#### GridLayout + +* **layout** + + * type: `Array` + * required: `true` + + This is the initial layout of the grid. + + The value must be an `Array` of `Object` items. Each item must have `i`, `x`, `y`, `w` and `h` properties. Please refer to the documentation for `GridItem` below for more information. + +* **responsiveLayouts** + + * type: `Object` + * required: `false` + * default : `{}` + + This is the initial layouts of the grid per breakpoint if `responsive` is set to `true`. + The keys of the `Object` are breakpoint names and each value is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. + Setting the prop after the creation of the GridLayout has no effect. + +* **colNum** + + * type: `Number` + * required: `false` + * default: `12` + + Says how many columns the grid has. + + The value should be a _natural number_. + +* **rowHeight** + + * type: `Number` + * required: `false` + * default: `150` + + Says what is a height of a single row in pixels. + +* **maxRows** + + * type: `Number` + * required: `false` + * default: `Infinity` + + Says what is a maximal number of rows in the grid. + +* **margin** + + * type: `Array` + * required: `false` + * default: `[10, 10]` + + Says what are the margins of elements inside the grid. + + The value must be a two-element `Array` of `Number`. Each value is expressed in pixels. The first element is a margin horizontally, the second element is a vertical margin. + +* **isDraggable** + + * type: `Boolean` + * required: `false` + * default: `true` + + Says if the grids items are draggable. + +* **isResizable** + + * type: `Boolean` + * required: `false` + * default: `true` + + Says if the grids items are resizable. + +* **isMirrored** + + * type: `Boolean` + * required: `false` + * default: `false` + + Says if the RTL/LTR should be reversed. + +* **autoSize** + + * type: `Boolean` + * required: `false` + * default: `true` + + Says if the container height should swells and contracts to fit contents. + +* **verticalCompact** + + * type: `Boolean` + * required: `false` + * default: `true` + + Says if the layout should be compact vertically. + +* **preventCollision** + + * type: `Boolean` + * required: `false` + * default: `false` + + Says if grid items will move when being dragged over. + +* **useCssTransforms** + + * type: `Boolean` + * required: `false` + * default: `true` + + Says if the CSS `transition-property: transform;` should be used. + +* **responsive** + + * type: `Boolean` + * required: `false` + * default: `false` + + Says if the layout should be responsive to window width + +* **breakpoints** + + * type: `Object` + * required: `false` + * default: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 } + + Breakpoints defined for responsive layout. Sets widths on wich column number changes + +* **cols** + + * type: `Object` + * required: `false` + * default: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 } + + Defines number of columns for each breakpoint + + +#### GridItem + +* **i** + + * type: `String` + * required: `true` + + This is the unique identifier of the item. + +* **x** + + * type: `Number` + * required: `true` + + Says what is a initial horizontal position of the item (in which column it should be placed). + + The value must be a _whole number_. + +* **y** + + * type: `Number` + * required: `true` + + Says what is a initial vertical position of the item (in which row it should be placed). + + The value must be a _whole number_. + +* **w** + + * type: `Number` + * required: `true` + + Says what is a initial width of the item. + + The value is a number that is multiplied by `colWidth`. + +* **h** + + * type: `Number` + * required: `true` + + Says what is a initial height of the item. + + The value is a number that is multiplied by `rowHeight`. + +* **minW** + + * type: `Number` + * required: `false` + * default: `1` + + Says what is a minimal width of the item. If `w` will be smaller then `minW` then `w` will be set to `minW`. + + The value is a number that is multiplied by `colWidth`. + +* **minH** + + * type: `Number` + * required: `false` + * default: `1` + + Says what is a minimal hieght of the item. If `h` will be smaller then `minH` then `h` will be set to `minH`. + + The value is a number that is multiplied by `rowHeight`. + +* **maxW** + + * type: `Number` + * required: `false` + * default: `Infinity` + + Says what is a maximal width of the item. If `w` will be bigger then `maxW` then `w` will be set to `maxW`. + + The value is a number that is multiplied by `colWidth`. + +* **maxH** + + * type: `Number` + * required: `false` + * default: `Infinity` + + Says what is a maximal height of the item. If `h` will be bigger then `maxH` then `h` will be set to `maxH`. + + The value is a number that is multiplied by `rowHeight` + +* **isDraggable** + + * type: `Boolean` + * required: `false` + * default: `null` + + Says if item is draggable. + + If default value is `null` then it's inherited from parent. + +* **isResizable** + + * type: `Boolean` + * required: `false` + * default: `null` + + Says if item is resizable. + + If default value is `null` then it's inherited from parent. + +* **static** + + * type: `Boolean` + * required: `false` + * default: `false` + + Says if item is static (won't be draggable, resizable or moved by other items). + + +* **dragIgnoreFrom** + + * type: `String` + * required: `false` + * default: `'a, button'` + + Says which elements of the item shouldn't trigger drag event of the item. + + The value is `css-like` selector string. + + For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). + +* **dragAllowFrom** + + * type: `String` + * required: `false` + * default: `null` + + Says which elements of the item should trigger drag event of the item. + + The value is `css-like` selector string. + + If `null` then one can drag by any (excluding `dragIgnoreFrom`) element of the item. + + For more info please refer to `allowFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). + +* **resizeIgnoreFrom** + + * type: `String` + * required: `false` + * default: `'a, button'` + + Says which elements of the item shouldn't trigger resize event of the item. + + The value is `css-like` selector string. + + For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). + + + +### Events + +Move and resize event listeners can be added to each grid-item, so that the parent Vue can be notified when a grid element is being moved or resized. +Moved and resized event listeners can be added, if the only notification needed is when an item is finished moving or resizing. + +Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/02-events.html) + +````html + + + + + {{item.i}} + + +```` + +* **layoutCreatedEvent** + + Layout created event + + Emited on the component created lifecycle hook + +```javascript + layoutCreatedEvent: function(newLayout){ + console.log("Created layout: ", newLayout) + } +``` + +* **layoutBeforeMountEvent** + + Layout beforeMount event + + Emited on the component beforeMount lifecycle hook + +```javascript + layoutBeforeMountEvent: function(newLayout){ + console.log("beforeMount layout: ", newLayout) + } +``` + +* **layoutMountedEvent** + + Layout mounted event + + Emited on the component mounted lifecycle hook + +```javascript + layoutMountedEvent: function(newLayout){ + console.log("Mounted layout: ", newLayout) + } +``` + +* **layoutReadyEvent** + + Layout ready event + + Emited when all the operations on the mount hook finish + +```javascript + layoutReadyEvent: function(newLayout){ + console.log("Ready layout: ", newLayout) + } +``` + +* **layoutUpdatedEvent** + + Layout updated event + + Every time the layout has finished updating and positions of all grid-items are recalculated + +```javascript + layoutUpdatedEvent: function(newLayout){ + console.log("Updated layout: ", newLayout) + } +``` + +* **moveEvent** + + Move event + + Every time an item is being moved and changes position + +```javascript + moveEvent: function(i, newX, newY){ + console.log("MOVE i=" + i + ", X=" + newX + ", Y=" + newY); + }, +``` + +* **resizeEvent** + + Resize event + + Every time an item is being resized and changes size + +```javascript + resizeEvent: function(i, newH, newW, newHPx, newWPx){ + console.log("RESIZE i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); + }, +``` + +* **movedEvent** + + Moved event + + Every time an item is finished being moved and changes position + +```javascript + movedEvent: function(i, newX, newY){ + console.log("MOVED i=" + i + ", X=" + newX + ", Y=" + newY); + }, +``` + +* **resizedEvent** + + Resized event + + Every time an item is finished being resized and changes size + +```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 + * + */ + resizedEvent: function(i, newH, newW, newHPx, newWPx){ + console.log("RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); + }, +``` + +* **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); + }, +``` + +* **breakpointChangedEvent** + + Breakpoint Changed event + + Every time the breakpoint value changes due to window resize + +```javascript + /** + * + * @param newBreakpoint the breakpoint name + * @param newLayout the chosen layout for the breakpoint + * + */ + breakpointChangedEvent: function(newBreakpoint, newLayout){ + console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); + }, +``` + + +# Contribute + +If you have a feature request, please add it as an issue or make a pull request. diff --git a/website/package.json b/website/package.json new file mode 100644 index 00000000..76487d51 --- /dev/null +++ b/website/package.json @@ -0,0 +1,23 @@ +{ + "name": "vue-grid-layout-website", + "version": "1.0.0", + "description": "website", + "main": "index.js", + "author": "Gustavo Santos", + "license": "MIT", + "private": false, + "scripts": { + "dev": "vuepress dev docs", + "build": "vuepress build docs" + }, + "dependencies": { + "vuepress-plugin-seo": "^0.1.4", + "vuepress-plugin-sitemap": "^2.3.1" + }, + "devDependencies": { + "vuepress": "^1.6.0" + }, + "resolutions": { + "watchpack": "1.6.1" + } +} From 12fbf6796949a1a6a14c9a71335a1e5876fd8415 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 17:14:00 +0100 Subject: [PATCH 034/111] website base version --- README.md | 2 +- examples/05-mirrored.html | 3 +- examples/07-prevent-collision.html | 20 +- .../08-responsive-predefined-layouts.html | 24 +- examples/09-dynamic-add-remove.html | 20 +- examples/vue.js | 2578 ++-- examples/vue.min.js | 6 +- .../.vuepress/components/Example01Basic.vue | 132 + .../.vuepress/components/Example02Events.vue | 213 + .../components/Example03MultipleGrids.vue | 207 + .../components/Example04AllowIgnore.vue | 204 + .../components/Example05Mirrored.vue | 133 + .../components/Example06Responsive.vue | 156 + .../components/Example07PreventCollision.vue | 128 + .../Example08ResponsivePredefinedLayouts.vue | 159 + .../components/Example09DynamicAddRemove.vue | 143 + .../components/Example10DragFromOutside.vue | 234 + .../docs/.vuepress/components/HomeFooter.vue | 33 + .../.vuepress/components/HomepageGrid.vue | 133 + website/docs/.vuepress/config.js | 149 +- website/docs/.vuepress/enhanceApp.js | 8 +- .../assets/favicon/apple-touch-icon.png | Bin 0 -> 4174 bytes .../.vuepress/public/assets/img/logo-jbay.png | Bin 0 -> 32200 bytes .../docs/.vuepress/public/assets/img/logo.png | Bin 0 -> 4163 bytes .../.vuepress/public/examples/01-basic.html | 62 + .../.vuepress/public/examples/01-basic.js | 96 + .../.vuepress/public/examples/02-events.html | 77 + .../.vuepress/public/examples/02-events.js | 103 + .../public/examples/03-multiple-grids.html | 114 + .../public/examples/04-allow-ignore.html | 105 + .../public/examples/05-mirrored.html | 100 + .../public/examples/06-responsive.html | 58 + .../public/examples/06-responsive.js | 90 + .../public/examples/07-prevent-collision.html | 57 + .../public/examples/07-prevent-collision.js | 56 + .../08-responsive-predefined-layouts.html | 70 + .../08-responsive-predefined-layouts.js | 76 + .../examples/09-dynamic-add-remove.html | 72 + .../public/examples/09-dynamic-add-remove.js | 46 + .../public/examples/10-drag-from-outside.html | 78 + .../public/examples/10-drag-from-outside.js | 92 + .../docs/.vuepress/public/examples/app.css | 102 + website/docs/.vuepress/public/examples/vue.js | 11907 ++++++++++++++++ .../docs/.vuepress/public/examples/vue.min.js | 6 + website/docs/.vuepress/public/favicon.ico | Bin 0 -> 15406 bytes website/docs/.vuepress/styles/index.styl | 30 + .../docs/.vuepress/theme/components/Home.vue | 173 + website/docs/.vuepress/theme/index.js | 3 + .../docs/.vuepress/theme/layouts/Layout.vue | 47 + website/docs/README.md | 8 +- website/docs/guide/01-basic.md | 10 + website/docs/guide/02-events.md | 5 + website/docs/guide/03-multiple-grids.md | 5 + website/docs/guide/04-allow-ignore.md | 9 + website/docs/guide/05-mirrored.md | 5 + website/docs/guide/06-responsive.md | 6 + website/docs/guide/07-prevent-collision.md | 6 + .../guide/08-responsive-predefined-layouts.md | 5 + website/docs/guide/09-dynamic-add-remove.md | 7 + website/docs/guide/10-drag-from-outside.md | 9 + website/docs/guide/README.md | 576 +- website/docs/guide/events.md | 205 + website/docs/guide/examples.md | 21 + website/docs/guide/properties.md | 293 + website/docs/guide/usage.md | 58 + website/docs/logo.xcf | Bin 0 -> 22760 bytes website/package.json | 13 +- 67 files changed, 17628 insertions(+), 1918 deletions(-) create mode 100644 website/docs/.vuepress/components/Example01Basic.vue create mode 100644 website/docs/.vuepress/components/Example02Events.vue create mode 100644 website/docs/.vuepress/components/Example03MultipleGrids.vue create mode 100644 website/docs/.vuepress/components/Example04AllowIgnore.vue create mode 100644 website/docs/.vuepress/components/Example05Mirrored.vue create mode 100644 website/docs/.vuepress/components/Example06Responsive.vue create mode 100644 website/docs/.vuepress/components/Example07PreventCollision.vue create mode 100644 website/docs/.vuepress/components/Example08ResponsivePredefinedLayouts.vue create mode 100644 website/docs/.vuepress/components/Example09DynamicAddRemove.vue create mode 100644 website/docs/.vuepress/components/Example10DragFromOutside.vue create mode 100644 website/docs/.vuepress/components/HomeFooter.vue create mode 100644 website/docs/.vuepress/components/HomepageGrid.vue create mode 100644 website/docs/.vuepress/public/assets/favicon/apple-touch-icon.png create mode 100644 website/docs/.vuepress/public/assets/img/logo-jbay.png create mode 100644 website/docs/.vuepress/public/assets/img/logo.png create mode 100644 website/docs/.vuepress/public/examples/01-basic.html create mode 100644 website/docs/.vuepress/public/examples/01-basic.js create mode 100644 website/docs/.vuepress/public/examples/02-events.html create mode 100644 website/docs/.vuepress/public/examples/02-events.js create mode 100644 website/docs/.vuepress/public/examples/03-multiple-grids.html create mode 100644 website/docs/.vuepress/public/examples/04-allow-ignore.html create mode 100644 website/docs/.vuepress/public/examples/05-mirrored.html create mode 100644 website/docs/.vuepress/public/examples/06-responsive.html create mode 100644 website/docs/.vuepress/public/examples/06-responsive.js create mode 100644 website/docs/.vuepress/public/examples/07-prevent-collision.html create mode 100644 website/docs/.vuepress/public/examples/07-prevent-collision.js create mode 100644 website/docs/.vuepress/public/examples/08-responsive-predefined-layouts.html create mode 100644 website/docs/.vuepress/public/examples/08-responsive-predefined-layouts.js create mode 100644 website/docs/.vuepress/public/examples/09-dynamic-add-remove.html create mode 100644 website/docs/.vuepress/public/examples/09-dynamic-add-remove.js create mode 100644 website/docs/.vuepress/public/examples/10-drag-from-outside.html create mode 100644 website/docs/.vuepress/public/examples/10-drag-from-outside.js create mode 100644 website/docs/.vuepress/public/examples/app.css create mode 100644 website/docs/.vuepress/public/examples/vue.js create mode 100644 website/docs/.vuepress/public/examples/vue.min.js create mode 100644 website/docs/.vuepress/public/favicon.ico create mode 100644 website/docs/.vuepress/styles/index.styl create mode 100644 website/docs/.vuepress/theme/components/Home.vue create mode 100644 website/docs/.vuepress/theme/index.js create mode 100644 website/docs/.vuepress/theme/layouts/Layout.vue create mode 100644 website/docs/guide/01-basic.md create mode 100644 website/docs/guide/02-events.md create mode 100644 website/docs/guide/03-multiple-grids.md create mode 100644 website/docs/guide/04-allow-ignore.md create mode 100644 website/docs/guide/05-mirrored.md create mode 100644 website/docs/guide/06-responsive.md create mode 100644 website/docs/guide/07-prevent-collision.md create mode 100644 website/docs/guide/08-responsive-predefined-layouts.md create mode 100644 website/docs/guide/09-dynamic-add-remove.md create mode 100644 website/docs/guide/10-drag-from-outside.md create mode 100644 website/docs/guide/events.md create mode 100644 website/docs/guide/examples.md create mode 100644 website/docs/guide/properties.md create mode 100644 website/docs/guide/usage.md create mode 100644 website/docs/logo.xcf diff --git a/README.md b/README.md index 3f3fd0e3..9aa10cbb 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ vue-grid-layout is a grid layout system, like [Gridster](http://dsmorse.github.i
-[**[Demo](https://jbaysolutions.github.io/vue-grid-layout/examples/01-basic.html) | [Changelog](/website/docs/changelog/README.md)**] +[**[Demo](https://jbaysolutions.github.io/vue-grid-layout/examples/01-basic.html) | [Changelog](/https://jbaysolutions.github.io/vue-grid-layout/changelog/)**] English | [简体中文](./README-zh_CN.md) diff --git a/examples/05-mirrored.html b/examples/05-mirrored.html index 3e66e470..ea5eee08 100644 --- a/examples/05-mirrored.html +++ b/examples/05-mirrored.html @@ -45,7 +45,6 @@

Vue Grid Layout Example 5 - Mirrored grid layout

:is-mirrored="mirrored" :vertical-compact="true" :use-css-transforms="true" - :right-to-left="true" > Vue Grid Layout Example 5 - Mirrored grid layout }); - \ No newline at end of file + diff --git a/examples/07-prevent-collision.html b/examples/07-prevent-collision.html index 230ad059..59bc6bfb 100644 --- a/examples/07-prevent-collision.html +++ b/examples/07-prevent-collision.html @@ -35,10 +35,22 @@

Vue Grid Layout Example 7 - Prevent Collision

-->
- - + + {{item.i}} diff --git a/examples/08-responsive-predefined-layouts.html b/examples/08-responsive-predefined-layouts.html index 62a4fb19..b9cda1e5 100644 --- a/examples/08-responsive-predefined-layouts.html +++ b/examples/08-responsive-predefined-layouts.html @@ -3,7 +3,7 @@ - Vue Grid Layout Example 1 - Basic Responsive + Vue Grid Layout Example 8 - Responsive with predefined layouts @@ -38,10 +38,24 @@

Vue Grid Layout Example 8 - Responsive with predefined layouts

Resizable Responsive
- - + + {{item.i}} diff --git a/examples/09-dynamic-add-remove.html b/examples/09-dynamic-add-remove.html index 62b02f76..b18100d9 100644 --- a/examples/09-dynamic-add-remove.html +++ b/examples/09-dynamic-add-remove.html @@ -45,10 +45,22 @@

Vue Grid Layout Example 9 - Dynamic Add/Remove

Draggable Resizable
- - + + {{item.i}} x diff --git a/examples/vue.js b/examples/vue.js index 838cf920..6aa36e96 100644 --- a/examples/vue.js +++ b/examples/vue.js @@ -1,12 +1,12 @@ /*! - * Vue.js v2.6.7 - * (c) 2014-2019 Evan You + * Vue.js v2.6.12 + * (c) 2014-2020 Evan You * Released under the MIT License. */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = global || self, global.Vue = factory()); + typeof define === 'function' && define.amd ? define(factory) : + (global = global || self, global.Vue = factory()); }(this, function () { 'use strict'; /* */ @@ -36,11 +36,11 @@ */ function isPrimitive (value) { return ( - typeof value === 'string' || - typeof value === 'number' || - // $flow-disable-line - typeof value === 'symbol' || - typeof value === 'boolean' + typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean' ) } @@ -84,9 +84,9 @@ function isPromise (val) { return ( - isDef(val) && - typeof val.then === 'function' && - typeof val.catch === 'function' + isDef(val) && + typeof val.then === 'function' && + typeof val.catch === 'function' ) } @@ -95,10 +95,10 @@ */ function toString (val) { return val == null - ? '' - : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) - ? JSON.stringify(val, null, 2) - : String(val) + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val) } /** @@ -115,8 +115,8 @@ * is in that map. */ function makeMap ( - str, - expectsLowerCase + str, + expectsLowerCase ) { var map = Object.create(null); var list = str.split(','); @@ -124,8 +124,8 @@ map[list[i]] = true; } return expectsLowerCase - ? function (val) { return map[val.toLowerCase()]; } - : function (val) { return map[val]; } + ? function (val) { return map[val.toLowerCase()]; } + : function (val) { return map[val]; } } /** @@ -205,10 +205,10 @@ function boundFn (a) { var l = arguments.length; return l - ? l > 1 - ? fn.apply(ctx, arguments) - : fn.call(ctx, a) - : fn.call(ctx) + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx) } boundFn._length = fn.length; @@ -220,8 +220,8 @@ } var bind = Function.prototype.bind - ? nativeBind - : polyfillBind; + ? nativeBind + : polyfillBind; /** * Convert an Array-like object to a real Array. @@ -481,7 +481,7 @@ * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname * skipping \u10000-\uEFFFF due to it freezing up PhantomJS */ - var unicodeLetters = 'a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD'; + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; /** * Check if a string starts with $ or _ @@ -506,7 +506,7 @@ /** * Parse simple path. */ - var bailRE = new RegExp(("[^" + unicodeLetters + ".$_\\d]")); + var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); function parsePath (path) { if (bailRE.test(path)) { return @@ -583,8 +583,8 @@ } var hasSymbol = - typeof Symbol !== 'undefined' && isNative(Symbol) && - typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); + typeof Symbol !== 'undefined' && isNative(Symbol) && + typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); var _Set; /* istanbul ignore if */ // $flow-disable-line @@ -622,8 +622,8 @@ var hasConsole = typeof console !== 'undefined'; var classifyRE = /(?:^|[-_])(\w)/g; var classify = function (str) { return str - .replace(classifyRE, function (c) { return c.toUpperCase(); }) - .replace(/[-_]/g, ''); }; + .replace(classifyRE, function (c) { return c.toUpperCase(); }) + .replace(/[-_]/g, ''); }; warn = function (msg, vm) { var trace = vm ? generateComponentTrace(vm) : ''; @@ -638,7 +638,7 @@ tip = function (msg, vm) { if (hasConsole && (!config.silent)) { console.warn("[Vue tip]: " + msg + ( - vm ? generateComponentTrace(vm) : '' + vm ? generateComponentTrace(vm) : '' )); } }; @@ -648,10 +648,10 @@ return '' } var options = typeof vm === 'function' && vm.cid != null - ? vm.options - : vm._isVue - ? vm.$options || vm.constructor.options - : vm; + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm; var name = options.name || options._componentTag; var file = options.__file; if (!name && file) { @@ -660,8 +660,8 @@ } return ( - (name ? ("<" + (classify(name)) + ">") : "") + - (file && includeFile !== false ? (" at " + file) : '') + (name ? ("<" + (classify(name)) + ">") : "") + + (file && includeFile !== false ? (" at " + file) : '') ) }; @@ -695,10 +695,10 @@ vm = vm.$parent; } return '\n\nfound in\n\n' + tree - .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) - ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") - : formatComponentName(vm))); }) - .join('\n') + .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) + ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") + : formatComponentName(vm))); }) + .join('\n') } else { return ("\n\n(found in " + (formatComponentName(vm)) + ")") } @@ -765,14 +765,14 @@ /* */ var VNode = function VNode ( - tag, - data, - children, - text, - elm, - context, - componentOptions, - asyncFactory + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory ) { this.tag = tag; this.data = data; @@ -828,17 +828,17 @@ // on their elm reference. function cloneVNode (vnode) { var cloned = new VNode( - vnode.tag, - vnode.data, - // #7975 - // clone children array to avoid mutating original in case of cloning - // a child. - vnode.children && vnode.children.slice(), - vnode.text, - vnode.elm, - vnode.context, - vnode.componentOptions, - vnode.asyncFactory + vnode.tag, + vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), + vnode.text, + vnode.elm, + vnode.context, + vnode.componentOptions, + vnode.asyncFactory ); cloned.ns = vnode.ns; cloned.isStatic = vnode.isStatic; @@ -994,11 +994,11 @@ if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { ob = value.__ob__; } else if ( - shouldObserve && - !isServerRendering() && - (Array.isArray(value) || isPlainObject(value)) && - Object.isExtensible(value) && - !value._isVue + shouldObserve && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue ) { ob = new Observer(value); } @@ -1012,11 +1012,11 @@ * Define a reactive property on an Object. */ function defineReactive$$1 ( - obj, - key, - val, - customSetter, - shallow + obj, + key, + val, + customSetter, + shallow ) { var dep = new Dep(); @@ -1094,8 +1094,8 @@ var ob = (target).__ob__; if (target._isVue || (ob && ob.vmCount)) { warn( - 'Avoid adding reactive properties to a Vue instance or its root $data ' + - 'at runtime - declare it upfront in the data option.' + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' ); return val } @@ -1123,8 +1123,8 @@ var ob = (target).__ob__; if (target._isVue || (ob && ob.vmCount)) { warn( - 'Avoid deleting properties on a Vue instance or its root $data ' + - '- just set it to null.' + 'Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.' ); return } @@ -1168,8 +1168,8 @@ strats.el = strats.propsData = function (parent, child, vm, key) { if (!vm) { warn( - "option \"" + key + "\" can only be used during instance " + - 'creation with the `new` keyword.' + "option \"" + key + "\" can only be used during instance " + + 'creation with the `new` keyword.' ); } return defaultStrat(parent, child) @@ -1184,8 +1184,8 @@ var key, toVal, fromVal; var keys = hasSymbol - ? Reflect.ownKeys(from) - : Object.keys(from); + ? Reflect.ownKeys(from) + : Object.keys(from); for (var i = 0; i < keys.length; i++) { key = keys[i]; @@ -1196,9 +1196,9 @@ if (!hasOwn(to, key)) { set(to, key, fromVal); } else if ( - toVal !== fromVal && - isPlainObject(toVal) && - isPlainObject(fromVal) + toVal !== fromVal && + isPlainObject(toVal) && + isPlainObject(fromVal) ) { mergeData(toVal, fromVal); } @@ -1210,9 +1210,9 @@ * Data */ function mergeDataOrFn ( - parentVal, - childVal, - vm + parentVal, + childVal, + vm ) { if (!vm) { // in a Vue.extend merge, both should be functions @@ -1229,19 +1229,19 @@ // it has to be a function to pass previous merges. return function mergedDataFn () { return mergeData( - typeof childVal === 'function' ? childVal.call(this, this) : childVal, - typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal ) } } else { return function mergedInstanceDataFn () { // instance merge var instanceData = typeof childVal === 'function' - ? childVal.call(vm, vm) - : childVal; + ? childVal.call(vm, vm) + : childVal; var defaultData = typeof parentVal === 'function' - ? parentVal.call(vm, vm) - : parentVal; + ? parentVal.call(vm, vm) + : parentVal; if (instanceData) { return mergeData(instanceData, defaultData) } else { @@ -1252,17 +1252,17 @@ } strats.data = function ( - parentVal, - childVal, - vm + parentVal, + childVal, + vm ) { if (!vm) { if (childVal && typeof childVal !== 'function') { warn( - 'The "data" option should be a function ' + - 'that returns a per-instance value in component ' + - 'definitions.', - vm + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm ); return parentVal @@ -1277,19 +1277,19 @@ * Hooks and props are merged as arrays. */ function mergeHook ( - parentVal, - childVal + parentVal, + childVal ) { var res = childVal - ? parentVal - ? parentVal.concat(childVal) - : Array.isArray(childVal) - ? childVal - : [childVal] - : parentVal; + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal; return res - ? dedupeHooks(res) - : res + ? dedupeHooks(res) + : res } function dedupeHooks (hooks) { @@ -1314,10 +1314,10 @@ * options and parent options. */ function mergeAssets ( - parentVal, - childVal, - vm, - key + parentVal, + childVal, + vm, + key ) { var res = Object.create(parentVal || null); if (childVal) { @@ -1339,10 +1339,10 @@ * another, so we merge them as arrays. */ strats.watch = function ( - parentVal, - childVal, - vm, - key + parentVal, + childVal, + vm, + key ) { // work around Firefox's Object.prototype.watch... if (parentVal === nativeWatch) { parentVal = undefined; } @@ -1362,8 +1362,8 @@ parent = [parent]; } ret[key$1] = parent - ? parent.concat(child) - : Array.isArray(child) ? child : [child]; + ? parent.concat(child) + : Array.isArray(child) ? child : [child]; } return ret }; @@ -1372,23 +1372,23 @@ * Other object hashes. */ strats.props = - strats.methods = - strats.inject = - strats.computed = function ( - parentVal, - childVal, - vm, - key - ) { - if (childVal && "development" !== 'production') { - assertObjectType(key, childVal, vm); - } - if (!parentVal) { return childVal } - var ret = Object.create(null); - extend(ret, parentVal); - if (childVal) { extend(ret, childVal); } - return ret - }; + strats.methods = + strats.inject = + strats.computed = function ( + parentVal, + childVal, + vm, + key + ) { + if (childVal && "development" !== 'production') { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) { extend(ret, childVal); } + return ret + }; strats.provide = mergeDataOrFn; /** @@ -1396,8 +1396,8 @@ */ var defaultStrat = function (parentVal, childVal) { return childVal === undefined - ? parentVal - : childVal + ? parentVal + : childVal }; /** @@ -1410,16 +1410,16 @@ } function validateComponentName (name) { - if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + unicodeLetters + "]*$")).test(name)) { + if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { warn( - 'Invalid component name: "' + name + '". Component names ' + - 'should conform to valid custom element name in html5 specification.' + 'Invalid component name: "' + name + '". Component names ' + + 'should conform to valid custom element name in html5 specification.' ); } if (isBuiltInTag(name) || config.isReservedTag(name)) { warn( - 'Do not use built-in or reserved HTML elements as component ' + - 'id: ' + name + 'Do not use built-in or reserved HTML elements as component ' + + 'id: ' + name ); } } @@ -1449,14 +1449,14 @@ val = props[key]; name = camelize(key); res[name] = isPlainObject(val) - ? val - : { type: val }; + ? val + : { type: val }; } } else { warn( - "Invalid value for option \"props\": expected an Array or an Object, " + - "but got " + (toRawType(props)) + ".", - vm + "Invalid value for option \"props\": expected an Array or an Object, " + + "but got " + (toRawType(props)) + ".", + vm ); } options.props = res; @@ -1477,14 +1477,14 @@ for (var key in inject) { var val = inject[key]; normalized[key] = isPlainObject(val) - ? extend({ from: key }, val) - : { from: val }; + ? extend({ from: key }, val) + : { from: val }; } } else { warn( - "Invalid value for option \"inject\": expected an Array or an Object, " + - "but got " + (toRawType(inject)) + ".", - vm + "Invalid value for option \"inject\": expected an Array or an Object, " + + "but got " + (toRawType(inject)) + ".", + vm ); } } @@ -1507,9 +1507,9 @@ function assertObjectType (name, value, vm) { if (!isPlainObject(value)) { warn( - "Invalid value for option \"" + name + "\": expected an Object, " + - "but got " + (toRawType(value)) + ".", - vm + "Invalid value for option \"" + name + "\": expected an Object, " + + "but got " + (toRawType(value)) + ".", + vm ); } } @@ -1519,9 +1519,9 @@ * Core utility used in both instantiation and inheritance. */ function mergeOptions ( - parent, - child, - vm + parent, + child, + vm ) { { checkComponents(child); @@ -1573,10 +1573,10 @@ * to assets defined in its ancestor chain. */ function resolveAsset ( - options, - type, - id, - warnMissing + options, + type, + id, + warnMissing ) { /* istanbul ignore if */ if (typeof id !== 'string') { @@ -1593,8 +1593,8 @@ var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; if (warnMissing && !res) { warn( - 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, - options + 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, + options ); } return res @@ -1605,10 +1605,10 @@ function validateProp ( - key, - propOptions, - propsData, - vm + key, + propOptions, + propsData, + vm ) { var prop = propOptions[key]; var absent = !hasOwn(propsData, key); @@ -1655,41 +1655,41 @@ // warn against non-factory defaults for Object & Array if (isObject(def)) { warn( - 'Invalid default value for prop "' + key + '": ' + - 'Props with type Object/Array must use a factory function ' + - 'to return the default value.', - vm + 'Invalid default value for prop "' + key + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm ); } // the raw prop value was also undefined from previous render, // return previous default value to avoid unnecessary watcher trigger if (vm && vm.$options.propsData && - vm.$options.propsData[key] === undefined && - vm._props[key] !== undefined + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined ) { return vm._props[key] } // call factory function for non-Function types // a value is Function if its prototype is function even across different execution context return typeof def === 'function' && getType(prop.type) !== 'Function' - ? def.call(vm) - : def + ? def.call(vm) + : def } /** * Assert whether a prop is valid. */ function assertProp ( - prop, - name, - value, - vm, - absent + prop, + name, + value, + vm, + absent ) { if (prop.required && absent) { warn( - 'Missing required prop: "' + name + '"', - vm + 'Missing required prop: "' + name + '"', + vm ); return } @@ -1712,8 +1712,8 @@ if (!valid) { warn( - getInvalidTypeMessage(name, value, expectedTypes), - vm + getInvalidTypeMessage(name, value, expectedTypes), + vm ); return } @@ -1721,8 +1721,8 @@ if (validator) { if (!validator(value)) { warn( - 'Invalid prop: custom validator check failed for prop "' + name + '".', - vm + 'Invalid prop: custom validator check failed for prop "' + name + '".', + vm ); } } @@ -1781,7 +1781,7 @@ function getInvalidTypeMessage (name, value, expectedTypes) { var message = "Invalid prop: type check failed for prop \"" + name + "\"." + - " Expected " + (expectedTypes.map(capitalize).join(', ')); + " Expected " + (expectedTypes.map(capitalize).join(', ')); var expectedType = expectedTypes[0]; var receivedType = toRawType(value); var expectedValue = styleValue(value, expectedType); @@ -1852,19 +1852,20 @@ } function invokeWithErrorHandling ( - handler, - context, - args, - vm, - info + handler, + context, + args, + vm, + info ) { var res; try { res = args ? handler.apply(context, args) : handler.call(context); - if (res && !res._isVue && isPromise(res)) { + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); // issue #9511 - // reassign to res to avoid catch triggering multiple times when nested calls - res = res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); + // avoid catch triggering multiple times when nested calls + res._handled = true; } } catch (e) { handleError(e, vm, info); @@ -1948,9 +1949,9 @@ }; isUsingMicroTask = true; } else if (!isIE && typeof MutationObserver !== 'undefined' && ( - isNative(MutationObserver) || - // PhantomJS and iOS 7.x - MutationObserver.toString() === '[object MutationObserverConstructor]' + isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]' )) { // Use MutationObserver where native Promise is not available, // e.g. PhantomJS, iOS7, Android 4.4 @@ -1968,7 +1969,7 @@ isUsingMicroTask = true; } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { // Fallback to setImmediate. - // Techinically it leverages the (macro) task queue, + // Technically it leverages the (macro) task queue, // but it is still a better choice than setTimeout. timerFunc = function () { setImmediate(flushCallbacks); @@ -2014,11 +2015,11 @@ var perf = inBrowser && window.performance; /* istanbul ignore if */ if ( - perf && - perf.mark && - perf.measure && - perf.clearMarks && - perf.clearMeasures + perf && + perf.mark && + perf.measure && + perf.clearMarks && + perf.clearMeasures ) { mark = function (tag) { return perf.mark(tag); }; measure = function (name, startTag, endTag) { @@ -2036,35 +2037,35 @@ { var allowedGlobals = makeMap( - 'Infinity,undefined,NaN,isFinite,isNaN,' + - 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + - 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + - 'require' // for Webpack/Browserify + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify ); var warnNonPresent = function (target, key) { warn( - "Property or method \"" + key + "\" is not defined on the instance but " + - 'referenced during render. Make sure that this property is reactive, ' + - 'either in the data option, or for class-based components, by ' + - 'initializing the property. ' + - 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', - target + "Property or method \"" + key + "\" is not defined on the instance but " + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target ); }; var warnReservedPrefix = function (target, key) { warn( - "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + - 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + - 'prevent conflicts with Vue internals' + - 'See: https://vuejs.org/v2/api/#data', - target + "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals. ' + + 'See: https://vuejs.org/v2/api/#data', + target ); }; var hasProxy = - typeof Proxy !== 'undefined' && isNative(Proxy); + typeof Proxy !== 'undefined' && isNative(Proxy); if (hasProxy) { var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); @@ -2085,7 +2086,7 @@ has: function has (target, key) { var has = key in target; var isAllowed = allowedGlobals(key) || - (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); + (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); if (!has && !isAllowed) { if (key in target.$data) { warnReservedPrefix(target, key); } else { warnNonPresent(target, key); } @@ -2109,8 +2110,8 @@ // determine which proxy handler to use var options = vm.$options; var handlers = options.render && options.render._withStripped - ? getHandler - : hasHandler; + ? getHandler + : hasHandler; vm._renderProxy = new Proxy(vm, handlers); } else { vm._renderProxy = vm; @@ -2192,12 +2193,12 @@ } function updateListeners ( - on, - oldOn, - add, - remove$$1, - createOnceHandler, - vm + on, + oldOn, + add, + remove$$1, + createOnceHandler, + vm ) { var name, def$$1, cur, old, event; for (name in on) { @@ -2206,8 +2207,8 @@ event = normalizeEvent(name); if (isUndef(cur)) { warn( - "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), - vm + "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), + vm ); } else if (isUndef(old)) { if (isUndef(cur.fns)) { @@ -2268,9 +2269,9 @@ /* */ function extractPropsFromVNodeData ( - data, - Ctor, - tag + data, + Ctor, + tag ) { // we are only extracting raw values here. // validation and default values are handled in the child @@ -2288,16 +2289,16 @@ { var keyInLowerCase = key.toLowerCase(); if ( - key !== keyInLowerCase && - attrs && hasOwn(attrs, keyInLowerCase) + key !== keyInLowerCase && + attrs && hasOwn(attrs, keyInLowerCase) ) { tip( - "Prop \"" + keyInLowerCase + "\" is passed to component " + - (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + - " \"" + key + "\". " + - "Note that HTML attributes are case-insensitive and camelCased " + - "props need to use their kebab-case equivalents when using in-DOM " + - "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." + "Prop \"" + keyInLowerCase + "\" is passed to component " + + (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + + " \"" + key + "\". " + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." ); } } @@ -2309,11 +2310,11 @@ } function checkProp ( - res, - hash, - key, - altKey, - preserve + res, + hash, + key, + altKey, + preserve ) { if (isDef(hash)) { if (hasOwn(hash, key)) { @@ -2362,10 +2363,10 @@ // is needed to cater to all possible types of children values. function normalizeChildren (children) { return isPrimitive(children) - ? [createTextVNode(children)] - : Array.isArray(children) - ? normalizeArrayChildren(children) - : undefined + ? [createTextVNode(children)] + : Array.isArray(children) + ? normalizeArrayChildren(children) + : undefined } function isTextNode (node) { @@ -2408,9 +2409,9 @@ } else { // default key for nested array children (likely generated by v-for) if (isTrue(children._isVList) && - isDef(c.tag) && - isUndef(c.key) && - isDef(nestedIndex)) { + isDef(c.tag) && + isUndef(c.key) && + isDef(nestedIndex)) { c.key = "__vlist" + nestedIndex + "_" + i + "__"; } res.push(c); @@ -2426,8 +2427,8 @@ var provide = vm.$options.provide; if (provide) { vm._provided = typeof provide === 'function' - ? provide.call(vm) - : provide; + ? provide.call(vm) + : provide; } } @@ -2440,10 +2441,10 @@ { defineReactive$$1(vm, key, result[key], function () { warn( - "Avoid mutating an injected value directly since the changes will be " + - "overwritten whenever the provided component re-renders. " + - "injection being mutated: \"" + key + "\"", - vm + "Avoid mutating an injected value directly since the changes will be " + + "overwritten whenever the provided component re-renders. " + + "injection being mutated: \"" + key + "\"", + vm ); }); } @@ -2457,8 +2458,8 @@ // inject is :any because flow is not smart enough to figure out cached var result = Object.create(null); var keys = hasSymbol - ? Reflect.ownKeys(inject) - : Object.keys(inject); + ? Reflect.ownKeys(inject) + : Object.keys(inject); for (var i = 0; i < keys.length; i++) { var key = keys[i]; @@ -2477,8 +2478,8 @@ if ('default' in inject[key]) { var provideDefault = inject[key].default; result[key] = typeof provideDefault === 'function' - ? provideDefault.call(vm) - : provideDefault; + ? provideDefault.call(vm) + : provideDefault; } else { warn(("Injection \"" + key + "\" not found"), vm); } @@ -2496,8 +2497,8 @@ * Runtime helper for resolving raw children VNodes into a slot object. */ function resolveSlots ( - children, - context + children, + context ) { if (!children || !children.length) { return {} @@ -2513,7 +2514,7 @@ // named slots should only be respected if the vnode was rendered in the // same context. if ((child.context === context || child.fnContext === context) && - data && data.slot != null + data && data.slot != null ) { var name = data.slot; var slot = (slots[name] || (slots[name] = [])); @@ -2542,12 +2543,13 @@ /* */ function normalizeScopedSlots ( - slots, - normalSlots, - prevSlots + slots, + normalSlots, + prevSlots ) { var res; - var isStable = slots ? !!slots.$stable : true; + var hasNormalSlots = Object.keys(normalSlots).length > 0; + var isStable = slots ? !!slots.$stable : !hasNormalSlots; var key = slots && slots.$key; if (!slots) { res = {}; @@ -2555,11 +2557,12 @@ // fast path 1: child component re-render only, parent did not change return slots._normalized } else if ( - isStable && - prevSlots && - prevSlots !== emptyObject && - key === prevSlots.$key && - Object.keys(normalSlots).length === 0 + isStable && + prevSlots && + prevSlots !== emptyObject && + key === prevSlots.$key && + !hasNormalSlots && + !prevSlots.$hasNormal ) { // fast path 2: stable scoped slots w/ no normal slots to proxy, // only need to normalize once @@ -2585,6 +2588,7 @@ } def(res, '$stable', isStable); def(res, '$key', key); + def(res, '$hasNormal', hasNormalSlots); return res } @@ -2592,11 +2596,13 @@ var normalized = function () { var res = arguments.length ? fn.apply(null, arguments) : fn({}); res = res && typeof res === 'object' && !Array.isArray(res) - ? [res] // single vnode - : normalizeChildren(res); - return res && res.length === 0 - ? undefined - : res + ? [res] // single vnode + : normalizeChildren(res); + return res && ( + res.length === 0 || + (res.length === 1 && res[0].isComment) // #9658 + ) ? undefined + : res }; // this is a slot using the new v-slot syntax without scope. although it is // compiled as a scoped slot, render fn users would expect it to be present @@ -2621,8 +2627,8 @@ * Runtime helper for rendering v-for lists. */ function renderList ( - val, - render + val, + render ) { var ret, i, l, keys, key; if (Array.isArray(val) || typeof val === 'string') { @@ -2666,10 +2672,10 @@ * Runtime helper for rendering */ function renderSlot ( - name, - fallback, - props, - bindObject + name, + fallback, + props, + bindObject ) { var scopedSlotFn = this.$scopedSlots[name]; var nodes; @@ -2678,8 +2684,8 @@ if (bindObject) { if (!isObject(bindObject)) { warn( - 'slot v-bind without argument expects an Object', - this + 'slot v-bind without argument expects an Object', + this ); } props = extend(extend({}, bindObject), props); @@ -2722,11 +2728,11 @@ * passing in eventKeyName as last argument separately for backwards compat */ function checkKeyCodes ( - eventKeyCode, - key, - builtInKeyCode, - eventKeyName, - builtInKeyName + eventKeyCode, + key, + builtInKeyCode, + eventKeyName, + builtInKeyName ) { var mappedKeyCode = config.keyCodes[key] || builtInKeyCode; if (builtInKeyName && eventKeyName && !config.keyCodes[key]) { @@ -2744,17 +2750,17 @@ * Runtime helper for merging v-bind="object" into a VNode's data. */ function bindObjectProps ( - data, - tag, - value, - asProp, - isSync + data, + tag, + value, + asProp, + isSync ) { if (value) { if (!isObject(value)) { warn( - 'v-bind without argument expects an Object or Array value', - this + 'v-bind without argument expects an Object or Array value', + this ); } else { if (Array.isArray(value)) { @@ -2763,24 +2769,25 @@ var hash; var loop = function ( key ) { if ( - key === 'class' || - key === 'style' || - isReservedAttribute(key) + key === 'class' || + key === 'style' || + isReservedAttribute(key) ) { hash = data; } else { var type = data.attrs && data.attrs.type; hash = asProp || config.mustUseProp(tag, type, key) - ? data.domProps || (data.domProps = {}) - : data.attrs || (data.attrs = {}); + ? data.domProps || (data.domProps = {}) + : data.attrs || (data.attrs = {}); } var camelizedKey = camelize(key); - if (!(key in hash) && !(camelizedKey in hash)) { + var hyphenatedKey = hyphenate(key); + if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) { hash[key] = value[key]; if (isSync) { var on = data.on || (data.on = {}); - on[("update:" + camelizedKey)] = function ($event) { + on[("update:" + key)] = function ($event) { value[key] = $event; }; } @@ -2799,8 +2806,8 @@ * Runtime helper for rendering static trees. */ function renderStatic ( - index, - isInFor + index, + isInFor ) { var cached = this._staticTrees || (this._staticTrees = []); var tree = cached[index]; @@ -2811,9 +2818,9 @@ } // otherwise, render a fresh tree. tree = cached[index] = this.$options.staticRenderFns[index].call( - this._renderProxy, - null, - this // for render fns generated for functional component templates + this._renderProxy, + null, + this // for render fns generated for functional component templates ); markStatic(tree, ("__static__" + index), false); return tree @@ -2824,18 +2831,18 @@ * Effectively it means marking the node as static with a unique key. */ function markOnce ( - tree, - index, - key + tree, + index, + key ) { markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true); return tree } function markStatic ( - tree, - key, - isOnce + tree, + key, + isOnce ) { if (Array.isArray(tree)) { for (var i = 0; i < tree.length; i++) { @@ -2860,8 +2867,8 @@ if (value) { if (!isPlainObject(value)) { warn( - 'v-on without argument expects an Object value', - this + 'v-on without argument expects an Object value', + this ); } else { var on = data.on = data.on ? extend({}, data.on) : {}; @@ -2878,11 +2885,11 @@ /* */ function resolveScopedSlots ( - fns, // see flow/vnode - res, - // the following are added in 2.6 - hasDynamicKeys, - contentHashKey + fns, // see flow/vnode + res, + // the following are added in 2.6 + hasDynamicKeys, + contentHashKey ) { res = res || { $stable: !hasDynamicKeys }; for (var i = 0; i < fns.length; i++) { @@ -2911,10 +2918,10 @@ if (typeof key === 'string' && key) { baseObj[values[i]] = values[i + 1]; } else if (key !== '' && key !== null) { - // null is a speical value for explicitly removing a binding + // null is a special value for explicitly removing a binding warn( - ("Invalid value for dynamic directive argument (expected string or null): " + key), - this + ("Invalid value for dynamic directive argument (expected string or null): " + key), + this ); } } @@ -2953,11 +2960,11 @@ /* */ function FunctionalRenderContext ( - data, - props, - children, - parent, - Ctor + data, + props, + children, + parent, + Ctor ) { var this$1 = this; @@ -2989,8 +2996,8 @@ this.slots = function () { if (!this$1.$slots) { normalizeScopedSlots( - data.scopedSlots, - this$1.$slots = resolveSlots(children, parent) + data.scopedSlots, + this$1.$slots = resolveSlots(children, parent) ); } return this$1.$slots @@ -3029,11 +3036,11 @@ installRenderHelpers(FunctionalRenderContext.prototype); function createFunctionalComponent ( - Ctor, - propsData, - data, - contextVm, - children + Ctor, + propsData, + data, + contextVm, + children ) { var options = Ctor.options; var props = {}; @@ -3048,11 +3055,11 @@ } var renderContext = new FunctionalRenderContext( - data, - props, - children, - contextVm, - Ctor + data, + props, + children, + contextVm, + Ctor ); var vnode = options.render.call(null, renderContext._c, renderContext); @@ -3103,17 +3110,17 @@ var componentVNodeHooks = { init: function init (vnode, hydrating) { if ( - vnode.componentInstance && - !vnode.componentInstance._isDestroyed && - vnode.data.keepAlive + vnode.componentInstance && + !vnode.componentInstance._isDestroyed && + vnode.data.keepAlive ) { // kept-alive components, treat as a patch var mountedNode = vnode; // work around flow componentVNodeHooks.prepatch(mountedNode, mountedNode); } else { var child = vnode.componentInstance = createComponentInstanceForVnode( - vnode, - activeInstance + vnode, + activeInstance ); child.$mount(hydrating ? vnode.elm : undefined, hydrating); } @@ -3123,11 +3130,11 @@ var options = vnode.componentOptions; var child = vnode.componentInstance = oldVnode.componentInstance; updateChildComponent( - child, - options.propsData, // updated props - options.listeners, // updated listeners - vnode, // new parent vnode - options.children // new children + child, + options.propsData, // updated props + options.listeners, // updated listeners + vnode, // new parent vnode + options.children // new children ); }, @@ -3167,11 +3174,11 @@ var hooksToMerge = Object.keys(componentVNodeHooks); function createComponent ( - Ctor, - data, - context, - children, - tag + Ctor, + data, + context, + children, + tag ) { if (isUndef(Ctor)) { return @@ -3203,11 +3210,11 @@ // as a comment node but preserves all the raw information for the node. // the information will be used for async server-rendering and hydration. return createAsyncPlaceholder( - asyncFactory, - data, - context, - children, - tag + asyncFactory, + data, + context, + children, + tag ) } } @@ -3256,18 +3263,18 @@ // return a placeholder vnode var name = Ctor.options.name || tag; var vnode = new VNode( - ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')), - data, undefined, undefined, undefined, context, - { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, - asyncFactory + ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')), + data, undefined, undefined, undefined, context, + { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children }, + asyncFactory ); return vnode } function createComponentInstanceForVnode ( - vnode, // we know it's MountedComponentVNode but flow doesn't - parent // activeInstance in lifecycle state + vnode, // we know it's MountedComponentVNode but flow doesn't + parent // activeInstance in lifecycle state ) { var options = { _isComponent: true, @@ -3316,9 +3323,9 @@ var callback = data.model.callback; if (isDef(existing)) { if ( - Array.isArray(existing) - ? existing.indexOf(callback) === -1 - : existing !== callback + Array.isArray(existing) + ? existing.indexOf(callback) === -1 + : existing !== callback ) { on[event] = [callback].concat(existing); } @@ -3335,12 +3342,12 @@ // wrapper function for providing a more flexible interface // without getting yelled at by flow function createElement ( - context, - tag, - data, - children, - normalizationType, - alwaysNormalize + context, + tag, + data, + children, + normalizationType, + alwaysNormalize ) { if (Array.isArray(data) || isPrimitive(data)) { normalizationType = children; @@ -3354,17 +3361,17 @@ } function _createElement ( - context, - tag, - data, - children, - normalizationType + context, + tag, + data, + children, + normalizationType ) { if (isDef(data) && isDef((data).__ob__)) { warn( - "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" + - 'Always create fresh vnode data objects in each render!', - context + "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" + + 'Always create fresh vnode data objects in each render!', + context ); return createEmptyVNode() } @@ -3381,15 +3388,15 @@ ) { { warn( - 'Avoid using non-primitive value as key, ' + - 'use string/number value instead.', - context + 'Avoid using non-primitive value as key, ' + + 'use string/number value instead.', + context ); } } // support single function children as default scoped slot if (Array.isArray(children) && - typeof children[0] === 'function' + typeof children[0] === 'function' ) { data = data || {}; data.scopedSlots = { default: children[0] }; @@ -3406,9 +3413,15 @@ ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag); if (config.isReservedTag(tag)) { // platform built-in elements + if (isDef(data) && isDef(data.nativeOn)) { + warn( + ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."), + context + ); + } vnode = new VNode( - config.parsePlatformTagName(tag), data, children, - undefined, undefined, context + config.parsePlatformTagName(tag), data, children, + undefined, undefined, context ); } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) { // component @@ -3418,8 +3431,8 @@ // check at runtime because it may get assigned a namespace when its // parent normalizes children vnode = new VNode( - tag, data, children, - undefined, undefined, context + tag, data, children, + undefined, undefined, context ); } } else { @@ -3448,7 +3461,7 @@ for (var i = 0, l = vnode.children.length; i < l; i++) { var child = vnode.children[i]; if (isDef(child.tag) && ( - isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { + isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) { applyNS(child, ns, force); } } @@ -3519,9 +3532,9 @@ if (_parentVnode) { vm.$scopedSlots = normalizeScopedSlots( - _parentVnode.data.scopedSlots, - vm.$slots, - vm.$scopedSlots + _parentVnode.data.scopedSlots, + vm.$slots, + vm.$scopedSlots ); } @@ -3531,7 +3544,7 @@ // render self var vnode; try { - // There's no need to maintain a stack becaues all render fns are called + // There's no need to maintain a stack because all render fns are called // separately from one another. Nested component's render fns are called // when parent component is patched. currentRenderingInstance = vm; @@ -3562,9 +3575,9 @@ if (!(vnode instanceof VNode)) { if (Array.isArray(vnode)) { warn( - 'Multiple root nodes returned from render function. Render function ' + - 'should return a single root node.', - vm + 'Multiple root nodes returned from render function. Render function ' + + 'should return a single root node.', + vm ); } vnode = createEmptyVNode(); @@ -3579,22 +3592,22 @@ function ensureCtor (comp, base) { if ( - comp.__esModule || - (hasSymbol && comp[Symbol.toStringTag] === 'Module') + comp.__esModule || + (hasSymbol && comp[Symbol.toStringTag] === 'Module') ) { comp = comp.default; } return isObject(comp) - ? base.extend(comp) - : comp + ? base.extend(comp) + : comp } function createAsyncPlaceholder ( - factory, - data, - context, - children, - tag + factory, + data, + context, + children, + tag ) { var node = createEmptyVNode(); node.asyncFactory = factory; @@ -3603,8 +3616,8 @@ } function resolveAsyncComponent ( - factory, - baseCtor + factory, + baseCtor ) { if (isTrue(factory.error) && isDef(factory.errorComp)) { return factory.errorComp @@ -3614,17 +3627,23 @@ return factory.resolved } + var owner = currentRenderingInstance; + if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) { + // already pending + factory.owners.push(owner); + } + if (isTrue(factory.loading) && isDef(factory.loadingComp)) { return factory.loadingComp } - var owner = currentRenderingInstance; - if (isDef(factory.owners)) { - // already pending - factory.owners.push(owner); - } else { + if (owner && !isDef(factory.owners)) { var owners = factory.owners = [owner]; var sync = true; + var timerLoading = null; + var timerTimeout = null + + ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); }); var forceRender = function (renderCompleted) { for (var i = 0, l = owners.length; i < l; i++) { @@ -3633,6 +3652,14 @@ if (renderCompleted) { owners.length = 0; + if (timerLoading !== null) { + clearTimeout(timerLoading); + timerLoading = null; + } + if (timerTimeout !== null) { + clearTimeout(timerTimeout); + timerTimeout = null; + } } }; @@ -3650,8 +3677,8 @@ var reject = once(function (reason) { warn( - "Failed to resolve async component: " + (String(factory)) + - (reason ? ("\nReason: " + reason) : '') + "Failed to resolve async component: " + (String(factory)) + + (reason ? ("\nReason: " + reason) : '') ); if (isDef(factory.errorComp)) { factory.error = true; @@ -3679,7 +3706,8 @@ if (res.delay === 0) { factory.loading = true; } else { - setTimeout(function () { + timerLoading = setTimeout(function () { + timerLoading = null; if (isUndef(factory.resolved) && isUndef(factory.error)) { factory.loading = true; forceRender(false); @@ -3689,10 +3717,11 @@ } if (isDef(res.timeout)) { - setTimeout(function () { + timerTimeout = setTimeout(function () { + timerTimeout = null; if (isUndef(factory.resolved)) { reject( - "timeout (" + (res.timeout) + "ms)" + "timeout (" + (res.timeout) + "ms)" ); } }, res.timeout); @@ -3703,8 +3732,8 @@ sync = false; // return in case resolved synchronously return factory.loading - ? factory.loadingComp - : factory.resolved + ? factory.loadingComp + : factory.resolved } } @@ -3762,9 +3791,9 @@ } function updateComponentListeners ( - vm, - listeners, - oldListeners + vm, + listeners, + oldListeners ) { target = vm; updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm); @@ -3843,11 +3872,11 @@ var lowerCaseEvent = event.toLowerCase(); if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) { tip( - "Event \"" + lowerCaseEvent + "\" is emitted in component " + - (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " + - "Note that HTML attributes are case-insensitive and you cannot use " + - "v-on to listen to camelCase events when using in-DOM templates. " + - "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"." + "Event \"" + lowerCaseEvent + "\" is emitted in component " + + (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " + + "Note that HTML attributes are case-insensitive and you cannot use " + + "v-on to listen to camelCase events when using in-DOM templates. " + + "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"." ); } } @@ -3987,9 +4016,9 @@ } function mountComponent ( - vm, - el, - hydrating + vm, + el, + hydrating ) { vm.$el = el; if (!vm.$options.render) { @@ -3997,17 +4026,17 @@ { /* istanbul ignore if */ if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') || - vm.$options.el || el) { + vm.$options.el || el) { warn( - 'You are using the runtime-only build of Vue where the template ' + - 'compiler is not available. Either pre-compile the templates into ' + - 'render functions, or use the compiler-included build.', - vm + 'You are using the runtime-only build of Vue where the template ' + + 'compiler is not available. Either pre-compile the templates into ' + + 'render functions, or use the compiler-included build.', + vm ); } else { warn( - 'Failed to mount component: template or render function not defined.', - vm + 'Failed to mount component: template or render function not defined.', + vm ); } } @@ -4061,11 +4090,11 @@ } function updateChildComponent ( - vm, - propsData, - listeners, - parentVnode, - renderChildren + vm, + propsData, + listeners, + parentVnode, + renderChildren ) { { isUpdatingChildComponent = true; @@ -4080,18 +4109,18 @@ var newScopedSlots = parentVnode.data.scopedSlots; var oldScopedSlots = vm.$scopedSlots; var hasDynamicScopedSlot = !!( - (newScopedSlots && !newScopedSlots.$stable) || - (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || - (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) + (newScopedSlots && !newScopedSlots.$stable) || + (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) || + (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key) ); // Any static slot children from the parent may have changed during parent's // update. Dynamic scoped slots may also have changed. In such cases, a forced // update is necessary to ensure correctness. var needsForceUpdate = !!( - renderChildren || // has new static slots - vm.$options._renderChildren || // has old static slots - hasDynamicScopedSlot + renderChildren || // has new static slots + vm.$options._renderChildren || // has old static slots + hasDynamicScopedSlot ); vm.$options._parentVnode = parentVnode; @@ -4235,11 +4264,21 @@ // timestamp can either be hi-res (relative to page load) or low-res // (relative to UNIX epoch), so in order to compare time we have to use the // same timestamp type when saving the flush timestamp. - if (inBrowser && getNow() > document.createEvent('Event').timeStamp) { - // if the low-res timestamp which is bigger than the event timestamp - // (which is evaluated AFTER) it means the event is using a hi-res timestamp, - // and we need to use the hi-res version for event listeners as well. - getNow = function () { return performance.now(); }; + // All IE versions use low-res event timestamps, and have problematic clock + // implementations (#9632) + if (inBrowser && !isIE) { + var performance = window.performance; + if ( + performance && + typeof performance.now === 'function' && + getNow() > document.createEvent('Event').timeStamp + ) { + // if the event timestamp, although evaluated AFTER the Date.now(), is + // smaller than it, it means the event is using a hi-res timestamp, + // and we need to use the hi-res version for event listener timestamps as + // well. + getNow = function () { return performance.now(); }; + } } /** @@ -4275,12 +4314,12 @@ circular[id] = (circular[id] || 0) + 1; if (circular[id] > MAX_UPDATE_COUNT) { warn( - 'You may have an infinite update loop ' + ( - watcher.user - ? ("in watcher with expression \"" + (watcher.expression) + "\"") - : "in a component render function." - ), - watcher.vm + 'You may have an infinite update loop ' + ( + watcher.user + ? ("in watcher with expression \"" + (watcher.expression) + "\"") + : "in a component render function." + ), + watcher.vm ); break } @@ -4378,11 +4417,11 @@ * This is used for both the $watch() api and directives. */ var Watcher = function Watcher ( - vm, - expOrFn, - cb, - options, - isRenderWatcher + vm, + expOrFn, + cb, + options, + isRenderWatcher ) { this.vm = vm; if (isRenderWatcher) { @@ -4416,16 +4455,16 @@ if (!this.getter) { this.getter = noop; warn( - "Failed watching path: \"" + expOrFn + "\" " + - 'Watcher only accepts simple dot-delimited paths. ' + - 'For full control, use a function instead.', - vm + "Failed watching path: \"" + expOrFn + "\" " + + 'Watcher only accepts simple dot-delimited paths. ' + + 'For full control, use a function instead.', + vm ); } } this.value = this.lazy - ? undefined - : this.get(); + ? undefined + : this.get(); }; /** @@ -4513,12 +4552,12 @@ if (this.active) { var value = this.get(); if ( - value !== this.value || - // Deep watchers and watchers on Object/Arrays should fire even - // when the value is the same, because the value may - // have mutated. - isObject(value) || - this.deep + value !== this.value || + // Deep watchers and watchers on Object/Arrays should fire even + // when the value is the same, because the value may + // have mutated. + isObject(value) || + this.deep ) { // set new value var oldValue = this.value; @@ -4629,18 +4668,18 @@ if (isReservedAttribute(hyphenatedKey) || config.isReservedAttr(hyphenatedKey)) { warn( - ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."), - vm + ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."), + vm ); } defineReactive$$1(props, key, value, function () { if (!isRoot && !isUpdatingChildComponent) { warn( - "Avoid mutating a prop directly since the value will be " + - "overwritten whenever the parent component re-renders. " + - "Instead, use a data or computed property based on the prop's " + - "value. Prop being mutated: \"" + key + "\"", - vm + "Avoid mutating a prop directly since the value will be " + + "overwritten whenever the parent component re-renders. " + + "Instead, use a data or computed property based on the prop's " + + "value. Prop being mutated: \"" + key + "\"", + vm ); } }); @@ -4660,14 +4699,14 @@ function initData (vm) { var data = vm.$options.data; data = vm._data = typeof data === 'function' - ? getData(data, vm) - : data || {}; + ? getData(data, vm) + : data || {}; if (!isPlainObject(data)) { data = {}; warn( - 'data functions should return an object:\n' + - 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', - vm + 'data functions should return an object:\n' + + 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', + vm ); } // proxy data on instance @@ -4680,16 +4719,16 @@ { if (methods && hasOwn(methods, key)) { warn( - ("Method \"" + key + "\" has already been defined as a data property."), - vm + ("Method \"" + key + "\" has already been defined as a data property."), + vm ); } } if (props && hasOwn(props, key)) { warn( - "The data property \"" + key + "\" is already declared as a prop. " + - "Use prop default value instead.", - vm + "The data property \"" + key + "\" is already declared as a prop. " + + "Use prop default value instead.", + vm ); } else if (!isReserved(key)) { proxy(vm, "_data", key); @@ -4725,18 +4764,18 @@ var getter = typeof userDef === 'function' ? userDef : userDef.get; if (getter == null) { warn( - ("Getter is missing for computed property \"" + key + "\"."), - vm + ("Getter is missing for computed property \"" + key + "\"."), + vm ); } if (!isSSR) { // create internal watcher for the computed property. watchers[key] = new Watcher( - vm, - getter || noop, - noop, - computedWatcherOptions + vm, + getter || noop, + noop, + computedWatcherOptions ); } @@ -4756,29 +4795,29 @@ } function defineComputed ( - target, - key, - userDef + target, + key, + userDef ) { var shouldCache = !isServerRendering(); if (typeof userDef === 'function') { sharedPropertyDefinition.get = shouldCache - ? createComputedGetter(key) - : createGetterInvoker(userDef); + ? createComputedGetter(key) + : createGetterInvoker(userDef); sharedPropertyDefinition.set = noop; } else { sharedPropertyDefinition.get = userDef.get - ? shouldCache && userDef.cache !== false - ? createComputedGetter(key) - : createGetterInvoker(userDef.get) - : noop; + ? shouldCache && userDef.cache !== false + ? createComputedGetter(key) + : createGetterInvoker(userDef.get) + : noop; sharedPropertyDefinition.set = userDef.set || noop; } if (sharedPropertyDefinition.set === noop) { sharedPropertyDefinition.set = function () { warn( - ("Computed property \"" + key + "\" was assigned to but it has no setter."), - this + ("Computed property \"" + key + "\" was assigned to but it has no setter."), + this ); }; } @@ -4812,21 +4851,21 @@ { if (typeof methods[key] !== 'function') { warn( - "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " + - "Did you reference the function correctly?", - vm + "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " + + "Did you reference the function correctly?", + vm ); } if (props && hasOwn(props, key)) { warn( - ("Method \"" + key + "\" has already been defined as a prop."), - vm + ("Method \"" + key + "\" has already been defined as a prop."), + vm ); } if ((key in vm) && isReserved(key)) { warn( - "Method \"" + key + "\" conflicts with an existing Vue instance method. " + - "Avoid defining component methods that start with _ or $." + "Method \"" + key + "\" conflicts with an existing Vue instance method. " + + "Avoid defining component methods that start with _ or $." ); } } @@ -4848,10 +4887,10 @@ } function createWatcher ( - vm, - expOrFn, - handler, - options + vm, + expOrFn, + handler, + options ) { if (isPlainObject(handler)) { options = handler; @@ -4874,9 +4913,9 @@ { dataDef.set = function () { warn( - 'Avoid replacing instance root $data. ' + - 'Use nested data properties instead.', - this + 'Avoid replacing instance root $data. ' + + 'Use nested data properties instead.', + this ); }; propsDef.set = function () { @@ -4890,9 +4929,9 @@ Vue.prototype.$delete = del; Vue.prototype.$watch = function ( - expOrFn, - cb, - options + expOrFn, + cb, + options ) { var vm = this; if (isPlainObject(cb)) { @@ -4942,9 +4981,9 @@ initInternalComponent(vm, options); } else { vm.$options = mergeOptions( - resolveConstructorOptions(vm.constructor), - options || {}, - vm + resolveConstructorOptions(vm.constructor), + options || {}, + vm ); } /* istanbul ignore else */ @@ -5111,8 +5150,8 @@ Sub.prototype.constructor = Sub; Sub.cid = cid++; Sub.options = mergeOptions( - Super.options, - extendOptions + Super.options, + extendOptions ); Sub['super'] = Super; @@ -5176,8 +5215,8 @@ */ ASSET_TYPES.forEach(function (type) { Vue[type] = function ( - id, - definition + id, + definition ) { if (!definition) { return this.options[type + 's'][id] @@ -5236,10 +5275,10 @@ } function pruneCacheEntry ( - cache, - key, - keys, - current + cache, + key, + keys, + current ) { var cached$$1 = cache[key]; if (cached$$1 && (!current || cached$$1.tag !== current.tag)) { @@ -5294,10 +5333,10 @@ var include = ref.include; var exclude = ref.exclude; if ( - // not included - (include && (!name || !matches(include, name))) || - // excluded - (exclude && name && matches(exclude, name)) + // not included + (include && (!name || !matches(include, name))) || + // excluded + (exclude && name && matches(exclude, name)) ) { return vnode } @@ -5306,10 +5345,10 @@ var cache = ref$1.cache; var keys = ref$1.keys; var key = vnode.key == null - // same constructor may get registered as different local components - // so cid alone is not enough (#3269) - ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '') - : vnode.key; + // same constructor may get registered as different local components + // so cid alone is not enough (#3269) + ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '') + : vnode.key; if (cache[key]) { vnode.componentInstance = cache[key].componentInstance; // make current key freshest @@ -5343,7 +5382,7 @@ { configDef.set = function () { warn( - 'Do not replace the Vue.config object, set individual fields instead.' + 'Do not replace the Vue.config object, set individual fields instead.' ); }; } @@ -5404,7 +5443,7 @@ value: FunctionalRenderContext }); - Vue.version = '2.6.7'; + Vue.version = '2.6.12'; /* */ @@ -5416,10 +5455,10 @@ var acceptValue = makeMap('input,textarea,option,select,progress'); var mustUseProp = function (tag, type, attr) { return ( - (attr === 'value' && acceptValue(tag)) && type !== 'button' || - (attr === 'selected' && tag === 'option') || - (attr === 'checked' && tag === 'input') || - (attr === 'muted' && tag === 'video') + (attr === 'value' && acceptValue(tag)) && type !== 'button' || + (attr === 'selected' && tag === 'option') || + (attr === 'checked' && tag === 'input') || + (attr === 'muted' && tag === 'video') ) }; @@ -5429,20 +5468,20 @@ var convertEnumeratedValue = function (key, value) { return isFalsyAttrValue(value) || value === 'false' - ? 'false' - // allow arbitrary string value for contenteditable - : key === 'contenteditable' && isValidContentEditableValue(value) - ? value - : 'true' + ? 'false' + // allow arbitrary string value for contenteditable + : key === 'contenteditable' && isValidContentEditableValue(value) + ? value + : 'true' }; var isBooleanAttr = makeMap( - 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + - 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + - 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + - 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + - 'required,reversed,scoped,seamless,selected,sortable,translate,' + - 'truespeed,typemustmatch,visible' + 'allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,' + + 'default,defaultchecked,defaultmuted,defaultselected,defer,disabled,' + + 'enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,' + + 'muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,' + + 'required,reversed,scoped,seamless,selected,sortable,translate,' + + 'truespeed,typemustmatch,visible' ); var xlinkNS = 'http://www.w3.org/1999/xlink'; @@ -5483,14 +5522,14 @@ return { staticClass: concat(child.staticClass, parent.staticClass), class: isDef(child.class) - ? [child.class, parent.class] - : parent.class + ? [child.class, parent.class] + : parent.class } } function renderClass ( - staticClass, - dynamicClass + staticClass, + dynamicClass ) { if (isDef(staticClass) || isDef(dynamicClass)) { return concat(staticClass, stringifyClass(dynamicClass)) @@ -5548,26 +5587,26 @@ }; var isHTMLTag = makeMap( - 'html,body,base,head,link,meta,style,title,' + - 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + - 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + - 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + - 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + - 'embed,object,param,source,canvas,script,noscript,del,ins,' + - 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + - 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + - 'output,progress,select,textarea,' + - 'details,dialog,menu,menuitem,summary,' + - 'content,element,shadow,template,blockquote,iframe,tfoot' + 'html,body,base,head,link,meta,style,title,' + + 'address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,' + + 'div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,' + + 'a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,' + + 's,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,' + + 'embed,object,param,source,canvas,script,noscript,del,ins,' + + 'caption,col,colgroup,table,thead,tbody,td,th,tr,' + + 'button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,' + + 'output,progress,select,textarea,' + + 'details,dialog,menu,menuitem,summary,' + + 'content,element,shadow,template,blockquote,iframe,tfoot' ); // this map is intentionally selective, only covering SVG elements that may // contain child elements. var isSVG = makeMap( - 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + - 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + - 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', - true + 'svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,' + + 'foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,' + + 'polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view', + true ); var isPreTag = function (tag) { return tag === 'pre'; }; @@ -5605,8 +5644,8 @@ if (tag.indexOf('-') > -1) { // http://stackoverflow.com/a/28210364/1070244 return (unknownElementCache[tag] = ( - el.constructor === window.HTMLUnknownElement || - el.constructor === window.HTMLElement + el.constructor === window.HTMLUnknownElement || + el.constructor === window.HTMLElement )) } else { return (unknownElementCache[tag] = /HTMLUnknownElement/.test(el.toString())) @@ -5625,7 +5664,7 @@ var selected = document.querySelector(el); if (!selected) { warn( - 'Cannot find element: ' + el + 'Cannot find element: ' + el ); return document.createElement('div') } @@ -5770,18 +5809,18 @@ function sameVnode (a, b) { return ( - a.key === b.key && ( - ( - a.tag === b.tag && - a.isComment === b.isComment && - isDef(a.data) === isDef(b.data) && - sameInputType(a, b) - ) || ( - isTrue(a.isAsyncPlaceholder) && - a.asyncFactory === b.asyncFactory && - isUndef(b.asyncFactory.error) + a.key === b.key && ( + ( + a.tag === b.tag && + a.isComment === b.isComment && + isDef(a.data) === isDef(b.data) && + sameInputType(a, b) + ) || ( + isTrue(a.isAsyncPlaceholder) && + a.asyncFactory === b.asyncFactory && + isUndef(b.asyncFactory.error) + ) ) - ) ) } @@ -5843,30 +5882,30 @@ function isUnknownElement$$1 (vnode, inVPre) { return ( - !inVPre && - !vnode.ns && - !( - config.ignoredElements.length && - config.ignoredElements.some(function (ignore) { - return isRegExp(ignore) - ? ignore.test(vnode.tag) - : ignore === vnode.tag - }) - ) && - config.isUnknownElement(vnode.tag) + !inVPre && + !vnode.ns && + !( + config.ignoredElements.length && + config.ignoredElements.some(function (ignore) { + return isRegExp(ignore) + ? ignore.test(vnode.tag) + : ignore === vnode.tag + }) + ) && + config.isUnknownElement(vnode.tag) ) } var creatingElmInVPre = 0; function createElm ( - vnode, - insertedVnodeQueue, - parentElm, - refElm, - nested, - ownerArray, - index + vnode, + insertedVnodeQueue, + parentElm, + refElm, + nested, + ownerArray, + index ) { if (isDef(vnode.elm) && isDef(ownerArray)) { // This vnode was used in a previous render! @@ -5892,17 +5931,17 @@ } if (isUnknownElement$$1(vnode, creatingElmInVPre)) { warn( - 'Unknown custom element: <' + tag + '> - did you ' + - 'register the component correctly? For recursive components, ' + - 'make sure to provide the "name" option.', - vnode.context + 'Unknown custom element: <' + tag + '> - did you ' + + 'register the component correctly? For recursive components, ' + + 'make sure to provide the "name" option.', + vnode.context ); } } vnode.elm = vnode.ns - ? nodeOps.createElementNS(vnode.ns, tag) - : nodeOps.createElement(tag, vnode); + ? nodeOps.createElementNS(vnode.ns, tag) + : nodeOps.createElement(tag, vnode); setScope(vnode); /* istanbul ignore if */ @@ -6049,9 +6088,9 @@ } // for slot content they should also get the scopeId from the host instance. if (isDef(i = activeInstance) && - i !== vnode.context && - i !== vnode.fnContext && - isDef(i = i.$options._scopeId) + i !== vnode.context && + i !== vnode.fnContext && + isDef(i = i.$options._scopeId) ) { nodeOps.setStyleScope(vnode.elm, i); } @@ -6077,7 +6116,7 @@ } } - function removeVnodes (parentElm, vnodes, startIdx, endIdx) { + function removeVnodes (vnodes, startIdx, endIdx) { for (; startIdx <= endIdx; ++startIdx) { var ch = vnodes[startIdx]; if (isDef(ch)) { @@ -6166,8 +6205,8 @@ } else { if (isUndef(oldKeyToIdx)) { oldKeyToIdx = createKeyToOldIdx(oldCh, oldStartIdx, oldEndIdx); } idxInOld = isDef(newStartVnode.key) - ? oldKeyToIdx[newStartVnode.key] - : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); + ? oldKeyToIdx[newStartVnode.key] + : findIdxInOld(newStartVnode, oldCh, oldStartIdx, oldEndIdx); if (isUndef(idxInOld)) { // New element createElm(newStartVnode, insertedVnodeQueue, parentElm, oldStartVnode.elm, false, newCh, newStartIdx); } else { @@ -6188,7 +6227,7 @@ refElm = isUndef(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; addVnodes(parentElm, refElm, newCh, newStartIdx, newEndIdx, insertedVnodeQueue); } else if (newStartIdx > newEndIdx) { - removeVnodes(parentElm, oldCh, oldStartIdx, oldEndIdx); + removeVnodes(oldCh, oldStartIdx, oldEndIdx); } } @@ -6200,8 +6239,8 @@ if (isDef(key)) { if (seenKeys[key]) { warn( - ("Duplicate keys detected: '" + key + "'. This may cause an update error."), - vnode.context + ("Duplicate keys detected: '" + key + "'. This may cause an update error."), + vnode.context ); } else { seenKeys[key] = true; @@ -6218,12 +6257,12 @@ } function patchVnode ( - oldVnode, - vnode, - insertedVnodeQueue, - ownerArray, - index, - removeOnly + oldVnode, + vnode, + insertedVnodeQueue, + ownerArray, + index, + removeOnly ) { if (oldVnode === vnode) { return @@ -6250,9 +6289,9 @@ // if the new node is not cloned it means the render functions have been // reset by the hot-reload-api and we need to do a proper re-render. if (isTrue(vnode.isStatic) && - isTrue(oldVnode.isStatic) && - vnode.key === oldVnode.key && - (isTrue(vnode.isCloned) || isTrue(vnode.isOnce)) + isTrue(oldVnode.isStatic) && + vnode.key === oldVnode.key && + (isTrue(vnode.isCloned) || isTrue(vnode.isOnce)) ) { vnode.componentInstance = oldVnode.componentInstance; return @@ -6280,7 +6319,7 @@ if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); } addVnodes(elm, null, ch, 0, ch.length - 1, insertedVnodeQueue); } else if (isDef(oldCh)) { - removeVnodes(elm, oldCh, 0, oldCh.length - 1); + removeVnodes(oldCh, 0, oldCh.length - 1); } else if (isDef(oldVnode.text)) { nodeOps.setTextContent(elm, ''); } @@ -6349,7 +6388,7 @@ if (i !== elm.innerHTML) { /* istanbul ignore if */ if (typeof console !== 'undefined' && - !hydrationBailed + !hydrationBailed ) { hydrationBailed = true; console.warn('Parent: ', elm); @@ -6374,7 +6413,7 @@ if (!childrenMatch || childNode) { /* istanbul ignore if */ if (typeof console !== 'undefined' && - !hydrationBailed + !hydrationBailed ) { hydrationBailed = true; console.warn('Parent: ', elm); @@ -6408,8 +6447,8 @@ function assertNodeMatch (node, vnode, inVPre) { if (isDef(vnode.tag)) { return vnode.tag.indexOf('vue-component') === 0 || ( - !isUnknownElement$$1(vnode, inVPre) && - vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase()) + !isUnknownElement$$1(vnode, inVPre) && + vnode.tag.toLowerCase() === (node.tagName && node.tagName.toLowerCase()) ) } else { return node.nodeType === (vnode.isComment ? 8 : 3) @@ -6449,11 +6488,11 @@ return oldVnode } else { warn( - 'The client-side rendered virtual DOM tree is not matching ' + - 'server-rendered content. This is likely caused by incorrect ' + - 'HTML markup, for example nesting block-level elements inside ' + - '

, or missing . Bailing hydration and performing ' + - 'full client-side render.' + 'The client-side rendered virtual DOM tree is not matching ' + + 'server-rendered content. This is likely caused by incorrect ' + + 'HTML markup, for example nesting block-level elements inside ' + + '

, or missing . Bailing hydration and performing ' + + 'full client-side render.' ); } } @@ -6468,13 +6507,13 @@ // create new node createElm( - vnode, - insertedVnodeQueue, - // extremely rare edge case: do not insert if old element is in a - // leaving transition. Only happens when combining transition + - // keep-alive + HOCs. (#4590) - oldElm._leaveCb ? null : parentElm, - nodeOps.nextSibling(oldElm) + vnode, + insertedVnodeQueue, + // extremely rare edge case: do not insert if old element is in a + // leaving transition. Only happens when combining transition + + // keep-alive + HOCs. (#4590) + oldElm._leaveCb ? null : parentElm, + nodeOps.nextSibling(oldElm) ); // update parent placeholder node element, recursively @@ -6509,7 +6548,7 @@ // destroy old node if (isDef(parentElm)) { - removeVnodes(parentElm, [oldVnode], 0, 0); + removeVnodes([oldVnode], 0, 0); } else if (isDef(oldVnode.tag)) { invokeDestroyHook(oldVnode); } @@ -6601,8 +6640,8 @@ var emptyModifiers = Object.create(null); function normalizeDirectives$1 ( - dirs, - vm + dirs, + vm ) { var res = Object.create(null); if (!dirs) { @@ -6698,8 +6737,8 @@ // technically allowfullscreen is a boolean attribute for + + diff --git a/website/docs/guide/07-prevent-collision.md b/website/docs/guide/07-prevent-collision.md new file mode 100644 index 00000000..63726566 --- /dev/null +++ b/website/docs/guide/07-prevent-collision.md @@ -0,0 +1,6 @@ +# 07 - Prevent Collision + + + + + diff --git a/website/docs/guide/08-responsive-predefined-layouts.md b/website/docs/guide/08-responsive-predefined-layouts.md new file mode 100644 index 00000000..6950d654 --- /dev/null +++ b/website/docs/guide/08-responsive-predefined-layouts.md @@ -0,0 +1,5 @@ +# 08 - Responsive with predefined layouts + + + + diff --git a/website/docs/guide/09-dynamic-add-remove.md b/website/docs/guide/09-dynamic-add-remove.md new file mode 100644 index 00000000..64a5f90a --- /dev/null +++ b/website/docs/guide/09-dynamic-add-remove.md @@ -0,0 +1,7 @@ +# 09 - Dynamic Add/Remove + + + + + diff --git a/website/docs/guide/10-drag-from-outside.md b/website/docs/guide/10-drag-from-outside.md new file mode 100644 index 00000000..ebfa3c89 --- /dev/null +++ b/website/docs/guide/10-drag-from-outside.md @@ -0,0 +1,9 @@ +# 10 - Drag From Outside + +This demo shows what happens when an item is added from outside of the grid. +
+Once you drop the item within the grid you'll get its coordinates/properties and can perform actions with it accordingly. + + + + diff --git a/website/docs/guide/README.md b/website/docs/guide/README.md index 13b16662..e4c7ab49 100644 --- a/website/docs/guide/README.md +++ b/website/docs/guide/README.md @@ -1,16 +1,11 @@ ---- -sidebar: auto ---- -# Getting Started +# Installation -## Installation +## NPM -### npm - - # install with npm npm install vue-grid-layout --save - # install with yarn +## Yarn + yarn add vue-grid-layout @@ -33,7 +28,7 @@ Add to other Vue components ``` -### browser +## browser Include the browser-ready bundle (download from [releases](https://github.com/jbaysolutions/vue-grid-layout/releases)) in your page. The components will be automatically available. @@ -41,564 +36,3 @@ Include the browser-ready bundle (download from [releases](https://github.com/jb ``` -## Usage - -```javascript - var testLayout = [ - {"x":0,"y":0,"w":2,"h":2,"i":"0"}, - {"x":2,"y":0,"w":2,"h":4,"i":"1"}, - {"x":4,"y":0,"w":2,"h":5,"i":"2"}, - {"x":6,"y":0,"w":2,"h":3,"i":"3"}, - {"x":8,"y":0,"w":2,"h":3,"i":"4"}, - {"x":10,"y":0,"w":2,"h":3,"i":"5"}, - {"x":0,"y":5,"w":2,"h":5,"i":"6"}, - {"x":2,"y":5,"w":2,"h":5,"i":"7"}, - {"x":4,"y":5,"w":2,"h":5,"i":"8"}, - {"x":6,"y":3,"w":2,"h":4,"i":"9"}, - {"x":8,"y":4,"w":2,"h":4,"i":"10"}, - {"x":10,"y":4,"w":2,"h":4,"i":"11"}, - {"x":0,"y":10,"w":2,"h":5,"i":"12"}, - {"x":2,"y":10,"w":2,"h":5,"i":"13"}, - {"x":4,"y":8,"w":2,"h":4,"i":"14"}, - {"x":6,"y":8,"w":2,"h":4,"i":"15"}, - {"x":8,"y":10,"w":2,"h":5,"i":"16"}, - {"x":10,"y":4,"w":2,"h":2,"i":"17"}, - {"x":0,"y":9,"w":2,"h":3,"i":"18"}, - {"x":2,"y":6,"w":2,"h":2,"i":"19"} - ]; - - new Vue({ - el: '#app', - data: { - layout: testLayout, - }, - }); -``` - - -```html - - - - - {{item.i}} - - -``` - - -## Documentation - -### Properties - -#### GridLayout - -* **layout** - - * type: `Array` - * required: `true` - - This is the initial layout of the grid. - - The value must be an `Array` of `Object` items. Each item must have `i`, `x`, `y`, `w` and `h` properties. Please refer to the documentation for `GridItem` below for more information. - -* **responsiveLayouts** - - * type: `Object` - * required: `false` - * default : `{}` - - This is the initial layouts of the grid per breakpoint if `responsive` is set to `true`. - The keys of the `Object` are breakpoint names and each value is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. - Setting the prop after the creation of the GridLayout has no effect. - -* **colNum** - - * type: `Number` - * required: `false` - * default: `12` - - Says how many columns the grid has. - - The value should be a _natural number_. - -* **rowHeight** - - * type: `Number` - * required: `false` - * default: `150` - - Says what is a height of a single row in pixels. - -* **maxRows** - - * type: `Number` - * required: `false` - * default: `Infinity` - - Says what is a maximal number of rows in the grid. - -* **margin** - - * type: `Array` - * required: `false` - * default: `[10, 10]` - - Says what are the margins of elements inside the grid. - - The value must be a two-element `Array` of `Number`. Each value is expressed in pixels. The first element is a margin horizontally, the second element is a vertical margin. - -* **isDraggable** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the grids items are draggable. - -* **isResizable** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the grids items are resizable. - -* **isMirrored** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if the RTL/LTR should be reversed. - -* **autoSize** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the container height should swells and contracts to fit contents. - -* **verticalCompact** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the layout should be compact vertically. - -* **preventCollision** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if grid items will move when being dragged over. - -* **useCssTransforms** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the CSS `transition-property: transform;` should be used. - -* **responsive** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if the layout should be responsive to window width - -* **breakpoints** - - * type: `Object` - * required: `false` - * default: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 } - - Breakpoints defined for responsive layout. Sets widths on wich column number changes - -* **cols** - - * type: `Object` - * required: `false` - * default: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 } - - Defines number of columns for each breakpoint - - -#### GridItem - -* **i** - - * type: `String` - * required: `true` - - This is the unique identifier of the item. - -* **x** - - * type: `Number` - * required: `true` - - Says what is a initial horizontal position of the item (in which column it should be placed). - - The value must be a _whole number_. - -* **y** - - * type: `Number` - * required: `true` - - Says what is a initial vertical position of the item (in which row it should be placed). - - The value must be a _whole number_. - -* **w** - - * type: `Number` - * required: `true` - - Says what is a initial width of the item. - - The value is a number that is multiplied by `colWidth`. - -* **h** - - * type: `Number` - * required: `true` - - Says what is a initial height of the item. - - The value is a number that is multiplied by `rowHeight`. - -* **minW** - - * type: `Number` - * required: `false` - * default: `1` - - Says what is a minimal width of the item. If `w` will be smaller then `minW` then `w` will be set to `minW`. - - The value is a number that is multiplied by `colWidth`. - -* **minH** - - * type: `Number` - * required: `false` - * default: `1` - - Says what is a minimal hieght of the item. If `h` will be smaller then `minH` then `h` will be set to `minH`. - - The value is a number that is multiplied by `rowHeight`. - -* **maxW** - - * type: `Number` - * required: `false` - * default: `Infinity` - - Says what is a maximal width of the item. If `w` will be bigger then `maxW` then `w` will be set to `maxW`. - - The value is a number that is multiplied by `colWidth`. - -* **maxH** - - * type: `Number` - * required: `false` - * default: `Infinity` - - Says what is a maximal height of the item. If `h` will be bigger then `maxH` then `h` will be set to `maxH`. - - The value is a number that is multiplied by `rowHeight` - -* **isDraggable** - - * type: `Boolean` - * required: `false` - * default: `null` - - Says if item is draggable. - - If default value is `null` then it's inherited from parent. - -* **isResizable** - - * type: `Boolean` - * required: `false` - * default: `null` - - Says if item is resizable. - - If default value is `null` then it's inherited from parent. - -* **static** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if item is static (won't be draggable, resizable or moved by other items). - - -* **dragIgnoreFrom** - - * type: `String` - * required: `false` - * default: `'a, button'` - - Says which elements of the item shouldn't trigger drag event of the item. - - The value is `css-like` selector string. - - For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). - -* **dragAllowFrom** - - * type: `String` - * required: `false` - * default: `null` - - Says which elements of the item should trigger drag event of the item. - - The value is `css-like` selector string. - - If `null` then one can drag by any (excluding `dragIgnoreFrom`) element of the item. - - For more info please refer to `allowFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). - -* **resizeIgnoreFrom** - - * type: `String` - * required: `false` - * default: `'a, button'` - - Says which elements of the item shouldn't trigger resize event of the item. - - The value is `css-like` selector string. - - For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). - - - -### Events - -Move and resize event listeners can be added to each grid-item, so that the parent Vue can be notified when a grid element is being moved or resized. -Moved and resized event listeners can be added, if the only notification needed is when an item is finished moving or resizing. - -Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/02-events.html) - -````html - - - - - {{item.i}} - - -```` - -* **layoutCreatedEvent** - - Layout created event - - Emited on the component created lifecycle hook - -```javascript - layoutCreatedEvent: function(newLayout){ - console.log("Created layout: ", newLayout) - } -``` - -* **layoutBeforeMountEvent** - - Layout beforeMount event - - Emited on the component beforeMount lifecycle hook - -```javascript - layoutBeforeMountEvent: function(newLayout){ - console.log("beforeMount layout: ", newLayout) - } -``` - -* **layoutMountedEvent** - - Layout mounted event - - Emited on the component mounted lifecycle hook - -```javascript - layoutMountedEvent: function(newLayout){ - console.log("Mounted layout: ", newLayout) - } -``` - -* **layoutReadyEvent** - - Layout ready event - - Emited when all the operations on the mount hook finish - -```javascript - layoutReadyEvent: function(newLayout){ - console.log("Ready layout: ", newLayout) - } -``` - -* **layoutUpdatedEvent** - - Layout updated event - - Every time the layout has finished updating and positions of all grid-items are recalculated - -```javascript - layoutUpdatedEvent: function(newLayout){ - console.log("Updated layout: ", newLayout) - } -``` - -* **moveEvent** - - Move event - - Every time an item is being moved and changes position - -```javascript - moveEvent: function(i, newX, newY){ - console.log("MOVE i=" + i + ", X=" + newX + ", Y=" + newY); - }, -``` - -* **resizeEvent** - - Resize event - - Every time an item is being resized and changes size - -```javascript - resizeEvent: function(i, newH, newW, newHPx, newWPx){ - console.log("RESIZE i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); - }, -``` - -* **movedEvent** - - Moved event - - Every time an item is finished being moved and changes position - -```javascript - movedEvent: function(i, newX, newY){ - console.log("MOVED i=" + i + ", X=" + newX + ", Y=" + newY); - }, -``` - -* **resizedEvent** - - Resized event - - Every time an item is finished being resized and changes size - -```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 - * - */ - resizedEvent: function(i, newH, newW, newHPx, newWPx){ - console.log("RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); - }, -``` - -* **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); - }, -``` - -* **breakpointChangedEvent** - - Breakpoint Changed event - - Every time the breakpoint value changes due to window resize - -```javascript - /** - * - * @param newBreakpoint the breakpoint name - * @param newLayout the chosen layout for the breakpoint - * - */ - breakpointChangedEvent: function(newBreakpoint, newLayout){ - console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); - }, -``` - - -# Contribute - -If you have a feature request, please add it as an issue or make a pull request. diff --git a/website/docs/guide/events.md b/website/docs/guide/events.md new file mode 100644 index 00000000..d6aae09b --- /dev/null +++ b/website/docs/guide/events.md @@ -0,0 +1,205 @@ +# Events + +Move and resize event listeners can be added to each grid-item, so that the parent Vue can be notified when a grid element is being moved or resized. +Moved and resized event listeners can be added, if the only notification needed is when an item is finished moving or resizing. + +Working example [here](../guide/02-events.md) + +````html + + + + + {{item.i}} + + +```` + +## GridLayout + +* **layoutCreatedEvent** + + Layout created event + + Emited on the component created lifecycle hook + +```javascript + layoutCreatedEvent: function(newLayout){ + console.log("Created layout: ", newLayout) + } +``` + +* **layoutBeforeMountEvent** + + Layout beforeMount event + + Emited on the component beforeMount lifecycle hook + +```javascript + layoutBeforeMountEvent: function(newLayout){ + console.log("beforeMount layout: ", newLayout) + } +``` + +* **layoutMountedEvent** + + Layout mounted event + + Emited on the component mounted lifecycle hook + +```javascript + layoutMountedEvent: function(newLayout){ + console.log("Mounted layout: ", newLayout) + } +``` + +* **layoutReadyEvent** + + Layout ready event + + Emited when all the operations on the mount hook finish + +```javascript + layoutReadyEvent: function(newLayout){ + console.log("Ready layout: ", newLayout) + } +``` + +* **layoutUpdatedEvent** + + Layout updated event + + Every time the layout has finished updating and positions of all grid-items are recalculated + +```javascript + layoutUpdatedEvent: function(newLayout){ + console.log("Updated layout: ", newLayout) + } +``` + + +* **breakpointChangedEvent** + + Breakpoint Changed event + + Every time the breakpoint value changes due to window resize + +```javascript + /** + * + * @param newBreakpoint the breakpoint name + * @param newLayout the chosen layout for the breakpoint + * + */ + breakpointChangedEvent: function(newBreakpoint, newLayout){ + console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); + }, +``` + + +## GridItem + +* **moveEvent** + + Move event + + Every time an item is being moved and changes position + +```javascript + moveEvent: function(i, newX, newY){ + console.log("MOVE i=" + i + ", X=" + newX + ", Y=" + newY); + }, +``` + +* **resizeEvent** + + Resize event + + Every time an item is being resized and changes size + +```javascript + resizeEvent: function(i, newH, newW, newHPx, newWPx){ + console.log("RESIZE i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); + }, +``` + +* **movedEvent** + + Moved event + + Every time an item is finished being moved and changes position + +```javascript + movedEvent: function(i, newX, newY){ + console.log("MOVED i=" + i + ", X=" + newX + ", Y=" + newY); + }, +``` + +* **resizedEvent** + + Resized event + + Every time an item is finished being resized and changes size + +```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 + * + */ + resizedEvent: function(i, newH, newW, newHPx, newWPx){ + console.log("RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); + }, +``` + +* **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); + }, +``` + diff --git a/website/docs/guide/examples.md b/website/docs/guide/examples.md new file mode 100644 index 00000000..fb709587 --- /dev/null +++ b/website/docs/guide/examples.md @@ -0,0 +1,21 @@ +# Examples + +## Basic + + + +## Events + + + +## Multiple Grids + + + +## Drag allow/ignore elements + +Ignore drag on certain elements and allow on on others. + +Click and drag the dots on the corner of each item to reposition + + diff --git a/website/docs/guide/properties.md b/website/docs/guide/properties.md new file mode 100644 index 00000000..2227b3da --- /dev/null +++ b/website/docs/guide/properties.md @@ -0,0 +1,293 @@ +# Properties + +## GridLayout + +### layout + + +* type: `Array` +* required: `true` + +This is the initial layout of the grid. + +The value must be an `Array` of `Object` items. Each item must have `i`, `x`, `y`, `w` and `h` properties. Please refer to the documentation for `GridItem` below for more information. + +### responsiveLayouts + +* type: `Object` +* required: `false` +* default : `{}` + +This is the initial layouts of the grid per breakpoint if `responsive` is set to `true`. +The keys of the `Object` are breakpoint names and each value is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. +Setting the prop after the creation of the GridLayout has no effect. + +### colNum + +* type: `Number` +* required: `false` +* default: `12` + +Says how many columns the grid has. + +The value should be a _natural number_. + +### rowHeight + +* type: `Number` +* required: `false` +* default: `150` + +Says what is a height of a single row in pixels. + +### maxRows + +* type: `Number` +* required: `false` +* default: `Infinity` + +Says what is a maximal number of rows in the grid. + +### margin + +* type: `Array` +* required: `false` +* default: `[10, 10]` + +Says what are the margins of elements inside the grid. + +The value must be a two-element `Array` of `Number`. Each value is expressed in pixels. The first element is a margin horizontally, the second element is a vertical margin. + +### isDraggable + +* type: `Boolean` +* required: `false` +* default: `true` + +Says if the grids items are draggable. + +### isResizable + +* type: `Boolean` +* required: `false` +* default: `true` + +Says if the grids items are resizable. + +### isMirrored + +* type: `Boolean` +* required: `false` +* default: `false` + +Says if the RTL/LTR should be reversed. + +### autoSize + +* type: `Boolean` +* required: `false` +* default: `true` + +Says if the container height should swells and contracts to fit contents. + +### verticalCompact + +* type: `Boolean` +* required: `false` +* default: `true` + +Says if the layout should be compact vertically. + +### preventCollision + +* type: `Boolean` +* required: `false` +* default: `false` + +Says if grid items will move when being dragged over. + +### useCssTransforms + +* type: `Boolean` +* required: `false` +* default: `true` + +Says if the CSS `transition-property: transform;` should be used. + +### responsive + +* type: `Boolean` +* required: `false` +* default: `false` + +Says if the layout should be responsive to window width + +### breakpoints + +* type: `Object` +* required: `false` +* default: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 } + +Breakpoints defined for responsive layout. Sets widths on wich column number changes + +### cols + +* type: `Object` +* required: `false` +* default: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 } + +Defines number of columns for each breakpoint + + +## GridItem + +### i + +* type: `String` +* required: `true` + +This is the unique identifier of the item. + +### x + +* type: `Number` +* required: `true` + +Says what is a initial horizontal position of the item (in which column it should be placed). + +The value must be a _whole number_. + +### y + +* type: `Number` +* required: `true` + +Says what is a initial vertical position of the item (in which row it should be placed). + +The value must be a _whole number_. + +### w + +* type: `Number` +* required: `true` + +Says what is a initial width of the item. + +The value is a number that is multiplied by `colWidth`. + +### h + +* type: `Number` +* required: `true` + +Says what is a initial height of the item. + +The value is a number that is multiplied by `rowHeight`. + +### minW + +* type: `Number` +* required: `false` +* default: `1` + +Says what is a minimal width of the item. If `w` will be smaller then `minW` then `w` will be set to `minW`. + +The value is a number that is multiplied by `colWidth`. + +### minH + +* type: `Number` +* required: `false` +* default: `1` + +Says what is a minimal hieght of the item. If `h` will be smaller then `minH` then `h` will be set to `minH`. + +The value is a number that is multiplied by `rowHeight`. + +### maxW + +* type: `Number` +* required: `false` +* default: `Infinity` + +Says what is a maximal width of the item. If `w` will be bigger then `maxW` then `w` will be set to `maxW`. + +The value is a number that is multiplied by `colWidth`. + +### maxH + +* type: `Number` +* required: `false` +* default: `Infinity` + +Says what is a maximal height of the item. If `h` will be bigger then `maxH` then `h` will be set to `maxH`. + +The value is a number that is multiplied by `rowHeight` + +### isDraggable + +* type: `Boolean` +* required: `false` +* default: `null` + +Says if item is draggable. + +If default value is `null` then it's inherited from parent. + +### isResizable + +* type: `Boolean` +* required: `false` +* default: `null` + +Says if item is resizable. + +If default value is `null` then it's inherited from parent. + +### static + +* type: `Boolean` +* required: `false` +* default: `false` + +Says if item is static (won't be draggable, resizable or moved by other items). + + +### dragIgnoreFrom + +* type: `String` +* required: `false` +* default: `'a, button'` + +Says which elements of the item shouldn't trigger drag event of the item. + +The value is `css-like` selector string. + +For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). + +### dragAllowFrom + +* type: `String` +* required: `false` +* default: `null` + +Says which elements of the item should trigger drag event of the item. + +The value is `css-like` selector string. + +If `null` then one can drag by any (excluding `dragIgnoreFrom`) element of the item. + +For more info please refer to `allowFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). + +### resizeIgnoreFrom + +* type: `String` +* required: `false` +* default: `'a, button'` + +Says which elements of the item shouldn't trigger resize event of the item. + +The value is `css-like` selector string. + +For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). + diff --git a/website/docs/guide/usage.md b/website/docs/guide/usage.md new file mode 100644 index 00000000..8860e507 --- /dev/null +++ b/website/docs/guide/usage.md @@ -0,0 +1,58 @@ +# Usage + +```javascript + new Vue({ + el: '#app', + data: { + layout: [ + {"x":0,"y":0,"w":2,"h":2,"i":"0"}, + {"x":2,"y":0,"w":2,"h":4,"i":"1"}, + {"x":4,"y":0,"w":2,"h":5,"i":"2"}, + {"x":6,"y":0,"w":2,"h":3,"i":"3"}, + {"x":8,"y":0,"w":2,"h":3,"i":"4"}, + {"x":10,"y":0,"w":2,"h":3,"i":"5"}, + {"x":0,"y":5,"w":2,"h":5,"i":"6"}, + {"x":2,"y":5,"w":2,"h":5,"i":"7"}, + {"x":4,"y":5,"w":2,"h":5,"i":"8"}, + {"x":6,"y":3,"w":2,"h":4,"i":"9"}, + {"x":8,"y":4,"w":2,"h":4,"i":"10"}, + {"x":10,"y":4,"w":2,"h":4,"i":"11"}, + {"x":0,"y":10,"w":2,"h":5,"i":"12"}, + {"x":2,"y":10,"w":2,"h":5,"i":"13"}, + {"x":4,"y":8,"w":2,"h":4,"i":"14"}, + {"x":6,"y":8,"w":2,"h":4,"i":"15"}, + {"x":8,"y":10,"w":2,"h":5,"i":"16"}, + {"x":10,"y":4,"w":2,"h":2,"i":"17"}, + {"x":0,"y":9,"w":2,"h":3,"i":"18"}, + {"x":2,"y":6,"w":2,"h":2,"i":"19"} + ], + }, + }); +``` + + +```html + + + + + {{item.i}} + + +``` diff --git a/website/docs/logo.xcf b/website/docs/logo.xcf new file mode 100644 index 0000000000000000000000000000000000000000..95f765ddee8b05bb6aaf84f25e2e4eee354bcfbb GIT binary patch literal 22760 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 C{4iJm literal 0 HcmV?d00001 diff --git a/website/package.json b/website/package.json index 76487d51..c86204ad 100644 --- a/website/package.json +++ b/website/package.json @@ -8,14 +8,19 @@ "private": false, "scripts": { "dev": "vuepress dev docs", - "build": "vuepress build docs" + "build": "vuepress build docs", + "serve": "vuepress serve docs" }, "dependencies": { - "vuepress-plugin-seo": "^0.1.4", - "vuepress-plugin-sitemap": "^2.3.1" }, "devDependencies": { - "vuepress": "^1.6.0" + "@vuepress/plugin-back-to-top": "^1.6.0", + "@vuepress/plugin-google-analytics": "^1.6.0", + "vue-grid-layout": "^2.3.9", + "vuepress-plugin-seo": "^0.1.4", + "vuepress-plugin-sitemap": "^2.3.1", + "vuepress": "^1.6.0", + "vuepress-plugin-serve": "^2.0.4" }, "resolutions": { "watchpack": "1.6.1" From 23a7e277b3cd268da32344bfa851895cbceaa904 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 17:43:26 +0100 Subject: [PATCH 035/111] deploy vuepress github action --- .github/workflows/vuepress-deploy.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/vuepress-deploy.yml diff --git a/.github/workflows/vuepress-deploy.yml b/.github/workflows/vuepress-deploy.yml new file mode 100644 index 00000000..ef679346 --- /dev/null +++ b/.github/workflows/vuepress-deploy.yml @@ -0,0 +1,17 @@ +name: Build and Deploy +on: [push] +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@master + + - name: vuepress-deploy + uses: jenkey2011/vuepress-deploy@master + env: + ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} + TARGET_REPO: jbaysolutions/vue-grid-layout + TARGET_BRANCH: master + BUILD_SCRIPT: cd website && yarn && yarn build + BUILD_DIR: website/public From 366f830ac1972c1fdfc7d4ca7d23cd05c5a37af6 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 17:43:47 +0100 Subject: [PATCH 036/111] website package.json update --- website/package.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/website/package.json b/website/package.json index c86204ad..fd3fba8f 100644 --- a/website/package.json +++ b/website/package.json @@ -1,9 +1,8 @@ { "name": "vue-grid-layout-website", "version": "1.0.0", - "description": "website", - "main": "index.js", - "author": "Gustavo Santos", + "description": "vue-grid-layout website", + "author": "Gustavo Santos (gustavo@jbaysolutions.com)", "license": "MIT", "private": false, "scripts": { From a92c0bb69a74c5b0555bec0fac0af79cfd11e157 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 17:49:17 +0100 Subject: [PATCH 037/111] actions fix --- .github/workflows/vuepress-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vuepress-deploy.yml b/.github/workflows/vuepress-deploy.yml index ef679346..62a47895 100644 --- a/.github/workflows/vuepress-deploy.yml +++ b/.github/workflows/vuepress-deploy.yml @@ -14,4 +14,4 @@ jobs: TARGET_REPO: jbaysolutions/vue-grid-layout TARGET_BRANCH: master BUILD_SCRIPT: cd website && yarn && yarn build - BUILD_DIR: website/public + BUILD_DIR: public From ba761d66537e65995ed1d46bafe9cdeb05fdc717 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 18:02:56 +0100 Subject: [PATCH 038/111] actions fix --- .github/workflows/vuepress-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vuepress-deploy.yml b/.github/workflows/vuepress-deploy.yml index 62a47895..ae4f52d3 100644 --- a/.github/workflows/vuepress-deploy.yml +++ b/.github/workflows/vuepress-deploy.yml @@ -12,6 +12,6 @@ jobs: env: ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} TARGET_REPO: jbaysolutions/vue-grid-layout - TARGET_BRANCH: master + TARGET_BRANCH: gh-pages BUILD_SCRIPT: cd website && yarn && yarn build BUILD_DIR: public From e8d29ad7a8bb05103766d09472e494686f48fb2e Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 18:05:15 +0100 Subject: [PATCH 039/111] actions fix --- .github/workflows/vuepress-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vuepress-deploy.yml b/.github/workflows/vuepress-deploy.yml index ae4f52d3..4b19a5e3 100644 --- a/.github/workflows/vuepress-deploy.yml +++ b/.github/workflows/vuepress-deploy.yml @@ -1,4 +1,4 @@ -name: Build and Deploy +name: Build and Deploy vuepress on: [push] jobs: build-and-deploy: From 418d1178b736da33dc8708f2ddcac0dda2986be3 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 18:10:11 +0100 Subject: [PATCH 040/111] fix jbay logo --- website/docs/.vuepress/components/HomeFooter.vue | 2 +- website/docs/.vuepress/theme/layouts/Layout.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/.vuepress/components/HomeFooter.vue b/website/docs/.vuepress/components/HomeFooter.vue index 6779c9b8..cdac91e1 100644 --- a/website/docs/.vuepress/components/HomeFooter.vue +++ b/website/docs/.vuepress/components/HomeFooter.vue @@ -2,7 +2,7 @@

diff --git a/website/docs/.vuepress/theme/layouts/Layout.vue b/website/docs/.vuepress/theme/layouts/Layout.vue index c9254a51..3e93d224 100644 --- a/website/docs/.vuepress/theme/layouts/Layout.vue +++ b/website/docs/.vuepress/theme/layouts/Layout.vue @@ -7,7 +7,7 @@ From 64fce242d928513d8f7b51ed0efacdd8cf2e6117 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Fri, 9 Oct 2020 18:17:47 +0100 Subject: [PATCH 041/111] favico fix --- website/docs/.vuepress/config.js | 1 + website/docs/guide/01-basic.md | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/website/docs/.vuepress/config.js b/website/docs/.vuepress/config.js index c09e6a77..91530efd 100644 --- a/website/docs/.vuepress/config.js +++ b/website/docs/.vuepress/config.js @@ -6,6 +6,7 @@ module.exports = { title, description, head: [ + ['link', { rel: 'icon', href: `/favicon.ico` }], ['link', { rel: "apple-touch-icon", sizes: "180x180", href: "https://jbaysolutions.github.io/vue-grid-layout/assets/favicon/apple-touch-icon.png"}], // ['script', { src: 'https://cdn.jsdelivr.net/npm/vue-grid-layout@2.3.9/dist/vue-grid-layout.umd.min.js' }] ], diff --git a/website/docs/guide/01-basic.md b/website/docs/guide/01-basic.md index a9df81b0..2f5920ef 100644 --- a/website/docs/guide/01-basic.md +++ b/website/docs/guide/01-basic.md @@ -4,7 +4,4 @@ - -View source -(opens new window) - +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example01Basic.vue) From 24fe9afab4bf86867a86b4c21cd63e42eb450760 Mon Sep 17 00:00:00 2001 From: McChen Date: Sat, 10 Oct 2020 10:33:51 +0800 Subject: [PATCH 042/111] docs(README-zh_CN.md): add responsiveLayouts prop --- README-zh_CN.md | 106 ++++++++++++++++++++++++++---------------------- 1 file changed, 57 insertions(+), 49 deletions(-) diff --git a/README-zh_CN.md b/README-zh_CN.md index 76ce8396..4bb0386d 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -9,7 +9,7 @@ vue-grid-layout是一个类似于[Gridster](http://dsmorse.github.io/gridster.js ### **当前版本:** 2.3.8 (支持 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)** +### **Vue 1 请使用 [1.0.3](https://github.com/jbaysolutions/vue-grid-layout/tree/1.0.3)**
@@ -64,10 +64,10 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library #### npm - # 使用 npm + # 使用 npm npm install vue-grid-layout --save - - # 使用 yarn + + # 使用 yarn yarn add vue-grid-layout @@ -77,7 +77,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library import VueGridLayout from 'vue-grid-layout'; ``` -加入到 Vue 组件 +加入到 Vue 组件 ```javascript export default { @@ -87,8 +87,8 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library }, // ... data, methods, mounted (), etc. } - -``` + +``` #### 浏览器 @@ -123,14 +123,14 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library {"x":0,"y":9,"w":2,"h":3,"i":"18"}, {"x":2,"y":6,"w":2,"h":2,"i":"19"} ]; - + new Vue({ el: '#app', data: { layout: testLayout, }, }); -``` +``` ```html @@ -167,14 +167,22 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library ##### GridLayout * **layout** - + * type: `Array` * required: `true` 数据源。值必须为 `Array`,其数据项为 `Object`。 每条数据项必须有 `i`, `x`, `y`, `w` 和 `h` 属性。 请参考下面的 `GridItem`。 +* **responsiveLayouts** + + * type: `Object` + * required: `false` + * default: `{}` + + 如果 `responsive` 设置为 `true`,该配置将作为栅格中每个断点的初始布局。键值是断点名称,每项的值都是类似 `layout` 属性定义的数据结构,值必须为 `Array`,其数据项为 `Object`。例如: `{lg: [layout items], md: [layout items]}`。需要注意的是,在创建栅格布局后设置该属性无效。 + * **colNum** - + * type: `Number` * required: `false` * default: `12` @@ -182,7 +190,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 定义栅格系统的列数,其值需为自然数。 * **rowHeight** - + * type: `Number` * required: `false` * default: `150` @@ -190,7 +198,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 每行的高度,单位像素。 * **maxRows** - + * type: `Number` * required: `false` * default: `Infinity` @@ -198,7 +206,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 定义最大行数。 * **margin** - + * type: `Array` * required: `false` * default: `[10, 10]` @@ -208,7 +216,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 值必须是包含两个 `Number`的数组,数组中第一个元素表示水平边距,第二个表示垂直边距,单位为像素。 * **isDraggable** - + * type: `Boolean` * required: `false` * default: `true` @@ -216,7 +224,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识栅格中的元素是否可拖拽。 * **isResizable** - + * type: `Boolean` * required: `false` * default: `true` @@ -224,7 +232,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识栅格中的元素是否可调整大小。 * **isMirrored** - + * type: `Boolean` * required: `false` * default: `false` @@ -232,7 +240,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识栅格中的元素是否可镜像反转。 * **autoSize** - + * type: `Boolean` * required: `false` * default: `true` @@ -240,7 +248,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识容器是否自动调整大小。 * **verticalCompact** - + * type: `Boolean` * required: `false` * default: `true` @@ -248,7 +256,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识布局是否垂直压缩。 * **useCssTransforms** - + * type: `Boolean` * required: `false` * default: `true` @@ -256,7 +264,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识是否使用CSS属性 `transition-property: transform;`。 * **responsive** - + * type: `Boolean` * required: `false` * default: `false` @@ -283,82 +291,82 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library ##### GridItem * **i** - + * type: `String` * required: `true` 栅格中元素的ID。 * **x** - + * type: `Number` * required: `true` 标识栅格元素位于第几列,需为自然数。 * **y** - + * type: `Number` * required: `true` 标识栅格元素位于第几行,需为自然数。 * **w** - + * type: `Number` * required: `true` 标识栅格元素的初始宽度,值为`colWidth`的倍数。 * **h** - + * type: `Number` * required: `true` 标识栅格元素的初始高度,值为`rowHeight`的倍数。 * **minW** - + * type: `Number` * required: `false` * default: `1` 栅格元素的最小宽度,值为`colWidth`的倍数。 - + 如果`w`小于`minW`,则`minW`的值会被`w`覆盖。 * **minH** - + * type: `Number` * required: `false` * default: `1` 栅格元素的最小高度,值为`rowHeight`的倍数。 - + 如果`h`小于`minH`,则`minH`的值会被`h`覆盖。 * **maxW** - + * type: `Number` * required: `false` * default: `Infinity` 栅格元素的最大宽度,值为`colWidth`的倍数。 - + 如果`w`大于`maxW`,则`maxW`的值会被`w`覆盖。 * **maxH** - + * type: `Number` * required: `false` * default: `Infinity` 栅格元素的最大高度,值为`rowHeight`的倍数。 - + 如果`h`大于`maxH`,则`maxH`的值会被`h`覆盖。 * **isDraggable** - + * type: `Boolean` * required: `false` * default: `null` @@ -366,7 +374,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识栅格元素是否可拖拽。如果值为`null`则取决于父容器。 * **isResizable** - + * type: `Boolean` * required: `false` * default: `null` @@ -374,7 +382,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识栅格元素是否可调整大小。如果值为`null`则取决于父容器。 * **static** - + * type: `Boolean` * required: `false` * default: `false` @@ -382,7 +390,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 标识栅格元素是否为静态的(无法拖拽、调整大小或被其他元素移动)。 * **dragIgnoreFrom** - + * type: `String` * required: `false` * default: `'a, button'` @@ -392,7 +400,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 请参考 [interact.js docs](http://interactjs.io/docs/#ignorable-selectors)中的`ignoreFrom`。 * **dragAllowFrom** - + * type: `String` * required: `false` * default: `null` @@ -404,7 +412,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 请参考 [interact.js docs](http://interactjs.io/docs/#ignorable-selectors)中的`allowFrom`。 * **resizeIgnoreFrom** - + * type: `String` * required: `false` * default: `'a, button'` @@ -419,7 +427,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library 每一个栅格元素`grid-item`上都可以添加监听器,用于监听移动和调整大小事件,这样父级Vue对象就可以收到通知。 - [示例](https://jbaysolutions.github.io/vue-grid-layout/examples/02-events.html) + [示例](https://jbaysolutions.github.io/vue-grid-layout/examples/02-events.html) ````html @@ -453,7 +461,7 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library {{item.i}}
-```` +```` * **layoutCreatedEvent** @@ -518,12 +526,12 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library * **resizeEvent** 调整大小时的事件 - + ```javascript resizeEvent: function(i, newH, newW, newHPx, newWPx){ console.log("RESIZE i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); }, -``` +``` * **movedEvent** @@ -538,21 +546,21 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library * **resizedEvent** 调整大小后的事件 - + ```javascript /** - * + * * @param i the item id/index - * @param newH new height in grid rows + * @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 - * + * */ resizedEvent: function(i, newH, newW, newHPx, newWPx){ console.log("RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); }, -``` +``` ## 如何贡献 From 815d208cb3982bf4b7e5d75dde55c234e3eab26f Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 11:08:29 +0100 Subject: [PATCH 043/111] readme update --- README.md | 666 +++--------------------------------------------------- 1 file changed, 28 insertions(+), 638 deletions(-) diff --git a/README.md b/README.md index 9aa10cbb..eaebd919 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,24 @@

vue-grid-layout

- + + + + + + + + +

+

+Documentation Website

-vue-grid-layout is a grid layout system, like [Gridster](http://dsmorse.github.io/gridster.js/), for Vue.js. **Heavily inspired by [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** - -### **Current version:** 2.3.9 (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)** - -
- -[**[Demo](https://jbaysolutions.github.io/vue-grid-layout/examples/01-basic.html) | [Changelog](/https://jbaysolutions.github.io/vue-grid-layout/changelog/)**] - -English | [简体中文](./README-zh_CN.md) - - - -#### Projects using vue-grid-layout +## What is Vue Grid Layout? -- [Draxed](https://www.draxed.com/?utm_source=github&utm_medium=web&utm_campaign=vue-grid-layout) -- [cryptotiles](https://www.cryptotiles.io/?utm_source=github&utm_medium=web&utm_campaign=vue-grid-layout) -- [Data Providers](https://www.dataproviders.io/?utm_source=github&utm_medium=web&utm_campaign=vue-grid-layout) -- [Cataholic](https://cataholic.glitch.me/) - -*Know of others? Create a PR to let me know!* +vue-grid-layout is a grid layout system, like [Gridster](http://dsmorse.github.io/gridster.js/), for Vue.js. **Heavily inspired by [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** ## Features @@ -57,603 +31,26 @@ Also check https://cli.vuejs.org/guide/build-targets.html#library * Automatic RTL support (resizing not working with RTL on 2.2.0) * Responsive +## **Current version:** 2.3.9 (Supports Vue 2.2+) -## Getting Started - -### Installation - -#### npm - - # install with npm - npm install vue-grid-layout --save - - # install with yarn - yarn add vue-grid-layout - - -Import the library - -```javascript - import VueGridLayout from 'vue-grid-layout'; -``` - -Add to other Vue components - - ```javascript - export default { - components: { - GridLayout: VueGridLayout.GridLayout, - GridItem: VueGridLayout.GridItem - }, - // ... data, methods, mounted (), etc. - } - -``` - -#### browser - -Include the browser-ready bundle (download from [releases](https://github.com/jbaysolutions/vue-grid-layout/releases)) in your page. The components will be automatically available. - -```html - -``` - -### Usage - -```javascript - var testLayout = [ - {"x":0,"y":0,"w":2,"h":2,"i":"0"}, - {"x":2,"y":0,"w":2,"h":4,"i":"1"}, - {"x":4,"y":0,"w":2,"h":5,"i":"2"}, - {"x":6,"y":0,"w":2,"h":3,"i":"3"}, - {"x":8,"y":0,"w":2,"h":3,"i":"4"}, - {"x":10,"y":0,"w":2,"h":3,"i":"5"}, - {"x":0,"y":5,"w":2,"h":5,"i":"6"}, - {"x":2,"y":5,"w":2,"h":5,"i":"7"}, - {"x":4,"y":5,"w":2,"h":5,"i":"8"}, - {"x":6,"y":3,"w":2,"h":4,"i":"9"}, - {"x":8,"y":4,"w":2,"h":4,"i":"10"}, - {"x":10,"y":4,"w":2,"h":4,"i":"11"}, - {"x":0,"y":10,"w":2,"h":5,"i":"12"}, - {"x":2,"y":10,"w":2,"h":5,"i":"13"}, - {"x":4,"y":8,"w":2,"h":4,"i":"14"}, - {"x":6,"y":8,"w":2,"h":4,"i":"15"}, - {"x":8,"y":10,"w":2,"h":5,"i":"16"}, - {"x":10,"y":4,"w":2,"h":2,"i":"17"}, - {"x":0,"y":9,"w":2,"h":3,"i":"18"}, - {"x":2,"y":6,"w":2,"h":2,"i":"19"} - ]; - - new Vue({ - el: '#app', - data: { - layout: testLayout, - }, - }); -``` - - -```html - - - - - {{item.i}} - - -``` - - -### Documentation - -#### Properties - -##### GridLayout - -* **layout** - - * type: `Array` - * required: `true` - - This is the initial layout of the grid. - - The value must be an `Array` of `Object` items. Each item must have `i`, `x`, `y`, `w` and `h` properties. Please refer to the documentation for `GridItem` below for more information. - -* **responsiveLayouts** - - * type: `Object` - * required: `false` - * default : `{}` - - This is the initial layouts of the grid per breakpoint if `responsive` is set to `true`. - The keys of the `Object` are breakpoint names and each value is an `Array` of `Object` items as defined by `layout` prop. eg:{ lg:[layout items], md:[layout items] }. - Setting the prop after the creation of the GridLayout has no effect. - -* **colNum** - - * type: `Number` - * required: `false` - * default: `12` - - Says how many columns the grid has. - - The value should be a _natural number_. - -* **rowHeight** - - * type: `Number` - * required: `false` - * default: `150` - - Says what is a height of a single row in pixels. - -* **maxRows** - - * type: `Number` - * required: `false` - * default: `Infinity` - - Says what is a maximal number of rows in the grid. - -* **margin** - - * type: `Array` - * required: `false` - * default: `[10, 10]` - - Says what are the margins of elements inside the grid. - - The value must be a two-element `Array` of `Number`. Each value is expressed in pixels. The first element is a margin horizontally, the second element is a vertical margin. - -* **isDraggable** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the grids items are draggable. - -* **isResizable** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the grids items are resizable. - -* **isMirrored** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if the RTL/LTR should be reversed. - -* **autoSize** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the container height should swells and contracts to fit contents. - -* **verticalCompact** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the layout should be compact vertically. - -* **preventCollision** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if grid items will move when being dragged over. - -* **useCssTransforms** - - * type: `Boolean` - * required: `false` - * default: `true` - - Says if the CSS `transition-property: transform;` should be used. - -* **responsive** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if the layout should be responsive to window width - -* **breakpoints** - - * type: `Object` - * required: `false` - * default: { lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0 } - - Breakpoints defined for responsive layout. Sets widths on wich column number changes - -* **cols** - - * type: `Object` - * required: `false` - * default: { lg: 12, md: 10, sm: 6, xs: 4, xxs: 2 } - - Defines number of columns for each breakpoint - - -##### GridItem - -* **i** - - * type: `String` - * required: `true` - - This is the unique identifier of the item. - -* **x** - - * type: `Number` - * required: `true` - - Says what is a initial horizontal position of the item (in which column it should be placed). - - The value must be a _whole number_. +#### **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)** -* **y** - - * type: `Number` - * required: `true` +## Documentation - Says what is a initial vertical position of the item (in which row it should be placed). +Check out the Documentation Website - The value must be a _whole number_. +Chinese documentation: [简体中文](./README-zh_CN.md) -* **w** - - * type: `Number` - * required: `true` - Says what is a initial width of the item. - - The value is a number that is multiplied by `colWidth`. - -* **h** - - * type: `Number` - * required: `true` - - Says what is a initial height of the item. - - The value is a number that is multiplied by `rowHeight`. - -* **minW** - - * type: `Number` - * required: `false` - * default: `1` - - Says what is a minimal width of the item. If `w` will be smaller then `minW` then `w` will be set to `minW`. - - The value is a number that is multiplied by `colWidth`. - -* **minH** - - * type: `Number` - * required: `false` - * default: `1` - - Says what is a minimal hieght of the item. If `h` will be smaller then `minH` then `h` will be set to `minH`. - - The value is a number that is multiplied by `rowHeight`. - -* **maxW** - - * type: `Number` - * required: `false` - * default: `Infinity` - - Says what is a maximal width of the item. If `w` will be bigger then `maxW` then `w` will be set to `maxW`. - - The value is a number that is multiplied by `colWidth`. - -* **maxH** - - * type: `Number` - * required: `false` - * default: `Infinity` - - Says what is a maximal height of the item. If `h` will be bigger then `maxH` then `h` will be set to `maxH`. - - The value is a number that is multiplied by `rowHeight` - -* **isDraggable** - - * type: `Boolean` - * required: `false` - * default: `null` - - Says if item is draggable. - - If default value is `null` then it's inherited from parent. - -* **isResizable** - - * type: `Boolean` - * required: `false` - * default: `null` - - Says if item is resizable. - - If default value is `null` then it's inherited from parent. - -* **static** - - * type: `Boolean` - * required: `false` - * default: `false` - - Says if item is static (won't be draggable, resizable or moved by other items). - - -* **dragIgnoreFrom** - - * type: `String` - * required: `false` - * default: `'a, button'` - - Says which elements of the item shouldn't trigger drag event of the item. - - The value is `css-like` selector string. - - For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). - -* **dragAllowFrom** - - * type: `String` - * required: `false` - * default: `null` - - Says which elements of the item should trigger drag event of the item. - - The value is `css-like` selector string. - - If `null` then one can drag by any (excluding `dragIgnoreFrom`) element of the item. - - For more info please refer to `allowFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). - -* **resizeIgnoreFrom** - - * type: `String` - * required: `false` - * default: `'a, button'` - - Says which elements of the item shouldn't trigger resize event of the item. - - The value is `css-like` selector string. - - For more info please refer to `ignoreFrom` in [interact.js docs](http://interactjs.io/docs/#ignorable-selectors). - - - -#### Events - -Move and resize event listeners can be added to each grid-item, so that the parent Vue can be notified when a grid element is being moved or resized. -Moved and resized event listeners can be added, if the only notification needed is when an item is finished moving or resizing. - -Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/02-events.html) - -````html - - - - - {{item.i}} - - -```` - -* **layoutCreatedEvent** - - Layout created event - - Emited on the component created lifecycle hook - -```javascript - layoutCreatedEvent: function(newLayout){ - console.log("Created layout: ", newLayout) - } -``` - -* **layoutBeforeMountEvent** - - Layout beforeMount event - - Emited on the component beforeMount lifecycle hook - -```javascript - layoutBeforeMountEvent: function(newLayout){ - console.log("beforeMount layout: ", newLayout) - } -``` - -* **layoutMountedEvent** - - Layout mounted event - - Emited on the component mounted lifecycle hook - -```javascript - layoutMountedEvent: function(newLayout){ - console.log("Mounted layout: ", newLayout) - } -``` - -* **layoutReadyEvent** - - Layout ready event - - Emited when all the operations on the mount hook finish - -```javascript - layoutReadyEvent: function(newLayout){ - console.log("Ready layout: ", newLayout) - } -``` - -* **layoutUpdatedEvent** - - Layout updated event - - Every time the layout has finished updating and positions of all grid-items are recalculated - -```javascript - layoutUpdatedEvent: function(newLayout){ - console.log("Updated layout: ", newLayout) - } -``` - -* **moveEvent** - - Move event - - Every time an item is being moved and changes position - -```javascript - moveEvent: function(i, newX, newY){ - console.log("MOVE i=" + i + ", X=" + newX + ", Y=" + newY); - }, -``` - -* **resizeEvent** - - Resize event - - Every time an item is being resized and changes size - -```javascript - resizeEvent: function(i, newH, newW, newHPx, newWPx){ - console.log("RESIZE i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); - }, -``` - -* **movedEvent** - - Moved event - - Every time an item is finished being moved and changes position - -```javascript - movedEvent: function(i, newX, newY){ - console.log("MOVED i=" + i + ", X=" + newX + ", Y=" + newY); - }, -``` - -* **resizedEvent** - - Resized event - - Every time an item is finished being resized and changes size - -```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 - * - */ - resizedEvent: function(i, newH, newW, newHPx, newWPx){ - console.log("RESIZED i=" + i + ", H=" + newH + ", W=" + newW + ", H(px)=" + newHPx + ", W(px)=" + newWPx); - }, -``` - -* **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); - }, -``` - -* **breakpointChangedEvent** +#### Projects using vue-grid-layout - Breakpoint Changed event +- [Draxed](https://www.draxed.com/?utm_source=github&utm_medium=web&utm_campaign=vue-grid-layout) +- [cryptotiles](https://www.cryptotiles.io/?utm_source=github&utm_medium=web&utm_campaign=vue-grid-layout) +- [Data Providers](https://www.dataproviders.io/?utm_source=github&utm_medium=web&utm_campaign=vue-grid-layout) +- [Cataholic](https://cataholic.glitch.me/) - Every time the breakpoint value changes due to window resize - -```javascript - /** - * - * @param newBreakpoint the breakpoint name - * @param newLayout the chosen layout for the breakpoint - * - */ - breakpointChangedEvent: function(newBreakpoint, newLayout){ - console.log("BREAKPOINT CHANGED breakpoint=", newBreakpoint, ", layout: ", newLayout ); - }, -``` +*Know of others? Create a PR to let me know!* ## Contribute @@ -661,11 +58,4 @@ Working example [here](https://jbaysolutions.github.io/vue-grid-layout/examples/ If you have a feature request, please add it as an issue or make a pull request. -## TODO List - -- [x] Basic grid layout -- [x] Responsive -- [x] Draggable grid items -- [x] Resizable grid items -- [x] Static elements -- [x] Min/max w/h per item +Developed by JBay Solutions From f7ad201ef75b8faba70a807b63f42d79a27ffc29 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 11:11:28 +0100 Subject: [PATCH 044/111] readme update --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index eaebd919..4fc92a17 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@

vue-grid-layout

+

Vue Grid Layout

+

From 617aeb40c49b87e645242be48b458eb9ed581216 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 11:11:52 +0100 Subject: [PATCH 045/111] readme update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4fc92a17..f5855b15 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -

vue-grid-layout

-

Vue Grid Layout

+

vue-grid-layout

+

From fb90072f81561c600dada1f066994b545bc6e064 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 11:59:37 +0100 Subject: [PATCH 046/111] added source links to examples --- website/docs/guide/02-events.md | 2 ++ website/docs/guide/03-multiple-grids.md | 2 ++ website/docs/guide/04-allow-ignore.md | 2 ++ website/docs/guide/05-mirrored.md | 2 ++ website/docs/guide/06-responsive.md | 2 ++ website/docs/guide/07-prevent-collision.md | 2 ++ website/docs/guide/08-responsive-predefined-layouts.md | 2 ++ website/docs/guide/09-dynamic-add-remove.md | 2 ++ website/docs/guide/10-drag-from-outside.md | 2 ++ 9 files changed, 18 insertions(+) diff --git a/website/docs/guide/02-events.md b/website/docs/guide/02-events.md index bf40f928..9a000912 100644 --- a/website/docs/guide/02-events.md +++ b/website/docs/guide/02-events.md @@ -3,3 +3,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example02Events.vue) diff --git a/website/docs/guide/03-multiple-grids.md b/website/docs/guide/03-multiple-grids.md index 2fe99a99..34449a25 100644 --- a/website/docs/guide/03-multiple-grids.md +++ b/website/docs/guide/03-multiple-grids.md @@ -3,3 +3,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example03MultipleGrids.vue) diff --git a/website/docs/guide/04-allow-ignore.md b/website/docs/guide/04-allow-ignore.md index bdb27ca5..86067d68 100644 --- a/website/docs/guide/04-allow-ignore.md +++ b/website/docs/guide/04-allow-ignore.md @@ -7,3 +7,5 @@ Click and drag the dots on the corner of each item to reposition + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example04AllowIgnore.vue) diff --git a/website/docs/guide/05-mirrored.md b/website/docs/guide/05-mirrored.md index 460bda84..6891caeb 100644 --- a/website/docs/guide/05-mirrored.md +++ b/website/docs/guide/05-mirrored.md @@ -3,3 +3,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example05Mirrored.vue) diff --git a/website/docs/guide/06-responsive.md b/website/docs/guide/06-responsive.md index 9be0cc78..d6dddbfd 100644 --- a/website/docs/guide/06-responsive.md +++ b/website/docs/guide/06-responsive.md @@ -4,3 +4,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example06Responsive.vue) diff --git a/website/docs/guide/07-prevent-collision.md b/website/docs/guide/07-prevent-collision.md index 63726566..1796da46 100644 --- a/website/docs/guide/07-prevent-collision.md +++ b/website/docs/guide/07-prevent-collision.md @@ -4,3 +4,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example07PreventCollision.vue) diff --git a/website/docs/guide/08-responsive-predefined-layouts.md b/website/docs/guide/08-responsive-predefined-layouts.md index 6950d654..140b24bc 100644 --- a/website/docs/guide/08-responsive-predefined-layouts.md +++ b/website/docs/guide/08-responsive-predefined-layouts.md @@ -3,3 +3,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example08ResponsivePredefinedLayouts.vue) diff --git a/website/docs/guide/09-dynamic-add-remove.md b/website/docs/guide/09-dynamic-add-remove.md index 64a5f90a..bb71d0bc 100644 --- a/website/docs/guide/09-dynamic-add-remove.md +++ b/website/docs/guide/09-dynamic-add-remove.md @@ -5,3 +5,5 @@ + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example09DynamicAddRemove.vue) diff --git a/website/docs/guide/10-drag-from-outside.md b/website/docs/guide/10-drag-from-outside.md index ebfa3c89..e8fe3472 100644 --- a/website/docs/guide/10-drag-from-outside.md +++ b/website/docs/guide/10-drag-from-outside.md @@ -7,3 +7,5 @@ Once you drop the item within the grid you'll get its coordinates/properties and + +[View source](https://github.com/jbaysolutions/vue-grid-layout/blob/master/website/docs/.vuepress/components/Example10DragFromOutside.vue) From eba2559a18c294dc30906d54898f2797195822f9 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 14:28:26 +0100 Subject: [PATCH 047/111] bump interact.js to 1.10.0 and changes imports to use tree shaking (https://github.com/taye/interact.js/issues/800) --- package.json | 10 +- src/App.vue | 6 +- src/components/GridItem.vue | 13 +- src/components/GridLayout.vue | 8 +- src/components/ResponsiveGridLayout.vue | 287 ------------------------ 5 files changed, 24 insertions(+), 300 deletions(-) delete mode 100644 src/components/ResponsiveGridLayout.vue diff --git a/package.json b/package.json index a40bfa96..002eccfb 100644 --- a/package.json +++ b/package.json @@ -27,8 +27,12 @@ "lint": "vue-cli-service lint" }, "dependencies": { - "element-resize-detector": "^1.1.15", - "interactjs": "^1.9.22" + "element-resize-detector": "^1.2.1", + "@interactjs/interactjs": "^1.10.0", + "@interactjs/auto-start": "^1.10.0", + "@interactjs/actions": "^1.10.0", + "@interactjs/modifiers": "^1.10.0", + "@interactjs/dev-tools": "^1.10.0" }, "devDependencies": { "@vue/cli-plugin-babel": "^3.4.1", @@ -41,6 +45,6 @@ "sass-loader": "^7.0.1", "vue": "^2.6.12", "vue-template-compiler": "^2.6.12", - "webpack-bundle-analyzer": "^3.4.1" + "webpack-bundle-analyzer": "^3.9.0" } } diff --git a/src/App.vue b/src/App.vue index fce38b99..a60a36d4 100644 --- a/src/App.vue +++ b/src/App.vue @@ -62,6 +62,8 @@ :w="item.w" :h="item.h" :i="item.i" + :min-w="item.minW" + :max-w="item.maxW" :min-x="item.minX" :max-x="item.maxX" :min-y="item.minY" @@ -117,7 +119,7 @@ let testLayout = [ {"x":0,"y":0,"w":2,"h":2,"i":"0", resizable: true, draggable: true, static: false, minY: 0, maxY: 2}, {"x":2,"y":0,"w":2,"h":4,"i":"1", resizable: null, draggable: null, static: true}, - {"x":4,"y":0,"w":2,"h":5,"i":"2", resizable: false, draggable: false, static: false, minX: 4, maxX: 4}, + {"x":4,"y":0,"w":2,"h":5,"i":"2", resizable: false, draggable: false, static: false, minX: 4, maxX: 4, minW: 2, maxW: 2}, {"x":6,"y":0,"w":2,"h":3,"i":"3", resizable: false, draggable: false, static: false}, {"x":8,"y":0,"w":2,"h":3,"i":"4", resizable: false, draggable: false, static: false}, {"x":10,"y":0,"w":2,"h":3,"i":"5", resizable: false, draggable: false, static: false}, @@ -193,7 +195,7 @@ addItemDynamically: function() { let item = { x: (this.layout.length * 2) % (this.colNum || 12), - y: this.layout.length + (this.colNum || 12), + y: this.layout.length + (this.colNum || 12), w: 2, h: 2, i: this.index+"", diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index d3f0f56d..8620002b 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -86,12 +86,17 @@ } From 68ea13300201faa7faa1429d86a59662e3c27c34 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 16:01:42 +0100 Subject: [PATCH 048/111] added useStyleCursor to docs --- website/docs/guide/properties.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/website/docs/guide/properties.md b/website/docs/guide/properties.md index 2227b3da..7d68a9b0 100644 --- a/website/docs/guide/properties.md +++ b/website/docs/guide/properties.md @@ -138,6 +138,14 @@ Breakpoints defined for responsive layout. Sets widths on wich column number cha Defines number of columns for each breakpoint +### useStyleCursor + +* type: `Boolean` +* required: `false` +* default: `true` + +Says if set the `styleCursor` option to true. When dragging freezes, setting this value to `false` may alleviate problems. +**This property is not reactive** ## GridItem From c4c58b589746955d5f33904bb5f2d456ad25bf30 Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 17:31:30 +0100 Subject: [PATCH 049/111] Fixed a bug where resizing a grid item in RTL mode wasn't working (#366) --- src/components/GridItem.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index b14e9ade..4bd81abb 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -785,11 +785,11 @@ const opts = { preserveAspectRatio: true, - // allowFrom: "." + this.resizableHandleClass, + // allowFrom: "." + this.resizableHandleClass.trim().replace(" ", "."), edges: { left: false, - right: "." + this.resizableHandleClass, - bottom: "." + this.resizableHandleClass, + right: "." + this.resizableHandleClass.trim().replace(" ", "."), + bottom: "." + this.resizableHandleClass.trim().replace(" ", "."), top: false }, ignoreFrom: this.resizeIgnoreFrom, From 6c625825689d6eec7b9a80336d9bbf4a42438b5e Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 17:49:01 +0100 Subject: [PATCH 050/111] Pr/451 (#486) * Fix: Item's size changes when hiding/displaying it again in responsive mode (closes #431) Co-authored-by: lululala --- src/components/GridItem.vue | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/GridItem.vue b/src/components/GridItem.vue index 4bd81abb..6ceb863c 100644 --- a/src/components/GridItem.vue +++ b/src/components/GridItem.vue @@ -88,6 +88,7 @@ \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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?3308","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","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/_object-assign.js","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/./src/helpers/responsiveUtils.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/./src/helpers/utils.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/./src/components/GridItem.vue?11d8","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/domObjects.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/isWindow.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/window.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/is.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/browser.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/arr.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/clone.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/extend.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/raf.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/normalizeListeners.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Eventable.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/domUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/rect.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/getOriginXY.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/hypot.js","webpack://VueGridLayout/./node_modules/@interactjs/core/BaseEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/defaultOptions.js","webpack://VueGridLayout/./node_modules/@interactjs/core/InteractEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/isNonNativeEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Interactable.js","webpack://VueGridLayout/./node_modules/@interactjs/core/InteractableSet.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/pointerExtend.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/pointerUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/core/events.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactStatic.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/misc.js","webpack://VueGridLayout/./node_modules/@interactjs/core/PointerInfo.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Interaction.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactablePreventDefault.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactionFinder.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactions.js","webpack://VueGridLayout/./node_modules/@interactjs/core/scope.js","webpack://VueGridLayout/./node_modules/@interactjs/interact/index.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/InteractableMethods.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/base.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/dragAxis.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/hold.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/index.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/drag/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/drag/index.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/resize/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/resize/index.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/edgeTarget.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/elements.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/grid.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/all.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/Modification.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/base.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/aspectRatio.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/noop.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/pointer.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/edges.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/rect.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/size.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/pointer.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/size.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/edges.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/all.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/index.js","webpack://VueGridLayout/./node_modules/@interactjs/dev-tools/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/dev-tools/index.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"mappings":"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EA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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;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;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;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;A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CA,mBADA;AAEA;AAFA,KAlEA;AAsEA;AACA,mBADA;AAEA;AAFA;AAtEA,GAXA;AAsFA;AACA;AACA,iBADA;AAEA,qBAFA;AAGA,yBAHA;AAIA,uBAJA;AAKA;AACA,YADA;AAEA,YAFA;AAGA,YAHA;AAIA,YAJA;AAKA;AALA,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GAvGA;AAwGA,SAxGA,qBAwGA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAjIA;AAkIA;AACA;AACA,GApIA;AAqIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GArKA;AAsKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAtKA;AAqOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,uGAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,qFACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AArOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;;;;;;;;;ACda;;AAEb,kBAAkB,mBAAO,CAAC,MAAU;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACzDA,cAAc;;;;;;;;ACAd,WAAW,mBAAO,CAAC,MAAS;AAC5B,aAAa,mBAAO,CAAC,MAAW;AAChC;AACA,kD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A;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,mBAA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A;AACA;AACA;AACA,mBAAmB,MAAM,GAAG,eAAe;AAC3C;;AAEA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,SAAS;;AAE/B;AACA,yBAAyB,KAAS;AAClC;AACA;;AAEA;AACA,sBAAsB,SAAS;;AAE/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qC;;ACxEmC;AACM;AAChB;AACU;AAC5B;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACO,SAAS,gBAAO;AACvB,SAAS,EAAE;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP;;AAEA,MAAM,EAAE;AACR;AACA;AACA,qCAAqC,EAAE;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP;AACA,MAAM,GAAU,KAAK,UAAc;AACnC;AACA;;AAEA,iBAAiB,aAAO;AACxB;;AAEA,iDAAiD;;;AAG1C;AACP;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA,mDAAmD;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA,sBAAsB;;AAEtB,+BAA+B,gBAAU,uCAAuC,gBAAU,wCAAwC,gBAAU;AAC5I;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+BAA+B,SAAa;AAC5C,8BAA8B,SAAa;AAC3C;AACA;;AAEO;AACP,SAAS,EAAE;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACO;AACP,qCAAqC,GAAU;AAC/C;AACA;AACA;AACA;AACA;AACO;AACP,wCAAwC,gBAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA,OAAO,aAAO;AACd,+BAA+B,SAAa;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP,OAAO,EAAE;AACT;AACA,GAAG;;;AAGH,EAAE,gBAAU;AACZ;AACA;AACA,oC;;AC/NoE;AACnC;AACR;AAClB;AACP;AACA,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,gBAAO;AAChB;AACO;AACP;;AAEA,MAAM,EAAE;AACR;AACA,GAAG,UAAU,EAAE;AACf;AACA;;AAEA,MAAM,EAAE;AACR,kBAAkB,cAAc;AAChC;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA,WAAW,MAAM,GAAG;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA,WAAW,MAAM,GAAG;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gC;;AC7EsD;AACvC;AACf;AACA;AACA;AACA,qBAAqB,eAAe;AACpC,SAAS,QAAQ;AACjB;AACA;AACA;AACA,CAAC;AACD,uC;;ACXgB,4EAAkC,EAAE;AACpD,iC;;ACDO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD,qC;;AC5CA;AACA;AACO,MAAM,uBAAQ;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0C;;AChBwC;AACU;AACZ;AACK;AACI;AACxC,MAAM,2BAAa,SAAS,SAAS;AAC5C;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;AACA;AACA;AACA,qDAAqD,uBAAQ;AAC7D,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,MAAM,GAAG;AACzB,kBAAkB,MAAM,GAAG;AAC3B,gBAAgB,MAAM,GAAG;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,6CAA6C;;AAE7C,oBAAoB,MAAM,GAAG;AAC7B,iBAAiB,KAAK;AACtB;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,CAAC;AACD;;AAEA,wBAAwB,2BAAa;AACrC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;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;AACrC;AACA,aAAa,0BAA0B;AACvC,aAAa,iBAAiB;AAC9B;AACA,cAAc,aAAa;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,0BAA0B;AACvC,aAAa,iBAAiB;AAC9B;AACA,cAAc,aAAa;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;;;AAGA;AACA;;AAEA,SAAS,EAAE;AACX;AACA;;AAEA,mBAAmB,KAAK;;AAExB;AACA;AACA;AACA;AACA,oCAAoC,MAAM,CAAC,MAAM,GAAG;AACpD;AACA;;AAEA;AACA,UAAU,EAAE;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,wC;;AC/YuC;AACU;AACT;AACR;AACzB,MAAM,+BAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,+BAA+B,EAAE;AACjC,4BAA4B,SAAa;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA,cAAc,MAAM,cAAc;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,uBAAuB,EAAE;AACzB;;AAEA;AACA;AACA;;AAEA,kBAAkB,IAAQ;AAC1B;AACA;;AAEA;AACA;AACA;;AAEA,WAAW,EAAE;AACb,QAAQ,EAAE,kBAAkB,eAAwB;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2C;;ACtGA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACe,qEAAa,EAAC;AAC7B,yC;;ACzBmC;AACD;AACQ;AACX;AACN;AACsB;AACxC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP,4BAA4B,gBAAG,6BAA6B,gBAAG;AAC/D,CAAC;;AAEM;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;;AAEJ,MAAM,aAAO;AACb;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACO;AACP;;AAEA,MAAM,aAAO;AACb;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACO;AACP,SAAS,EAAE;AACX;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP,qBAAqB;;AAErB,MAAM,EAAE;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,EAAE,qDAAqD,EAAE;AAClE;AACA,qDAAqD,gBAAG;AACxD,CAAC;;AAEM;AACP,eAAe,EAAE;AACjB,UAAU,gBAAyB,iCAAiC,gBAAyB;AAC7F;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACyB;AACzB,wC;;ACzPuC;AACU;AACT;AACR;AACgB;AACS;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA,iBAAiB,IAAQ;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yCAAyC,QAAY;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,SAAa;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA,OAAO;AACP,uBAAuB,0BAA0B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,IAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,sCAAsC,YAAY;AAClD,mCAAmC;;AAEnC;AACA;AACA;AACA,SAAS,OAAO;;AAEhB,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA,WAAW,iBAAiB;;AAE5B;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA,yCAAyC;;AAEzC;AACA;AACA,aAAa;;;AAGb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,0BAA0B,gBAAS;AACnC;AACA,0BAA0B,eAA4B;AACtD,8BAA8B;;AAE9B,WAAW,EAAE;AACb,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA,SAAS;;AAET,YAAY,eAAwB,uBAAuB,YAAqB,0BAA0B,YAAqB;AAC/H;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAmB;AACnC;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA,MAAM,gBAAS;AACf;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC,IAAI,mBAAO;AACX;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO,EAAE;AACT;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,MAAM,GAAG;AAC3B;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA,CAAC,EAAC;AACF,kC;;ACnRA;AAC0C;AACO;AACjB;AACyB;AACJ;AAC9C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ,+BAA+B,cAA2B;AAC1D,0BAA0B,SAAsB;AAChD,8BAA8B,aAA0B;AACxD,2BAA2B,UAAuB;AAClD,4BAA4B,cAAuB;AACnD,kCAAkC,oBAA6B;AAC/D,6BAA6B,eAAwB;AACrD,qBAAqB,gBAAgB;AACrC,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,aAAa,SAAS;AACtB,aAAa,iBAAiB;AAC9B;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,SAAS;AACtB,aAAa,iBAAiB;AAC9B;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,WAAW,aAAO;AAClB;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,WAAW,aAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0C;;AC7PqC;AAC9B;AACP;AACA;AACA;AACA,MAAM,GAAM;AACZ;AACA;;AAEA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,gC;;AClBO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uC;;ACfuC;AACC;AACF;AACkB;AACC;AACX;AACK;AACJ;AACxC;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;;AAE9B;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;;AAEvC;AACO,MAAM,uBAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;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,kBAAkB,QAAQ;AAC1B;AACA,KAAK;AACL;AACA;AACA,aAAa,SAAsB;AACnC;AACA,YAAY,SAAsB;AAClC;AACA,WAAW,SAAsB;AACjC;AACA,aAAa,SAAsB;AACnC;AACA,gBAAgB,SAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA,aAAa,OAAO;AACpB,aAAa,aAAa;AAC1B,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;;AAEA,IAAI,UAAU;AACd;AACA;AACA;AACA,uCAAuC,MAAM,GAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,6BAA6B,KAAK;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,gBAA6B;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,UAAuB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ,eAAe;AAChE;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,MAAM,aAA0B;AAChC;;AAEA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,KAAK,iBAAiB;AACtB;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,aAAa;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,YAAyB,UAAU;;AAEzD,mGAAmG,SAAa;AAChH;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,YAAyB;AACxC;AACA;AACA;;AAEA;AACA,wBAAwB,WAAW;AACnC;AACA;AACA,KAAK;AACL;AACA;;AAEA,IAAI,SAAsB;AAC1B,IAAI,cAA2B;;AAE/B;AACA;AACA;AACA;AACA,MAAM,mBAA0B;;AAEhC;AACA,QAAQ,UAAuB;AAC/B,QAAQ,UAAuB;AAC/B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,2BAAa;AAC5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,MAAM,QAAkB;AACxB;AACA;AACA;;AAEA,uEAAuE,MAAM;;AAE7E;AACA;AACA;;AAEA;;AAEA,2CAA2C,MAAM;;AAEjD;AACA;AACA;;AAEA;;AAEA,iDAAiD,MAAM;;AAEvD;AACA;;AAEA;AACA;AACA;;AAEA;AACe,4EAAW,EAAC;AACJ;AACvB,uC;;ACxgBqE;AACrC;AACe;;AAE/C;AACA;AACA;AACA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH,MAAM,EAAE,0BAA0B,eAAe;AACjD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEO,SAAS,kCAAO;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACe;AACf;AACA,SAAS;AACT;AACA,wBAAwB,UAAU;AAClC;AACA,GAAG,IAAI;AACP,CAAC,EAAC;AACF,sD;;AC9G4C;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAc;AAClC;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEe,4DAAM,EAAC;AACtB,6C;;AC/I0C;AACM;AACI;AACK;AACV;AAC0B;AAC7B;AAC5C;;AAEA,SAAS,oBAAO;AAChB;;AAEA;AACA;AACA;;AAEA,sBAAsB,aAAO;AAC7B;;AAEA,MAAM,gBAAU;AAChB;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,EAAE;;AAEL;AACA,oCAAoC,gBAAe;AACnD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA,SAAS,KAAK,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;;AAEA;AACA;AACA;AACA,wBAAwB,cAA2B;AACnD,0CAA0C,eAA4B;AACtE,uBAAuB;;AAEvB;AACA,wCAAwC;;AAExC;AACA;AACA,0BAA0B,YAAyB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,WAAW,aAAO;AAClB;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,YAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,2BAA2B,iBAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,MAAM,yBAAY;AAClB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sDAAsD,QAAQ;AAC9D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACe,+EAAY,EAAC;AAC5B,wC;;ACpR0C;AACJ;AACU;AACR;AACN;AACQ;AACC;AACQ;AACkB;AACd;AACR;AACd;AAC0B;AACd;AACtC,MAAM,WAAK;AAClB;AACA;AACA;AACA;AACA;AACA,kCAAkC,gCAAgC;AAClE;AACA;AACA,mBAAmB,aAAO;AAC1B,oBAAoB,KAAK,CAAC,uBAAQ;AAClC,qBAAqB,mBAAS;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB;AACA;AACA,0BAA0B,oBAAoB;AAC9C,yBAAyB,2BAAa;AACtC;AACA,6BAA6B,+BAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC,yBAAgB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI;;AAEX,YAAY,aAAa;AACzB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAa;AAChC,wBAAwB,MAAM,GAAG;AACjC;AACA;AACA;AACA,KAAK;AACL,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,mBAAmB,SAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACO;AACP;AACA,EAAE,WAAQ;AACV,EAAE,gBAAU;AACZ,EAAE,aAAO;AACT,EAAE,GAAG;AACL;AACA;AACA,kBAAkB,iBAAY;AAC9B,kBAAkB,MAAM;AACxB;AACA;;AAEA;AACA;AACA;AACA,iC;;ACxOyC;AACzC,MAAM,cAAK,OAAO,WAAK;AACvB,MAAM,iBAAQ,GAAG,cAAK;AACP,0EAAQ,EAAC;AACjB,MAAM,aAAI,UAAU,cAAK;;AAEhC;AACA,EAAE,aAAI;AACN;AACA,iC;;ACTgC;AACY;;AAE5C,SAAS,2BAAO;AAChB;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;;AAGA,sCAAsC,QAAQ;AAC9C;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA,qCAAqC,QAAQ;AAC7C;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEe;AACf;AACA,SAAS;AACT,CAAC,EAAC;AACF,+C;;AC5KiD;AACT;AACR;AACc;AACa;;AAE3D,SAAS,YAAO;AAChB;AACA;AACA;AACA,GAAG;AACH,kBAAkB,mBAAmB;AACrC;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;;AAEH;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,SAAS,EAAE;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,UAAmB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;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,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACe,kDAAS,EAAC;AACzB,gC;;AC7TkD;AAClB;AACE;;AAElC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,qCAAqC;;AAErC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,6FAA6F,IAAS;AACtG;AACA;AACA;AACA,MAAM;;;AAGN,WAAW,EAAE;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;AACF,oC;;AC5EmC;;AAEnC,SAAS,YAAO;AAChB;AACA;AACA,GAAG;AACH,kBAAkB,IAAU;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC,EAAC;AACF,gC;;AChEkC;AACG;AACR;AACd;AACf;;AAEA;AACA,oBAAoB,IAAS;AAC7B,oBAAoB,IAAI;AACxB,oBAAoB,QAAQ;AAC5B;;AAEA,CAAC,EAAC;AACF,kC;;ACbA;AACsD;AACrB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,iBAAM;AACnB,iC;;ACfmC;;AAEnC,SAAS,cAAO;AAChB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;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,MAAM,gBAAS;AACf,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACe,oDAAI,EAAC;AACpB,kC;;ACjKA;AACyD;AACxB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,WAAM;AACnB,iC;;ACfwD;AACT;AACJ;AACR;;AAEnC,SAAS,qBAAO;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,SAAS;;AAEZ;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,MAAM,GAAG;AACxB;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH,MAAM,EAAE;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK,UAAU,EAAE;AACjB;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,kBAAkB,EAAE;AACpB,mBAAmB,EAAE,4DAA4D;;AAEjF;;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,OAAO,EAAE;AACT;AACA;;AAEA,SAAS,EAAE;AACX;AACA,IAAI,WAAe;AACnB;;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;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM,GAAG;AACpB,eAAe,MAAM,GAAG;AACxB,cAAc,MAAM,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAI;AACb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,MAAM;;AAER;AACA;AACA,IAAI,MAAM;;AAEV;AACA;AACA;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,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,MAAM,WAAI;AACV;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACe,wDAAM,EAAC;AACtB,kC;;AC7bA;AACyD;AACxB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,aAAM;AACnB,iC;;ACfgB,uDAAQ,EAAE;AAC1B,sC;;ACDgB,8DAAQ,EAAE;AAC1B,oC;;ACDgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC,EAAE;AACH,gC;;ACtCwD;AACJ;AACR;AAC5C,+B;;ACHwC;AACA;AACxC;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,wBAAwB,MAAM,wBAAwB,EAAE,mBAAW;AACnE;AACA;;AAEA;AACe,kEAAc,EAAC;AAC9B,kC;;ACfsC;AACE;AACM;AAC/B,MAAM,yBAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,MAAM,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,MAAM,GAAG;AAC1B,eAAe,MAAM,GAAG;AACxB;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,iCAAiC,MAAM,GAAG;AAC1C;;AAEA;AACA;AACA;AACA,QAAQ,QAAkB;AAC1B;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,MAAM,MAAM;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,yBAAyB;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,wBAAwB,MAAM;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,KAAK;AAC7C,+BAA+B,MAAM,GAAG,wBAAwB,MAAM,GAAG;AACzE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,wC;;ACvY6C;AACtC;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,qCAAqC,yBAAY;AACjD,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,gEAAa,EAAC;AAC7B,gC;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D,QAAQ;AACR,6BAA6B,oBAAoB;AACjD;AACA,IAAI;AACJ;AACA;AACwC;AACI;AACC;AACJ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,wBAAwB,MAAM,GAAG;AACjC,sBAAsB,MAAM,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,IAAI,MAAM;;AAEV;AACA;AACA;;AAEA,gCAAgC,yBAAY;AAC5C;AACA;AACA;AACA,8BAA8B;AAC9B,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,0BAA0B,MAAM,GAAG;AACnC;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,MAAM,GAAG;AACnC,IAAI,QAAQ;AACZ;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA,oEAAoE;;AAEpE;AACA,MAAM,MAAM;AACZ;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEe,sEAAY,4BAA4B,EAAC;AACjC;AACvB,uC;;ACtJA;;AAEA;AACe,uDAAI,EAAC;AACpB,gC;;ACJ2C;AACR;AACc;AACP;;AAE1C,SAAS,aAAK;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,iBAAiB,MAAM;AACvB;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,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA,eAAe,UAAoB;AACnC;AACA;AACA;;AAEO;AACP,MAAM,EAAE;AACR,WAAW,eAAyB;AACpC,GAAG;AACH,WAAW,eAAyB;AACpC;AACA;AACA,MAAM,gBAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,UAAU;AACV;AACe,iEAAY,sBAAsB,EAAC;AAC9B;AACpB,mC;;AC7FA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACuC;AACM;AACP;AACQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAK;AACd;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;;AAEA;AACA,uBAAuB,kBAAkB;AACzC,aAAa,QAAkB;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAG;AACZ;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,MAAM,GAAG;AACxB,gBAAgB,kBAAkB;AAClC,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,cAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,+DAAY,gCAAgC,EAAC;AACnC;AACzB,iC;;AClH2C;AACD;AACF;AACxC,MAAM,aAAQ,GAAG,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC,EAAE,QAAQ;AACX;AACA,SAAS,QAAQ;AACjB,OAAO,QAAQ;AACf,UAAU;AACV;AACe,8DAAY,8BAA8B,EAAC;AAClC;AACxB,gC;;ACvB2C;AACM;AACP;AACC;AACO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,UAAK;AACd,SAAS,aAAa;AACtB;;AAEA,SAAS,QAAG;AACZ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,kBAAkB,UAAoB,CAAC,kBAAkB;AACzD,kBAAkB,UAAoB,CAAC,kBAAkB;AACzD;AACA;AACA,WAAW,MAAM,GAAG,EAAE,aAAa;AACnC,WAAW,MAAM,GAAG,EAAE,aAAa;AACnC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,EAAE,aAAa;AACf;AACA;;AAEA,MAAM,aAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,qDAAY,8BAA8B,EAAC;AAClC;AACxB,gC;;AC1E2C;AACU;AACZ;AACN;AAC6B;AACtB;;AAE1C,SAAS,kBAAK;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,uBAAuB,eAAe;AACtC,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,MAAM;AACf;AACA;AACA,GAAG;AACH;;AAEA,SAAS,WAAG;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,iBAAiB,WAAW;AAC5B,eAAe,MAAM,GAAG;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qDAAqD,aAAa;AAClE;AACA;;AAEA,UAAU,EAAE;AACZ;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,eAAe,EAAE;AACjB;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,QAAQ,CAAC,eAAe;AAChD,kCAAkC,WAAW;AAC7C;AACA;;AAEA,MAAM,qBAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,6DAAY,cAAc,EAAC;AAC1B;AAChB,mC;;AC/KA;AACA;AAC2C;AACR;AACO;AACN;;AAEpC,SAAS,eAAK;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN;AACA;AACA;;AAEA,SAAS,aAAG;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,kBAAkB,MAAM,GAAG;AAC3B;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,IAAI;AAC1B;AACA;AACA;;A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;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA3LA;AA4LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GA1MA;AA2MA;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA,GAnOA;AAoOA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GApOA;AA+SA;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,GA/SA;AAgVA;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;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KAlVA;AAmVA;AACA;;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,2EAFA;AAGA,4EAHA;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,KArYA;AAsYA;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;AA3aA;AAhVA,G;;ACrGkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;ACnBA;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,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;AACA;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;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;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;;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;AACA;;;;;;;;ACppBA;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;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,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;AACI;;;;;;;;ACHtB;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!./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=27b36423&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=5b39b04a&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n\n function initDocument(targetDocument) {\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n injectScrollStyle(targetDocument, styleId, detectionContainerClass);\n }\n\n initDocument(window.document);\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width*2 + \"px\", \"height: \" + height*2 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n var container = document.createElement(\"div\");\n container.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width + \"px\", \"height: \" + height + \"px\", \"overflow: scroll\", \"visibility: none\", \"top: \" + -width*3 + \"px\", \"left: \" + -height*3 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(targetDocument, styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n targetDocument.head.appendChild(element);\n };\n\n var styleElement = targetDocument.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!targetDocument.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { \" + buildCssTextString([\"display: none\"]) + \" }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { \" + buildCssTextString([\"-webkit-animation-duration: 0.1s\", \"animation-duration: 0.1s\", \"-webkit-animation-name: \" + containerAnimationClass, \"animation-name: \" + containerAnimationClass]) + \" }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = buildCssTextString([\"visibility: hidden\", \"display: inline\", \"width: 0px\", \"height: 0px\", \"z-index: -1\", \"overflow: hidden\", \"margin: 0\", \"padding: 0\"]);\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\",options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return [\"left: \" + left, \"top: \" + top, \"right: \" + right, \"bottom: \" + bottom];\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\", \"left: 0px\", \"top: 0px\"]);\n var containerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth)));\n var expandStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var shrinkStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var expandChildStyle = buildCssTextString([\"position: absolute\", \"left: 0\", \"top: 0\"]);\n var shrinkChildStyle = buildCssTextString([\"position: absolute\", \"width: 200%\", \"height: 200%\"]);\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.setProperty(\"width\", expandWidth + \"px\", options.important ? \"important\" : \"\");\n expandChild.style.setProperty(\"height\", expandHeight + \"px\", options.important ? \"important\" : \"\");\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped.\n var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!sizeChanged) {\n return;\n }\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then\n // been restored to the original size, which will have changed the scrollbar positions.\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (sizeChanged && done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n updateDetectorElements(notifyListenersIfNeeded);\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var importantCssRules = getOption(options, \"important\", false);\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler,\n important: importantCssRules\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n function initDocument(targetDocument) {\n detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument);\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 92d47ee7..15ce235c 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -1,3 +1,4 @@ +/*! vue-grid-layout - 2.3.10 | (c) 2015, 2020 Gustavo Santos (JBay Solutions) (http://www.jbaysolutions.com) | https://github.com/jbaysolutions/vue-grid-layout */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("vue")); @@ -347,10 +348,6 @@ module.exports = function(options) { * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback. */ function addListener(element, listener) { - if(!getObject(element)) { - throw new Error("Element is not detectable by this strategy."); - } - function listenerProxy() { listener(element); } @@ -363,10 +360,21 @@ module.exports = function(options) { element.attachEvent("onresize", listenerProxy); } else { var object = getObject(element); + + if(!object) { + throw new Error("Element is not detectable by this strategy."); + } + object.contentDocument.defaultView.addEventListener("resize", listenerProxy); } } + function buildCssTextString(rules) { + var seperator = options.important ? " !important; " : "; "; + + return (rules.join(seperator) + seperator).trim(); + } + /** * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes. * @private @@ -385,7 +393,7 @@ module.exports = function(options) { var debug = options.debug; function injectObject(element, callback) { - var OBJECT_STYLE = "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;"; + var OBJECT_STYLE = buildCssTextString(["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"]); //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element. @@ -406,7 +414,7 @@ module.exports = function(options) { function mutateDom() { function alterPositionStyles() { if(style.position === "static") { - element.style.position = "relative"; + element.style.setProperty("position", "relative", options.important ? "important" : ""); var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -417,7 +425,7 @@ module.exports = function(options) { if(value !== "auto" && getNumericalValue(value) !== "0") { reporter.warn("An element that is positioned static has style." + property + "=" + value + " which is ignored due to the static positioning. The element will need to be positioned relative, so the style." + property + " will be set to 0. Element: ", element); - element.style[property] = 0; + element.style.setProperty(property, "0", options.important ? "important" : ""); } }; @@ -443,7 +451,12 @@ module.exports = function(options) { //So if it is not present, poll it with an timeout until it is present. //TODO: Could maybe be handled better with object.onreadystatechange or similar. if(!element.contentDocument) { - setTimeout(function checkForObjectDocument() { + var state = getState(element); + if (state.checkForObjectDocumentTimeoutId) { + window.clearTimeout(state.checkForObjectDocumentTimeoutId); + } + state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() { + state.checkForObjectDocumentTimeoutId = 0; getDocument(element, callback); }, 100); @@ -485,6 +498,11 @@ module.exports = function(options) { object.data = "about:blank"; } + if (!getState(element)) { + // The element has been uninstalled before the actual loading happened. + return; + } + element.appendChild(object); getState(element).object = object; @@ -522,11 +540,26 @@ module.exports = function(options) { } function uninstall(element) { - if(browserDetector.isIE(8)) { - element.detachEvent("onresize", getState(element).object.proxy); + if (!getState(element)) { + return; + } + + var object = getObject(element); + + if (!object) { + return; + } + + if (browserDetector.isIE(8)) { + element.detachEvent("onresize", object.proxy); } else { - element.removeChild(getObject(element)); + element.removeChild(object); } + + if (getState(element).checkForObjectDocumentTimeoutId) { + window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId); + } + delete getState(element).object; } @@ -1302,12 +1335,12 @@ module.exports = __webpack_require__("8e60") ? function (object, key, value) { "use strict"; -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"495e29ea-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=6594d2a5& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f5d7874-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=27b36423& 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)} var staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=27b36423& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); @@ -1357,182 +1390,10 @@ var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpac // EXTERNAL MODULE: ./src/helpers/utils.js var utils = __webpack_require__("a2b6"); -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.array.sort.js -var es6_array_sort = __webpack_require__("55dd"); - -// CONCATENATED MODULE: ./src/helpers/responsiveUtils.js - - - - -// @flow - - -/*:: import type {Layout} from './utils';*/ - -/*:: export type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};*/ - -/*:: type Breakpoint = string;*/ - -/** - * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint). - * - * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...}) - * @param {Number} width Screen width. - * @return {String} Highest breakpoint that is less than width. - */ - -/*:: type Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};*/ - -function getBreakpointFromWidth(breakpoints -/*: Breakpoints*/ -, width -/*: number*/ -) -/*: Breakpoint*/ -{ - var sorted = sortBreakpoints(breakpoints); - var matching = sorted[0]; - - for (var i = 1, len = sorted.length; i < len; i++) { - var breakpointName = sorted[i]; - if (width > breakpoints[breakpointName]) matching = breakpointName; - } - - return matching; -} -/** - * Given a breakpoint, get the # of cols set for it. - * @param {String} breakpoint Breakpoint name. - * @param {Object} cols Map of breakpoints to cols. - * @return {Number} Number of cols. - */ - -function getColsFromBreakpoint(breakpoint -/*: Breakpoint*/ -, cols -/*: Breakpoints*/ -) -/*: number*/ -{ - if (!cols[breakpoint]) { - throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint " + breakpoint + " is missing!"); - } - - return cols[breakpoint]; -} -/** - * Given existing layouts and a new breakpoint, find or generate a new layout. - * - * This finds the layout above the new one and generates from it, if it exists. - * - * @param {Array} orgLayout Original layout. - * @param {Object} layouts Existing layouts. - * @param {Array} breakpoints All breakpoints. - * @param {String} breakpoint New breakpoint. - * @param {String} breakpoint Last breakpoint (for fallback). - * @param {Number} cols Column count at new breakpoint. - * @param {Boolean} verticalCompact Whether or not to compact the layout - * vertically. - * @return {Array} New layout. - */ - -function findOrGenerateResponsiveLayout(orgLayout -/*: Layout*/ -, layouts -/*: ResponsiveLayout*/ -, breakpoints -/*: Breakpoints*/ -, breakpoint -/*: Breakpoint*/ -, lastBreakpoint -/*: Breakpoint*/ -, cols -/*: number*/ -, verticalCompact -/*: boolean*/ -) -/*: Layout*/ -{ - // If it already exists, just return it. - if (layouts[breakpoint]) return Object(utils["b" /* cloneLayout */])(layouts[breakpoint]); // Find or generate the next layout - - var layout = orgLayout; - var breakpointsSorted = sortBreakpoints(breakpoints); - var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); - - for (var i = 0, len = breakpointsAbove.length; i < len; i++) { - var b = breakpointsAbove[i]; - - if (layouts[b]) { - layout = layouts[b]; - break; - } - } - - layout = Object(utils["b" /* cloneLayout */])(layout || []); // clone layout so we don't modify existing items - - return Object(utils["c" /* compact */])(Object(utils["d" /* correctBounds */])(layout, { - cols: cols - }), verticalCompact); -} -function generateResponsiveLayout(layout -/*: Layout*/ -, breakpoints -/*: Breakpoints*/ -, breakpoint -/*: Breakpoint*/ -, lastBreakpoint -/*: Breakpoint*/ -, cols -/*: number*/ -, verticalCompact -/*: boolean*/ -) -/*: Layout*/ -{ - // If it already exists, just return it. - - /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]); - // Find or generate the next layout - let layout = layouts[lastBreakpoint];*/ - - /*const breakpointsSorted = sortBreakpoints(breakpoints); - const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); - for (let i = 0, len = breakpointsAbove.length; i < len; i++) { - const b = breakpointsAbove[i]; - if (layouts[b]) { - layout = layouts[b]; - break; - } - }*/ - layout = Object(utils["b" /* cloneLayout */])(layout || []); // clone layout so we don't modify existing items - - return Object(utils["c" /* compact */])(Object(utils["d" /* correctBounds */])(layout, { - cols: cols - }), verticalCompact); -} -/** - * Given breakpoints, return an array of breakpoints sorted by width. This is usually - * e.g. ['xxs', 'xs', 'sm', ...] - * - * @param {Object} breakpoints Key/value pair of breakpoint names to widths. - * @return {Array} Sorted breakpoints. - */ +// EXTERNAL MODULE: ./src/helpers/responsiveUtils.js +var responsiveUtils = __webpack_require__("97a7"); -function sortBreakpoints(breakpoints -/*: Breakpoints*/ -) -/*: Array*/ -{ - var keys - /*: Array*/ - = Object.keys(breakpoints); - return keys.sort(function (a, b) { - return breakpoints[a] - breakpoints[b]; - }); -} -// EXTERNAL MODULE: ./src/components/GridItem.vue + 5 modules +// EXTERNAL MODULE: ./src/components/GridItem.vue + 69 modules var GridItem = __webpack_require__("bc21"); // EXTERNAL MODULE: ./src/helpers/DOM.js @@ -1583,7 +1444,8 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); name: "GridLayout", provide: function provide() { return { - eventBus: null + eventBus: null, + layout: this }; }, components: { @@ -1674,6 +1536,10 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); preventCollision: { type: Boolean, default: false + }, + useStyleCursor: { + type: Boolean, + default: true } }, data: function data() { @@ -1969,12 +1835,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, // finds or generates new layouts for set breakpoints responsiveGridLayout: function responsiveGridLayout() { - var newBreakpoint = getBreakpointFromWidth(this.breakpoints, this.width); - var newCols = getColsFromBreakpoint(newBreakpoint, this.cols); // save actual layout in layouts + var newBreakpoint = Object(responsiveUtils["b" /* getBreakpointFromWidth */])(this.breakpoints, this.width); + var newCols = Object(responsiveUtils["c" /* getColsFromBreakpoint */])(newBreakpoint, this.cols); // save actual layout in layouts if (this.lastBreakpoint != null && !this.layouts[this.lastBreakpoint]) this.layouts[this.lastBreakpoint] = Object(utils["b" /* cloneLayout */])(this.layout); // Find or generate a new layout. - var layout = findOrGenerateResponsiveLayout(this.originalLayout, this.layouts, this.breakpoints, newBreakpoint, this.lastBreakpoint, newCols, this.verticalCompact); // Store the new layout. + var layout = Object(responsiveUtils["a" /* findOrGenerateResponsiveLayout */])(this.originalLayout, this.layouts, this.breakpoints, newBreakpoint, this.lastBreakpoint, newCols, this.verticalCompact); // Store the new layout. this.layouts[newBreakpoint] = layout; @@ -1985,7 +1851,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); this.$emit('update:layout', layout); this.lastBreakpoint = newBreakpoint; - this.eventBus.$emit("setColNum", getColsFromBreakpoint(newBreakpoint, this.cols)); + this.eventBus.$emit("setColNum", Object(responsiveUtils["c" /* getColsFromBreakpoint */])(newBreakpoint, this.cols)); }, // clear all responsive layouts initResponsiveFeatures: function initResponsiveFeatures() { @@ -2539,16 +2405,6 @@ module.exports = function (it) { }; -/***/ }), - -/***/ "5014": -/***/ (function(module, exports, __webpack_require__) { - -/* interact.js 1.9.22 | https://raw.github.com/taye/interact.js/master/LICENSE */ -!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=o,e.getWindow=function(e){if((0,t.default)(e))return e;return(e.ownerDocument||e).defaultView||r.window},e.window=e.realWindow=void 0;var n=void 0;e.realWindow=n;var r=void 0;function o(t){e.realWindow=n=t;var o=t.document.createTextNode("");o.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(o)===o&&(t=t.wrap(t)),e.window=r=t}e.window=r,"undefined"!=typeof window&&window&&o(window);var i={};function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0;var s=function(t){return!!t&&"object"===a(t)},l=function(t){return"function"==typeof t},u={window:function(n){return n===e.window||(0,t.default)(n)},docFrag:function(t){return s(t)&&11===t.nodeType},object:s,func:l,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==a(t))return!1;var n=e.getWindow(t)||e.window;return/object|function/.test(a(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return s(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return s(t)&&void 0!==t.length&&l(t.splice)}};i.default=u;var c={};function f(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function d(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=p.draggable,e.map.drag=p,e.methodDict.drag="draggable",r.actions.drag=p.defaults},listeners:{"interactions:before-action-move":f,"interactions:action-resume":f,"interactions:action-move":d,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return i.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):i.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:f,move:d,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},v=p;c.default=v;var h={};Object.defineProperty(h,"__esModule",{value:!0}),h.default=void 0;var g={init:function(t){var e=t;g.document=e.document,g.DocumentFragment=e.DocumentFragment||y,g.SVGElement=e.SVGElement||y,g.SVGSVGElement=e.SVGSVGElement||y,g.SVGElementInstance=e.SVGElementInstance||y,g.Element=e.Element||y,g.HTMLElement=e.HTMLElement||g.Element,g.Event=e.Event,g.Touch=e.Touch||y,g.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function y(){}var m=g;h.default=m;var b={};Object.defineProperty(b,"__esModule",{value:!0}),b.default=void 0;var x={init:function(t){var n=h.default.Element,r=e.window.navigator;x.supportsTouch="ontouchstart"in t||i.default.func(t.DocumentTouch)&&h.default.document instanceof t.DocumentTouch,x.supportsPointerEvent=!1!==r.pointerEnabled&&!!h.default.PointerEvent,x.isIOS=/iP(hone|od|ad)/.test(r.platform),x.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),x.isIe9=/MSIE 9/.test(r.userAgent),x.isOperaMobile="Opera"===r.appName&&x.supportsTouch&&/Presto/.test(r.userAgent),x.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",x.pEventTypes=x.supportsPointerEvent?h.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,x.wheelEvent="onmousewheel"in h.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var w=x;b.default=w;var _={};function S(t){var e=t.parentNode;if(i.default.docFrag(e)){for(;(e=e.host)&&i.default.docFrag(e););return e}return e}function P(t,n){return e.window!==e.realWindow&&(n=n.replace(/\/deep\//g," ")),t[b.default.prefixedMatchesSelector](n)}Object.defineProperty(_,"__esModule",{value:!0}),_.nodeContains=function(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1},_.closest=function(t,e){for(;i.default.element(t);){if(P(t,e))return t;t=S(t)}return null},_.parentNode=S,_.matchesSelector=P,_.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,g,y,m;return n},_.matchesUpTo=function(t,e,n){for(;i.default.element(t);){if(P(t,e))return!0;if((t=S(t))===n)return P(t,e)}return!1},_.getActualElement=function(t){return t.correspondingUseElement||t},_.getScrollXY=T,_.getElementClientRect=M,_.getElementRect=function(t){var n=M(t);if(!b.default.isIOS7&&n){var r=T(e.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){var e=[];for(;t;)e.push(t),t=S(t);return e},_.trySelector=function(t){if(!i.default.string(t))return!1;return h.default.document.querySelector(t),!0};var O=function(t){return t.parentNode||t.host};function E(t,e){for(var n,r=[],o=t;(n=O(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function T(t){return{x:(t=t||e.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function M(t){var e=t instanceof h.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var j={};Object.defineProperty(j,"__esModule",{value:!0}),j.default=function(t,e){for(var n in e)t[n]=e[n];return t};var k={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?q(e):e[0];U(r,t.page),N(r,t.client),t.timeStamp=n},W.getTouchPair=V,W.pointerAverage=q,W.touchBBox=function(t){if(!t.length)return null;var e=V(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},W.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=V(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,R.default)(i,a)},W.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=V(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},W.getPointerType=function(t){return i.default.string(t.pointerType)?t.pointerType:i.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof h.default.Touch?"touch":"mouse"},W.getEventTargets=function(t){var e=i.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},W.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},W.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(W,"pointerExtend",{enumerable:!0,get:function(){return F.default}});var $={};function G(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&i.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,a,r,o));return l}(this,t,e,n,r,o,a)},n.dynamicDrop=function(e){return i.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,j.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=vt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ut(e,n.element),o.events=ft(n,0,r),o.events.activate&&(lt(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":pt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(dt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:action-end":function(t,e){if("drag"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;pt(t,e),dt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ut,getDrop:ct,getDropEvents:ft,fireDropEvents:dt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},ht=vt;st.default=ht;var gt={};function yt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),a="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=W.touchDistance(o,l),n.box=W.touchBBox(o),n.scale=1,n.ds=0,n.angle=W.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=W.touchDistance(o,l),n.box=W.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=W.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,i.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=void 0;var mt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return i.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):i.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=mt,e.methodDict.gesture="gesturable",r.actions.gesture=mt.defaults},listeners:{"interactions:action-start":yt,"interactions:action-move":yt,"interactions:action-end":yt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},bt=mt;gt.default=bt;var xt={};function wt(t,e,n,r,o,a,s){if(!e)return!1;if(!0===e){var l=i.default.number(a.width)?a.width:a.right-a.left,u=i.default.number(a.height)?a.height:a.bottom-a.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?a.left:a.right)+s;if("top"===t)return n.y<(u>=0?a.top:a.bottom)+s;if("right"===t)return n.x>(l>=0?a.right:a.left)-s;if("bottom"===t)return n.y>(u>=0?a.bottom:a.top)-s}return!!i.default.element(r)&&(i.default.element(e)?e===r:_.matchesUpTo(r,e,o))}function _t(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(xt,"__esModule",{value:!0}),xt.default=void 0;var St={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;St.cursors=function(t){return t.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"}}(n),St.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(i.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),i.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),i.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:i.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(i.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=St,e.methodDict.resize="resizable",o.actions.resize=St.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,j.default)({},o),corrected:(0,j.default)({},o),previous:(0,j.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),_t(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,j.default)(f,u),i){if((0,j.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),_t(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,a=t.buttons;if(o){var s=(0,j.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(a&l.mouseButtons))){if(i.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=wt(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||St.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-St.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-St.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=St.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:zt.x*u,y:zt.y*u};if(c.x||c.y){var f=Rt(a);i.default.window(a)?a.scrollBy(c.x,c.y):a&&(a.scrollLeft+=c.x,a.scrollTop+=c.y);var d=Rt(a),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:a})}zt.prevTime=s}zt.isScrolling&&(Mt.default.cancel(zt.i),zt.i=Mt.default.request(zt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&zt.check(e.interactable,e.prepared.name))if(e.simulation)zt.x=zt.y=0;else{var r,o,a,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ct(f.container,l,u);if(i.default.window(d))s=n.clientXd.innerWidth-zt.margin,a=n.clientY>d.innerHeight-zt.margin;else{var p=_.getElementClientRect(d);s=n.clientXp.right-zt.margin,a=n.clientY>p.bottom-zt.margin}zt.x=o?1:s?-1:0,zt.y=a?1:r?-1:0,zt.isScrolling||(zt.margin=f.margin,zt.speed=f.speed,zt.start(e))}}};function Ct(t,n,r){return(i.default.string(t)?(0,k.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Rt(t){return i.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Ft={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=zt,zt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=zt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,zt.stop(),zt.interaction&&(zt.interaction=null)},"interactions:stop":zt.stop,"interactions:action-move":function(t){return zt.onInteractionMove(t)}}};At.default=Ft;var Xt={};Object.defineProperty(Xt,"__esModule",{value:!0}),Xt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.window.console.warn(n),r=!0),t.apply(this,arguments)}},Xt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Yt={};function Wt(t){return i.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Lt(t){return i.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.default=void 0;var Bt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Xt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Lt,e.prototype.styleCursor=Wt}};Yt.default=Bt;var Ut={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Gt(e,n,t,o)?t:null}function Vt(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Ht(t,e){return i.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Kt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Zt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var a="";if(o.name){var s=n.options[o.name].cursorChecker;a=i.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Kt(t.element,a||"",e)}else e.autoStart.cursorElement&&Kt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.default=void 0;var Jt={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Yt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,j.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Ht(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Gt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||$t(n,qt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||$t(n,qt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Gt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Zt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Kt(n.element,"",e)}},maxInteractions:Ht,withinInteractionLimit:Gt,validateAction:Nt};Ut.default=Jt;var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.default=void 0;var te={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,a=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(a),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ne(e)>0&&(e.prepared.name=null)}},getHoldDuration:ne};ee.default=re;var oe={};Object.defineProperty(oe,"__esModule",{value:!0}),oe.default=void 0;var ie={id:"auto-start",install:function(t){t.usePlugin(Ut.default),t.usePlugin(ee.default),t.usePlugin(Qt.default)}};oe.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;ae.default={};var se={};function le(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):i.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function ue(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function ce(t){var n=t.Interactable;n.prototype.preventDefault=le,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var a=(0,e.getWindow)(r.target).document,s=n.getDocOptions(a);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||i.default.element(r.target)&&(0,_.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,j.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Re(e.prototype,n),r&&Re(e,r),i}($.BaseEvent);ze.InteractEvent=Be,Object.defineProperties(Be.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ue={};Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.PointerInfo=void 0;Ue.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,Ve,qe={};function $e(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||W.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&W.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||W.setZeroCoords(this.coords.delta),(t=(0,j.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=W.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:K.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=W.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ue.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),W.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),W.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,W.pointerExtend(this.downPointer,t),this.interacting()||(W.copyCoords(this.coords.start,this.coords.cur),W.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new ze.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(k.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();qe.Interaction=Ke;var Ze=Ke;qe.default=Ze;var Je={};function Qe(t){t.pointerIsDown&&(rn(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function tn(t){en(t.interaction)}function en(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return rn(t.coords.cur,e),rn(t.coords.delta,e),k.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function nn(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function rn(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(Je,"__esModule",{value:!0}),Je.addTotal=Qe,Je.applyPending=en,Je.default=void 0,qe._ProxyMethods.offsetBy="";var on={id:"offset",before:["modifiers","pointer-events","actions","inertia"],install:function(t){t.Interaction.prototype.offsetBy=nn},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return Qe(t.interaction)},"interactions:before-action-start":tn,"interactions:before-action-move":tn,"interactions:before-action-end":function(t){var e=t.interaction;if(en(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};Je.default=on;var an={};function sn(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=un(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:"onNextFrame",value:function(t){var e=this;this.timeout=Mt.default.request((function(){e.active&&t()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=un(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,a=r.context,s=r.listeners;o===this.target&&a===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();mn.Interactable=wn;var _n={};function Sn(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=Tn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function a(t,n,r,i){var a=kn(i),s=K.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!K.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=kn(i),l=K.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Cn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Rn=zn;An.default=Rn;var Fn={};function Xn(t){return(Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Yn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Kn,doOnInteractions:Gn,methodNames:$n};Fn.default=Zn;var Jn={};function Qn(t){return(Qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tr(t,e,n){return(tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=or(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function er(t,e){return(er=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function nr(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=or(t);if(e){var o=or(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return rr(this,n)}}function rr(t,e){return!e||"object"!==Qn(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function or(t){return(or=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ir(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ar(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,j.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function jr(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function kr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Pr.aspectRatio=Mr;var Ir=(0,ke.makeModifier)(Mr,"aspectRatio");Pr.default=Ir;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.default=void 0;var Ar=function(){};Ar._defaults={};var zr=Ar;Dr.default=zr;var Cr={};Object.defineProperty(Cr,"__esModule",{value:!0}),Object.defineProperty(Cr,"default",{enumerable:!0,get:function(){return Dr.default}});var Rr={};function Fr(t,e,n){return i.default.func(t)?k.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):k.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Rr,"__esModule",{value:!0}),Rr.getRestrictionRect=Fr,Rr.restrict=Rr.default=void 0;var Xr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,j.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Fr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Fr(o.restriction,n,e);if(a){var s=k.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Rr.restrict=Xr;var Yr=(0,ke.makeModifier)(Xr,"restrict");Rr.default=Yr;var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.restrictEdges=Wr.default=void 0;var Lr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Br={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Ur(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n breakpoint). + * + * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...}) + * @param {Number} width Screen width. + * @return {String} Highest breakpoint that is less than width. + */ + +/*:: type Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};*/ + +function getBreakpointFromWidth(breakpoints +/*: Breakpoints*/ +, width +/*: number*/ +) +/*: Breakpoint*/ +{ + var sorted = sortBreakpoints(breakpoints); + var matching = sorted[0]; + + for (var i = 1, len = sorted.length; i < len; i++) { + var breakpointName = sorted[i]; + if (width > breakpoints[breakpointName]) matching = breakpointName; + } + + return matching; +} +/** + * Given a breakpoint, get the # of cols set for it. + * @param {String} breakpoint Breakpoint name. + * @param {Object} cols Map of breakpoints to cols. + * @return {Number} Number of cols. + */ + +function getColsFromBreakpoint(breakpoint +/*: Breakpoint*/ +, cols +/*: Breakpoints*/ +) +/*: number*/ +{ + if (!cols[breakpoint]) { + throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint " + breakpoint + " is missing!"); + } + + return cols[breakpoint]; +} +/** + * Given existing layouts and a new breakpoint, find or generate a new layout. + * + * This finds the layout above the new one and generates from it, if it exists. + * + * @param {Array} orgLayout Original layout. + * @param {Object} layouts Existing layouts. + * @param {Array} breakpoints All breakpoints. + * @param {String} breakpoint New breakpoint. + * @param {String} breakpoint Last breakpoint (for fallback). + * @param {Number} cols Column count at new breakpoint. + * @param {Boolean} verticalCompact Whether or not to compact the layout + * vertically. + * @return {Array} New layout. + */ + +function findOrGenerateResponsiveLayout(orgLayout +/*: Layout*/ +, layouts +/*: ResponsiveLayout*/ +, breakpoints +/*: Breakpoints*/ +, breakpoint +/*: Breakpoint*/ +, lastBreakpoint +/*: Breakpoint*/ +, cols +/*: number*/ +, verticalCompact +/*: boolean*/ +) +/*: Layout*/ +{ + // If it already exists, just return it. + if (layouts[breakpoint]) return Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* cloneLayout */ "b"])(layouts[breakpoint]); // Find or generate the next layout + + var layout = orgLayout; + var breakpointsSorted = sortBreakpoints(breakpoints); + var breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); + + for (var i = 0, len = breakpointsAbove.length; i < len; i++) { + var b = breakpointsAbove[i]; + + if (layouts[b]) { + layout = layouts[b]; + break; + } + } + + layout = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* cloneLayout */ "b"])(layout || []); // clone layout so we don't modify existing items + + return Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* compact */ "c"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* correctBounds */ "d"])(layout, { + cols: cols + }), verticalCompact); +} +function generateResponsiveLayout(layout +/*: Layout*/ +, breakpoints +/*: Breakpoints*/ +, breakpoint +/*: Breakpoint*/ +, lastBreakpoint +/*: Breakpoint*/ +, cols +/*: number*/ +, verticalCompact +/*: boolean*/ +) +/*: Layout*/ +{ + // If it already exists, just return it. + + /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]); + // Find or generate the next layout + let layout = layouts[lastBreakpoint];*/ + + /*const breakpointsSorted = sortBreakpoints(breakpoints); + const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint)); + for (let i = 0, len = breakpointsAbove.length; i < len; i++) { + const b = breakpointsAbove[i]; + if (layouts[b]) { + layout = layouts[b]; + break; + } + }*/ + layout = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* cloneLayout */ "b"])(layout || []); // clone layout so we don't modify existing items + + return Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* compact */ "c"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[/* correctBounds */ "d"])(layout, { + cols: cols + }), verticalCompact); +} +/** + * Given breakpoints, return an array of breakpoints sorted by width. This is usually + * e.g. ['xxs', 'xs', 'sm', ...] + * + * @param {Object} breakpoints Key/value pair of breakpoint names to widths. + * @return {Array} Sorted breakpoints. + */ + +function sortBreakpoints(breakpoints +/*: Breakpoints*/ +) +/*: Array*/ +{ + var keys + /*: Array*/ + = Object.keys(breakpoints); + return keys.sort(function (a, b) { + return breakpoints[a] - breakpoints[b]; + }); +} + +/***/ }), + +/***/ "990b": +/***/ (function(module, exports, __webpack_require__) { + +// all object keys, includes non-enumerable and symbols +var gOPN = __webpack_require__("9093"); +var gOPS = __webpack_require__("2621"); +var anObject = __webpack_require__("cb7c"); +var Reflect = __webpack_require__("7726").Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "9b43": +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__("d8e8"); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "9c6c": +/***/ (function(module, exports, __webpack_require__) { + +// 22.1.3.31 Array.prototype[@@unscopables] +var UNSCOPABLES = __webpack_require__("2b4c")('unscopables'); +var ArrayProto = Array.prototype; +if (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__("32e9")(ArrayProto, UNSCOPABLES, {}); +module.exports = function (key) { + ArrayProto[UNSCOPABLES][key] = true; +}; /***/ }), @@ -4449,230 +4497,6824 @@ module.exports = function(quiet) { attachFunction(reporter, "error"); } - return reporter; + return reporter; +}; + +/***/ }), + +/***/ "ac6a": +/***/ (function(module, exports, __webpack_require__) { + +var $iterators = __webpack_require__("cadf"); +var getKeys = __webpack_require__("0d58"); +var redefine = __webpack_require__("2aba"); +var global = __webpack_require__("7726"); +var hide = __webpack_require__("32e9"); +var Iterators = __webpack_require__("84f2"); +var wks = __webpack_require__("2b4c"); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; + +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + } +} + + +/***/ }), + +/***/ "ad20": +/***/ (function(module, exports, __webpack_require__) { + +exports = module.exports = __webpack_require__("2350")(false); +// imports + + +// module +exports.push([module.i, ".vue-grid-layout{position:relative;-webkit-transition:height .2s ease;transition:height .2s ease}", ""]); + +// exports + + +/***/ }), + +/***/ "aebd": +/***/ (function(module, exports) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), + +/***/ "b0c5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var regexpExec = __webpack_require__("520a"); +__webpack_require__("5ca1")({ + target: 'RegExp', + proto: true, + forced: regexpExec !== /./.exec +}, { + exec: regexpExec +}); + + +/***/ }), + +/***/ "b770": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = module.exports = {}; + +/** + * Loops through the collection and calls the callback for each element. if the callback returns truthy, the loop is broken and returns the same value. + * @public + * @param {*} collection The collection to loop through. Needs to have a length property set and have indices set from 0 to length - 1. + * @param {function} callback The callback to be called for each element. The element will be given as a parameter to the callback. If this callback returns truthy, the loop is broken and the same value is returned. + * @returns {*} The value that a callback has returned (if truthy). Otherwise nothing. + */ +utils.forEach = function(collection, callback) { + for(var i = 0; i < collection.length; i++) { + var result = callback(collection[i]); + if(result) { + return result; + } + } +}; + + +/***/ }), + +/***/ "bc21": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +var all_namespaceObject = {}; +__webpack_require__.r(all_namespaceObject); +__webpack_require__.d(all_namespaceObject, "edgeTarget", function() { return edgeTarget; }); +__webpack_require__.d(all_namespaceObject, "elements", function() { return snappers_elements; }); +__webpack_require__.d(all_namespaceObject, "grid", function() { return grid; }); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0f5d7874-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=5b39b04a& +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=5b39b04a& + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.replace.js +var es6_regexp_replace = __webpack_require__("a481"); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js +var es6_regexp_match = __webpack_require__("4917"); + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js +var es6_number_constructor = __webpack_require__("c5f6"); + +// EXTERNAL MODULE: ./src/helpers/utils.js +var utils = __webpack_require__("a2b6"); + +// CONCATENATED MODULE: ./src/helpers/draggableUtils.js +// Get {x, y} positions from event. +function getControlPosition(e) { + return offsetXYFromParentOf(e); +} // Get from offsetParent + +function offsetXYFromParentOf(evt) { + var offsetParent = evt.target.offsetParent || document.body; + var offsetParentRect = evt.offsetParent === document.body ? { + left: 0, + top: 0 + } : offsetParent.getBoundingClientRect(); + var x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left; + var y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top; + /*const x = Math.round(evt.clientX + offsetParent.scrollLeft - offsetParentRect.left); + const y = Math.round(evt.clientY + offsetParent.scrollTop - offsetParentRect.top);*/ + + return { + x: x, + y: y + }; +} // Create an data object exposed by 's events + +function createCoreData(lastX, lastY, x, y) { + // State changes are often (but not always!) async. We want the latest value. + var isStart = !isNum(lastX); + + if (isStart) { + // If this is our first move, use the x and y as last coords. + return { + deltaX: 0, + deltaY: 0, + lastX: x, + lastY: y, + x: x, + y: y + }; + } else { + // Otherwise calculate proper values. + return { + deltaX: x - lastX, + deltaY: y - lastY, + lastX: lastX, + lastY: lastY, + x: x, + y: y + }; + } +} + +function isNum(num) { + return typeof num === 'number' && !isNaN(num); +} +// EXTERNAL MODULE: ./src/helpers/responsiveUtils.js +var responsiveUtils = __webpack_require__("97a7"); + +// EXTERNAL MODULE: ./src/helpers/DOM.js +var DOM = __webpack_require__("1ca7"); + +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/domObjects.js +const domObjects = { + init, + document: null, + DocumentFragment: null, + SVGElement: null, + SVGSVGElement: null, + SVGElementInstance: null, + Element: null, + HTMLElement: null, + Event: null, + Touch: null, + PointerEvent: null +}; + +function blank() {} + +/* harmony default export */ var utils_domObjects = (domObjects); + +function init(window) { + const win = window; + domObjects.document = win.document; + domObjects.DocumentFragment = win.DocumentFragment || blank; + domObjects.SVGElement = win.SVGElement || blank; + domObjects.SVGSVGElement = win.SVGSVGElement || blank; + domObjects.SVGElementInstance = win.SVGElementInstance || blank; + domObjects.Element = win.Element || blank; + domObjects.HTMLElement = win.HTMLElement || domObjects.Element; + domObjects.Event = win.Event; + domObjects.Touch = win.Touch || blank; + domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; +} +//# sourceMappingURL=domObjects.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/isWindow.js +/* harmony default export */ var isWindow = (thing => !!(thing && thing.Window) && thing instanceof thing.Window); +//# sourceMappingURL=isWindow.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/window.js + +let realWindow = undefined; +let win = undefined; + +function window_init(window) { + // get wrapped window if using Shadow DOM polyfill + realWindow = window; // create a TextNode + + const el = window.document.createTextNode(''); // check if it's wrapped by a polyfill + + if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { + // use wrapped window + window = window.wrap(window); + } + + win = window; +} + +if (typeof window !== 'undefined' && !!window) { + window_init(window); +} + +function getWindow(node) { + if (isWindow(node)) { + return node; + } + + const rootNode = node.ownerDocument || node; + return rootNode.defaultView || win.window; +} +//# sourceMappingURL=window.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/is.js + + + +const is_window = thing => thing === win || isWindow(thing); + +const docFrag = thing => object(thing) && thing.nodeType === 11; + +const object = thing => !!thing && typeof thing === 'object'; + +const func = thing => typeof thing === 'function'; + +const number = thing => typeof thing === 'number'; + +const bool = thing => typeof thing === 'boolean'; + +const string = thing => typeof thing === 'string'; + +const is_element = thing => { + if (!thing || typeof thing !== 'object') { + return false; + } // eslint-disable-next-line import/no-named-as-default-member + + + const _window = getWindow(thing) || win; + + return /object|function/.test(typeof _window.Element) ? thing instanceof _window.Element // DOM2 + : thing.nodeType === 1 && typeof thing.nodeName === 'string'; +}; + +const plainObject = thing => object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); + +const array = thing => object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); + +/* harmony default export */ var is = ({ + window: is_window, + docFrag, + object, + func, + number, + bool, + string, + element: is_element, + plainObject, + array +}); +//# sourceMappingURL=is.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/browser.js + + + +const browser = { + init: browser_init, + supportsTouch: null, + supportsPointerEvent: null, + isIOS7: null, + isIOS: null, + isIe9: null, + isOperaMobile: null, + prefixedMatchesSelector: null, + pEventTypes: null, + wheelEvent: null +}; + +function browser_init(window) { + const Element = utils_domObjects.Element; + const navigator = win.navigator; // Does the browser support touch input? + + browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && utils_domObjects.document instanceof window.DocumentTouch; // Does the browser support PointerEvents + + browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!utils_domObjects.PointerEvent; + browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 + + browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); + browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently + + browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector + + browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; + browser.pEventTypes = browser.supportsPointerEvent ? utils_domObjects.PointerEvent === window.MSPointerEvent ? { + up: 'MSPointerUp', + down: 'MSPointerDown', + over: 'mouseover', + out: 'mouseout', + move: 'MSPointerMove', + cancel: 'MSPointerCancel' + } : { + up: 'pointerup', + down: 'pointerdown', + over: 'pointerover', + out: 'pointerout', + move: 'pointermove', + cancel: 'pointercancel' + } : null; // because Webkit and Opera still use 'mousewheel' event type + + browser.wheelEvent = 'onmousewheel' in utils_domObjects.document ? 'mousewheel' : 'wheel'; +} + +/* harmony default export */ var utils_browser = (browser); +//# sourceMappingURL=browser.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/arr.js +const contains = (array, target) => array.indexOf(target) !== -1; +const arr_remove = (array, target) => array.splice(array.indexOf(target), 1); +const merge = (target, source) => { + for (const item of source) { + target.push(item); + } + + return target; +}; +const from = source => merge([], source); +const findIndex = (array, func) => { + for (let i = 0; i < array.length; i++) { + if (func(array[i], i, array)) { + return i; + } + } + + return -1; +}; +const find = (array, func) => array[findIndex(array, func)]; +//# sourceMappingURL=arr.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/clone.js + + // tslint:disable-next-line ban-types + +function clone(source) { + const dest = {}; + + for (const prop in source) { + const value = source[prop]; + + if (is.plainObject(value)) { + dest[prop] = clone(value); + } else if (is.array(value)) { + dest[prop] = from(value); + } else { + dest[prop] = value; + } + } + + return dest; +} +//# sourceMappingURL=clone.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/extend.js +function extend(dest, source) { + for (const prop in source) { + dest[prop] = source[prop]; + } + + const ret = dest; + return ret; +} +//# sourceMappingURL=extend.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/raf.js +let lastTime = 0; +let request; +let cancel; + +function raf_init(window) { + request = window.requestAnimationFrame; + cancel = window.cancelAnimationFrame; + + if (!request) { + const vendors = ['ms', 'moz', 'webkit', 'o']; + + for (const vendor of vendors) { + request = window[`${vendor}RequestAnimationFrame`]; + cancel = window[`${vendor}CancelAnimationFrame`] || window[`${vendor}CancelRequestAnimationFrame`]; + } + } + + request = request && request.bind(window); + cancel = cancel && cancel.bind(window); + + if (!request) { + request = callback => { + const currTime = Date.now(); + const timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal + + const token = window.setTimeout(() => { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return token; + }; + + cancel = token => clearTimeout(token); + } +} + +/* harmony default export */ var raf = ({ + request: callback => request(callback), + cancel: token => cancel(token), + init: raf_init +}); +//# sourceMappingURL=raf.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/normalizeListeners.js + + +function normalize(type, listeners, result) { + result = result || {}; + + if (is.string(type) && type.search(' ') !== -1) { + type = split(type); + } + + if (is.array(type)) { + return type.reduce((acc, t) => extend(acc, normalize(t, listeners, result)), result); + } // ({ type: fn }) -> ('', { type: fn }) + + + if (is.object(type)) { + listeners = type; + type = ''; + } + + if (is.func(listeners)) { + result[type] = result[type] || []; + result[type].push(listeners); + } else if (is.array(listeners)) { + for (const l of listeners) { + normalize(type, l, result); + } + } else if (is.object(listeners)) { + for (const prefix in listeners) { + const combinedTypes = split(prefix).map(p => `${type}${p}`); + normalize(combinedTypes, listeners[prefix], result); + } + } + + return result; +} + +function split(type) { + return type.trim().split(/ +/); +} +//# sourceMappingURL=normalizeListeners.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/Eventable.js + + + + +function fireUntilImmediateStopped(event, listeners) { + for (const listener of listeners) { + if (event.immediatePropagationStopped) { + break; + } + + listener(event); + } +} + +class Eventable_Eventable { + constructor(options) { + this.options = void 0; + this.types = {}; + this.propagationStopped = false; + this.immediatePropagationStopped = false; + this.global = void 0; + this.options = extend({}, options || {}); + } + + fire(event) { + let listeners; + const global = this.global; // Interactable#on() listeners + // tslint:disable no-conditional-assignment + + if (listeners = this.types[event.type]) { + fireUntilImmediateStopped(event, listeners); + } // interact.on() listeners + + + if (!event.propagationStopped && global && (listeners = global[event.type])) { + fireUntilImmediateStopped(event, listeners); + } + } + + on(type, listener) { + const listeners = normalize(type, listener); + + for (type in listeners) { + this.types[type] = merge(this.types[type] || [], listeners[type]); + } + } + + off(type, listener) { + const listeners = normalize(type, listener); + + for (type in listeners) { + const eventList = this.types[type]; + + if (!eventList || !eventList.length) { + continue; + } + + for (const subListener of listeners[type]) { + const index = eventList.indexOf(subListener); + + if (index !== -1) { + eventList.splice(index, 1); + } + } + } + } + + getRect(_element) { + return null; + } + +} +//# sourceMappingURL=Eventable.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/domUtils.js + + + + +function nodeContains(parent, child) { + if (parent.contains) { + return parent.contains(child); + } + + while (child) { + if (child === parent) { + return true; + } + + child = child.parentNode; + } + + return false; +} +function domUtils_closest(element, selector) { + while (is.element(element)) { + if (matchesSelector(element, selector)) { + return element; + } + + element = parentNode(element); + } + + return null; +} +function parentNode(node) { + let parent = node.parentNode; + + if (is.docFrag(parent)) { + // skip past #shado-root fragments + // tslint:disable-next-line + while ((parent = parent.host) && is.docFrag(parent)) { + continue; + } + + return parent; + } + + return parent; +} +function matchesSelector(element, selector) { + // remove /deep/ from selectors if shadowDOM polyfill is used + if (win !== realWindow) { + selector = selector.replace(/\/deep\//g, ' '); + } + + return element[utils_browser.prefixedMatchesSelector](selector); +} + +const getParent = el => el.parentNode || el.host; // Test for the element that's "above" all other qualifiers + + +function indexOfDeepestElement(elements) { + let deepestNodeParents = []; + let deepestNodeIndex; + + for (let i = 0; i < elements.length; i++) { + const currentNode = elements[i]; + const deepestNode = elements[deepestNodeIndex]; // node may appear in elements array multiple times + + if (!currentNode || i === deepestNodeIndex) { + continue; + } + + if (!deepestNode) { + deepestNodeIndex = i; + continue; + } + + const currentNodeParent = getParent(currentNode); + const deepestNodeParent = getParent(deepestNode); // check if the deepest or current are document.documentElement/rootElement + // - if the current node is, do nothing and continue + + if (currentNodeParent === currentNode.ownerDocument) { + continue; + } // - if deepest is, update with the current node and continue to next + else if (deepestNodeParent === currentNode.ownerDocument) { + deepestNodeIndex = i; + continue; + } // compare zIndex of siblings + + + if (currentNodeParent === deepestNodeParent) { + if (zIndexIsHigherThan(currentNode, deepestNode)) { + deepestNodeIndex = i; + } + + continue; + } // populate the ancestry array for the latest deepest node + + + deepestNodeParents = deepestNodeParents.length ? deepestNodeParents : getNodeParents(deepestNode); + let ancestryStart; // if the deepest node is an HTMLElement and the current node is a non root svg element + + if (deepestNode instanceof utils_domObjects.HTMLElement && currentNode instanceof utils_domObjects.SVGElement && !(currentNode instanceof utils_domObjects.SVGSVGElement)) { + // TODO: is this check necessary? Was this for HTML elements embedded in SVG? + if (currentNode === deepestNodeParent) { + continue; + } + + ancestryStart = currentNode.ownerSVGElement; + } else { + ancestryStart = currentNode; + } + + const currentNodeParents = getNodeParents(ancestryStart, deepestNode.ownerDocument); + let commonIndex = 0; // get (position of closest common ancestor) + 1 + + while (currentNodeParents[commonIndex] && currentNodeParents[commonIndex] === deepestNodeParents[commonIndex]) { + commonIndex++; + } + + const parents = [currentNodeParents[commonIndex - 1], currentNodeParents[commonIndex], deepestNodeParents[commonIndex]]; + let child = parents[0].lastChild; + + while (child) { + if (child === parents[1]) { + deepestNodeIndex = i; + deepestNodeParents = currentNodeParents; + break; + } else if (child === parents[2]) { + break; + } + + child = child.previousSibling; + } + } + + return deepestNodeIndex; +} + +function getNodeParents(node, limit) { + const parents = []; + let parent = node; + let parentParent; + + while ((parentParent = getParent(parent)) && parent !== limit && parentParent !== parent.ownerDocument) { + parents.unshift(parent); + parent = parentParent; + } + + return parents; +} + +function zIndexIsHigherThan(higherNode, lowerNode) { + const higherIndex = parseInt(getWindow(higherNode).getComputedStyle(higherNode).zIndex, 10) || 0; + const lowerIndex = parseInt(getWindow(lowerNode).getComputedStyle(lowerNode).zIndex, 10) || 0; + return higherIndex >= lowerIndex; +} + +function matchesUpTo(element, selector, limit) { + while (is.element(element)) { + if (matchesSelector(element, selector)) { + return true; + } + + element = parentNode(element); + + if (element === limit) { + return matchesSelector(element, selector); + } + } + + return false; +} +function getActualElement(element) { + return element.correspondingUseElement || element; +} +function getScrollXY(relevantWindow) { + relevantWindow = relevantWindow || win; + return { + x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, + y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop + }; +} +function getElementClientRect(element) { + const clientRect = element instanceof utils_domObjects.SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; + return clientRect && { + left: clientRect.left, + right: clientRect.right, + top: clientRect.top, + bottom: clientRect.bottom, + width: clientRect.width || clientRect.right - clientRect.left, + height: clientRect.height || clientRect.bottom - clientRect.top + }; +} +function getElementRect(element) { + const clientRect = getElementClientRect(element); + + if (!utils_browser.isIOS7 && clientRect) { + const scroll = getScrollXY(getWindow(element)); + clientRect.left += scroll.x; + clientRect.right += scroll.x; + clientRect.top += scroll.y; + clientRect.bottom += scroll.y; + } + + return clientRect; +} +function getPath(node) { + const path = []; + + while (node) { + path.push(node); + node = parentNode(node); + } + + return path; +} +function trySelector(value) { + if (!is.string(value)) { + return false; + } // an exception will be raised if it is invalid + + + utils_domObjects.document.querySelector(value); + return true; +} +//# sourceMappingURL=domUtils.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/rect.js + + + +function getStringOptionResult(value, target, element) { + if (value === 'parent') { + return parentNode(element); + } + + if (value === 'self') { + return target.getRect(element); + } + + return domUtils_closest(element, value); +} +function resolveRectLike(value, target, element, functionArgs) { + let returnValue = value; + + if (is.string(returnValue)) { + returnValue = getStringOptionResult(returnValue, target, element); + } else if (is.func(returnValue)) { + returnValue = returnValue(...functionArgs); + } + + if (is.element(returnValue)) { + returnValue = getElementRect(returnValue); + } + + return returnValue; +} +function rectToXY(rect) { + return rect && { + x: 'x' in rect ? rect.x : rect.left, + y: 'y' in rect ? rect.y : rect.top + }; +} +function xywhToTlbr(rect) { + if (rect && !('left' in rect && 'top' in rect)) { + rect = extend({}, rect); + rect.left = rect.x || 0; + rect.top = rect.y || 0; + rect.right = rect.right || rect.left + rect.width; + rect.bottom = rect.bottom || rect.top + rect.height; + } + + return rect; +} +function tlbrToXywh(rect) { + if (rect && !('x' in rect && 'y' in rect)) { + rect = extend({}, rect); + rect.x = rect.left || 0; + rect.y = rect.top || 0; + rect.width = rect.width || (rect.right || 0) - rect.x; + rect.height = rect.height || (rect.bottom || 0) - rect.y; + } + + return rect; +} +function addEdges(edges, rect, delta) { + if (edges.left) { + rect.left += delta.x; + } + + if (edges.right) { + rect.right += delta.x; + } + + if (edges.top) { + rect.top += delta.y; + } + + if (edges.bottom) { + rect.bottom += delta.y; + } + + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; +} +//# sourceMappingURL=rect.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/getOriginXY.js + +/* harmony default export */ var getOriginXY = (function (target, element, actionName) { + const actionOptions = target.options[actionName]; + const actionOrigin = actionOptions && actionOptions.origin; + const origin = actionOrigin || target.options.origin; + const originRect = resolveRectLike(origin, target, element, [target && element]); + return rectToXY(originRect) || { + x: 0, + y: 0 + }; +}); +//# sourceMappingURL=getOriginXY.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/hypot.js +/* harmony default export */ var hypot = ((x, y) => Math.sqrt(x * x + y * y)); +//# sourceMappingURL=hypot.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/BaseEvent.js +class BaseEvent { + constructor(interaction) { + this.type = void 0; + this.target = void 0; + this.currentTarget = void 0; + this.interactable = void 0; + this._interaction = void 0; + this.timeStamp = void 0; + this.immediatePropagationStopped = false; + this.propagationStopped = false; + this._interaction = interaction; + } + + preventDefault() {} + /** + * Don't call any other listeners (even on the current target) + */ + + + stopPropagation() { + this.propagationStopped = true; + } + /** + * Don't call listeners on the remaining targets + */ + + + stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + +} // defined outside of class definition to avoid assignment of undefined during +// construction + +// getters and setters defined here to support typescript 3.6 and below which +// don't support getter and setters in .d.ts files +Object.defineProperty(BaseEvent.prototype, 'interaction', { + get() { + return this._interaction._proxy; + }, + + set() {} + +}); +//# sourceMappingURL=BaseEvent.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/defaultOptions.js +// eslint-disable-next-line @typescript-eslint/no-empty-interface +// export interface Options extends BaseDefaults, PerActionDefaults {} +const defaultOptions_defaults = { + base: { + preventDefault: 'auto', + deltaSource: 'page' + }, + perAction: { + enabled: false, + origin: { + x: 0, + y: 0 + } + }, + actions: {} +}; +//# sourceMappingURL=defaultOptions.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/InteractEvent.js + + + + + +class InteractEvent_InteractEvent extends BaseEvent { + // drag + // resize + + /** */ + constructor(interaction, event, actionName, phase, element, preEnd, type) { + super(interaction); + this.target = void 0; + this.currentTarget = void 0; + this.relatedTarget = null; + this.screenX = void 0; + this.screenY = void 0; + this.button = void 0; + this.buttons = void 0; + this.ctrlKey = void 0; + this.shiftKey = void 0; + this.altKey = void 0; + this.metaKey = void 0; + this.page = void 0; + this.client = void 0; + this.delta = void 0; + this.rect = void 0; + this.x0 = void 0; + this.y0 = void 0; + this.t0 = void 0; + this.dt = void 0; + this.duration = void 0; + this.clientX0 = void 0; + this.clientY0 = void 0; + this.velocity = void 0; + this.speed = void 0; + this.swipe = void 0; + this.timeStamp = void 0; + this.dragEnter = void 0; + this.dragLeave = void 0; + this.axes = void 0; + this.preEnd = void 0; + element = element || interaction.element; + const target = interaction.interactable; + const deltaSource = (target && target.options || defaultOptions_defaults).deltaSource; + const origin = getOriginXY(target, element, actionName); + const starting = phase === 'start'; + const ending = phase === 'end'; + const prevEvent = starting ? this : interaction.prevEvent; + const coords = starting ? interaction.coords.start : ending ? { + page: prevEvent.page, + client: prevEvent.client, + timeStamp: interaction.coords.cur.timeStamp + } : interaction.coords.cur; + this.page = extend({}, coords.page); + this.client = extend({}, coords.client); + this.rect = extend({}, interaction.rect); + this.timeStamp = coords.timeStamp; + + if (!ending) { + this.page.x -= origin.x; + this.page.y -= origin.y; + this.client.x -= origin.x; + this.client.y -= origin.y; + } + + this.ctrlKey = event.ctrlKey; + this.altKey = event.altKey; + this.shiftKey = event.shiftKey; + this.metaKey = event.metaKey; + this.button = event.button; + this.buttons = event.buttons; + this.target = element; + this.currentTarget = element; + this.preEnd = preEnd; + this.type = type || actionName + (phase || ''); + this.interactable = target; + this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; + this.x0 = interaction.coords.start.page.x - origin.x; + this.y0 = interaction.coords.start.page.y - origin.y; + this.clientX0 = interaction.coords.start.client.x - origin.x; + this.clientY0 = interaction.coords.start.client.y - origin.y; + + if (starting || ending) { + this.delta = { + x: 0, + y: 0 + }; + } else { + this.delta = { + x: this[deltaSource].x - prevEvent[deltaSource].x, + y: this[deltaSource].y - prevEvent[deltaSource].y + }; + } + + this.dt = interaction.coords.delta.timeStamp; + this.duration = this.timeStamp - this.t0; // velocity and speed in pixels per second + + this.velocity = extend({}, interaction.coords.velocity[deltaSource]); + this.speed = hypot(this.velocity.x, this.velocity.y); + this.swipe = ending || phase === 'inertiastart' ? this.getSwipe() : null; + } + + getSwipe() { + const interaction = this._interaction; + + if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { + return null; + } + + let angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; + const overlap = 22.5; + + if (angle < 0) { + angle += 360; + } + + const left = 135 - overlap <= angle && angle < 225 + overlap; + const up = 225 - overlap <= angle && angle < 315 + overlap; + const right = !left && (315 - overlap <= angle || angle < 45 + overlap); + const down = !up && 45 - overlap <= angle && angle < 135 + overlap; + return { + up, + down, + left, + right, + angle, + speed: interaction.prevEvent.speed, + velocity: { + x: interaction.prevEvent.velocityX, + y: interaction.prevEvent.velocityY + } + }; + } + + preventDefault() {} + /** + * Don't call listeners on the remaining targets + */ + + + stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + /** + * Don't call any other listeners (even on the current target) + */ + + + stopPropagation() { + this.propagationStopped = true; + } + +} // getters and setters defined here to support typescript 3.6 and below which +// don't support getter and setters in .d.ts files + +Object.defineProperties(InteractEvent_InteractEvent.prototype, { + pageX: { + get() { + return this.page.x; + }, + + set(value) { + this.page.x = value; + } + + }, + pageY: { + get() { + return this.page.y; + }, + + set(value) { + this.page.y = value; + } + + }, + clientX: { + get() { + return this.client.x; + }, + + set(value) { + this.client.x = value; + } + + }, + clientY: { + get() { + return this.client.y; + }, + + set(value) { + this.client.y = value; + } + + }, + dx: { + get() { + return this.delta.x; + }, + + set(value) { + this.delta.x = value; + } + + }, + dy: { + get() { + return this.delta.y; + }, + + set(value) { + this.delta.y = value; + } + + }, + velocityX: { + get() { + return this.velocity.x; + }, + + set(value) { + this.velocity.x = value; + } + + }, + velocityY: { + get() { + return this.velocity.y; + }, + + set(value) { + this.velocity.y = value; + } + + } +}); +//# sourceMappingURL=InteractEvent.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/isNonNativeEvent.js +function isNonNativeEvent(type, actions) { + if (actions.phaselessTypes[type]) { + return true; + } + + for (const name in actions.map) { + if (type.indexOf(name) === 0 && type.substr(name.length) in actions.phases) { + return true; + } + } + + return false; +} +//# sourceMappingURL=isNonNativeEvent.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/Interactable.js +/* eslint-disable no-dupe-class-members */ + + + + + + + + + + + +/** */ +class Interactable_Interactable { + /** @internal */ + get _defaults() { + return { + base: {}, + perAction: {}, + actions: {} + }; + } + + /** */ + constructor(target, options, defaultContext, scopeEvents) { + this.options = void 0; + this._actions = void 0; + this.target = void 0; + this.events = new Eventable_Eventable(); + this._context = void 0; + this._win = void 0; + this._doc = void 0; + this._scopeEvents = void 0; + this._rectChecker = void 0; + this._actions = options.actions; + this.target = target; + this._context = options.context || defaultContext; + this._win = getWindow(trySelector(target) ? this._context : target); + this._doc = this._win.document; + this._scopeEvents = scopeEvents; + this.set(options); + } + + setOnEvents(actionName, phases) { + if (is.func(phases.onstart)) { + this.on(`${actionName}start`, phases.onstart); + } + + if (is.func(phases.onmove)) { + this.on(`${actionName}move`, phases.onmove); + } + + if (is.func(phases.onend)) { + this.on(`${actionName}end`, phases.onend); + } + + if (is.func(phases.oninertiastart)) { + this.on(`${actionName}inertiastart`, phases.oninertiastart); + } + + return this; + } + + updatePerActionListeners(actionName, prev, cur) { + if (is.array(prev) || is.object(prev)) { + this.off(actionName, prev); + } + + if (is.array(cur) || is.object(cur)) { + this.on(actionName, cur); + } + } + + setPerAction(actionName, options) { + const defaults = this._defaults; // for all the default per-action options + + for (const optionName_ in options) { + const optionName = optionName_; + const actionOptions = this.options[actionName]; + const optionValue = options[optionName]; // remove old event listeners and add new ones + + if (optionName === 'listeners') { + this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); + } // if the option value is an array + + + if (is.array(optionValue)) { + actionOptions[optionName] = from(optionValue); + } // if the option value is an object + else if (is.plainObject(optionValue)) { + // copy the object + actionOptions[optionName] = extend(actionOptions[optionName] || {}, clone(optionValue)); // set anabled field to true if it exists in the defaults + + if (is.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { + actionOptions[optionName].enabled = optionValue.enabled !== false; + } + } // if the option value is a boolean and the default is an object + else if (is.bool(optionValue) && is.object(defaults.perAction[optionName])) { + actionOptions[optionName].enabled = optionValue; + } // if it's anything else, do a plain assignment + else { + actionOptions[optionName] = optionValue; + } + } + } + /** + * The default function to get an Interactables bounding rect. Can be + * overridden using {@link Interactable.rectChecker}. + * + * @param {Element} [element] The element to measure. + * @return {Interact.Rect} The object's bounding rectangle. + */ + + + getRect(element) { + element = element || (is.element(this.target) ? this.target : null); + + if (is.string(this.target)) { + element = element || this._context.querySelector(this.target); + } + + return getElementRect(element); + } + /** + * Returns or sets the function used to calculate the interactable's + * element's rectangle + * + * @param {function} [checker] A function which returns this Interactable's + * bounding rectangle. See {@link Interactable.getRect} + * @return {function | object} The checker function or this Interactable + */ + + + rectChecker(checker) { + if (is.func(checker)) { + this._rectChecker = checker; + + this.getRect = element => { + const rect = extend({}, this._rectChecker(element)); + + if (!('width' in rect)) { + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + return rect; + }; + + return this; + } + + if (checker === null) { + delete this.getRect; + delete this._rectChecker; + return this; + } + + return this.getRect; + } + + _backCompatOption(optionName, newValue) { + if (trySelector(newValue) || is.object(newValue)) { + this.options[optionName] = newValue; + + for (const action in this._actions.map) { + this.options[action][optionName] = newValue; + } + + return this; + } + + return this.options[optionName]; + } + /** + * Gets or sets the origin of the Interactable's element. The x and y + * of the origin will be subtracted from action event coordinates. + * + * @param {Element | object | string} [origin] An HTML or SVG Element whose + * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' + * or any CSS selector + * + * @return {object} The current origin or this Interactable + */ + + + origin(newValue) { + return this._backCompatOption('origin', newValue); + } + /** + * Returns or sets the mouse coordinate types used to calculate the + * movement of the pointer. + * + * @param {string} [newValue] Use 'client' if you will be scrolling while + * interacting; Use 'page' if you want autoScroll to work + * @return {string | object} The current deltaSource or this Interactable + */ + + + deltaSource(newValue) { + if (newValue === 'page' || newValue === 'client') { + this.options.deltaSource = newValue; + return this; + } + + return this.options.deltaSource; + } + /** + * Gets the selector context Node of the Interactable. The default is + * `window.document`. + * + * @return {Node} The context Node of this Interactable + */ + + + context() { + return this._context; + } + + inContext(element) { + return this._context === element.ownerDocument || nodeContains(this._context, element); + } + + testIgnoreAllow(options, targetNode, eventTarget) { + return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); + } + + testAllow(allowFrom, targetNode, element) { + if (!allowFrom) { + return true; + } + + if (!is.element(element)) { + return false; + } + + if (is.string(allowFrom)) { + return matchesUpTo(element, allowFrom, targetNode); + } else if (is.element(allowFrom)) { + return nodeContains(allowFrom, element); + } + + return false; + } + + testIgnore(ignoreFrom, targetNode, element) { + if (!ignoreFrom || !is.element(element)) { + return false; + } + + if (is.string(ignoreFrom)) { + return matchesUpTo(element, ignoreFrom, targetNode); + } else if (is.element(ignoreFrom)) { + return nodeContains(ignoreFrom, element); + } + + return false; + } + /** + * Calls listeners for the given InteractEvent type bound globally + * and directly to this Interactable + * + * @param {InteractEvent} iEvent The InteractEvent object to be fired on this + * Interactable + * @return {Interactable} this Interactable + */ + + + fire(iEvent) { + this.events.fire(iEvent); + return this; + } + + _onOff(method, typeArg, listenerArg, options) { + if (is.object(typeArg) && !is.array(typeArg)) { + options = listenerArg; + listenerArg = null; + } + + const addRemove = method === 'on' ? 'add' : 'remove'; + const listeners = normalize(typeArg, listenerArg); + + for (let type in listeners) { + if (type === 'wheel') { + type = utils_browser.wheelEvent; + } + + for (const listener of listeners[type]) { + // if it is an action event type + if (isNonNativeEvent(type, this._actions)) { + this.events[method](type, listener); + } // delegated event + else if (is.string(this.target)) { + this._scopeEvents[`${addRemove}Delegate`](this.target, this._context, type, listener, options); + } // remove listener from this Interactable's element + else { + this._scopeEvents[addRemove](this.target, type, listener, options); + } + } + } + + return this; + } + /** + * Binds a listener for an InteractEvent, pointerEvent or DOM event. + * + * @param {string | array | object} types The types of events to listen + * for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * addEventListener + * @return {Interactable} This Interactable + */ + + + on(types, listener, options) { + return this._onOff('on', types, listener, options); + } + /** + * Removes an InteractEvent, pointerEvent or DOM event listener. + * + * @param {string | array | object} types The types of events that were + * listened for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * removeEventListener + * @return {Interactable} This Interactable + */ + + + off(types, listener, options) { + return this._onOff('off', types, listener, options); + } + /** + * Reset the options of this Interactable + * + * @param {object} options The new settings to apply + * @return {object} This Interactable + */ + + + set(options) { + const defaults = this._defaults; + + if (!is.object(options)) { + options = {}; + } + + this.options = clone(defaults.base); + + for (const actionName_ in this._actions.methodDict) { + const actionName = actionName_; + const methodName = this._actions.methodDict[actionName]; + this.options[actionName] = {}; + this.setPerAction(actionName, extend(extend({}, defaults.perAction), defaults.actions[actionName])); + this[methodName](options[actionName]); + } + + for (const setting in options) { + if (is.func(this[setting])) { + this[setting](options[setting]); + } + } + + return this; + } + /** + * Remove this interactable from the list of interactables and remove it's + * action capabilities and event listeners + */ + + + unset() { + if (is.string(this.target)) { + // remove delegated events + for (const type in this._scopeEvents.delegatedEvents) { + const delegated = this._scopeEvents.delegatedEvents[type]; + + for (let i = delegated.length - 1; i >= 0; i--) { + const { + selector, + context, + listeners + } = delegated[i]; + + if (selector === this.target && context === this._context) { + delegated.splice(i, 1); + } + + for (let l = listeners.length - 1; l >= 0; l--) { + this._scopeEvents.removeDelegate(this.target, this._context, type, listeners[l][0], listeners[l][1]); + } + } + } + } else { + this._scopeEvents.remove(this.target, 'all'); + } + } + +} +//# sourceMappingURL=Interactable.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/InteractableSet.js + + + + +class InteractableSet_InteractableSet { + // all set interactables + constructor(scope) { + this.list = []; + this.selectorMap = {}; + this.scope = void 0; + this.scope = scope; + scope.addListeners({ + 'interactable:unset': ({ + interactable + }) => { + const { + target, + _context: context + } = interactable; + const targetMappings = is.string(target) ? this.selectorMap[target] : target[this.scope.id]; + const targetIndex = findIndex(targetMappings, m => m.context === context); + + if (targetMappings[targetIndex]) { + // Destroying mappingInfo's context and interactable + targetMappings[targetIndex].context = null; + targetMappings[targetIndex].interactable = null; + } + + targetMappings.splice(targetIndex, 1); + } + }); + } + + new(target, options) { + options = extend(options || {}, { + actions: this.scope.actions + }); + const interactable = new this.scope.Interactable(target, options, this.scope.document, this.scope.events); + const mappingInfo = { + context: interactable._context, + interactable + }; + this.scope.addDocument(interactable._doc); + this.list.push(interactable); + + if (is.string(target)) { + if (!this.selectorMap[target]) { + this.selectorMap[target] = []; + } + + this.selectorMap[target].push(mappingInfo); + } else { + if (!interactable.target[this.scope.id]) { + Object.defineProperty(target, this.scope.id, { + value: [], + configurable: true + }); + } + + target[this.scope.id].push(mappingInfo); + } + + this.scope.fire('interactable:new', { + target, + options, + interactable, + win: this.scope._win + }); + return interactable; + } + + get(target, options) { + const context = options && options.context || this.scope.document; + const isSelector = is.string(target); + const targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; + + if (!targetMappings) { + return null; + } + + const found = find(targetMappings, m => m.context === context && (isSelector || m.interactable.inContext(target))); + return found && found.interactable; + } + + forEachMatch(node, callback) { + for (const interactable of this.list) { + let ret; + + if ((is.string(interactable.target) // target is a selector and the element matches + ? is.element(node) && matchesSelector(node, interactable.target) : // target is the element + node === interactable.target) && // the element is in context + interactable.inContext(node)) { + ret = callback(interactable); + } + + if (ret !== undefined) { + return ret; + } + } + } + +} +//# sourceMappingURL=InteractableSet.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/pointerExtend.js +function pointerExtend(dest, source) { + for (const prop in source) { + const prefixedPropREs = pointerExtend.prefixedPropREs; + let deprecated = false; // skip deprecated prefixed properties + + for (const vendor in prefixedPropREs) { + if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { + deprecated = true; + break; + } + } + + if (!deprecated && typeof source[prop] !== 'function') { + dest[prop] = source[prop]; + } + } + + return dest; +} + +pointerExtend.prefixedPropREs = { + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ +}; +/* harmony default export */ var utils_pointerExtend = (pointerExtend); +//# sourceMappingURL=pointerExtend.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/pointerUtils.js + + + + + + +function copyCoords(dest, src) { + dest.page = dest.page || {}; + dest.page.x = src.page.x; + dest.page.y = src.page.y; + dest.client = dest.client || {}; + dest.client.x = src.client.x; + dest.client.y = src.client.y; + dest.timeStamp = src.timeStamp; +} +function setCoordDeltas(targetObj, prev, cur) { + targetObj.page.x = cur.page.x - prev.page.x; + targetObj.page.y = cur.page.y - prev.page.y; + targetObj.client.x = cur.client.x - prev.client.x; + targetObj.client.y = cur.client.y - prev.client.y; + targetObj.timeStamp = cur.timeStamp - prev.timeStamp; +} +function setCoordVelocity(targetObj, delta) { + const dt = Math.max(delta.timeStamp / 1000, 0.001); + targetObj.page.x = delta.page.x / dt; + targetObj.page.y = delta.page.y / dt; + targetObj.client.x = delta.client.x / dt; + targetObj.client.y = delta.client.y / dt; + targetObj.timeStamp = dt; +} +function setZeroCoords(targetObj) { + targetObj.page.x = 0; + targetObj.page.y = 0; + targetObj.client.x = 0; + targetObj.client.y = 0; +} +function isNativePointer(pointer) { + return pointer instanceof utils_domObjects.Event || pointer instanceof utils_domObjects.Touch; +} // Get specified X/Y coords for mouse or event.touches[0] + +function getXY(type, pointer, xy) { + xy = xy || {}; + type = type || 'page'; + xy.x = pointer[type + 'X']; + xy.y = pointer[type + 'Y']; + return xy; +} +function getPageXY(pointer, page) { + page = page || { + x: 0, + y: 0 + }; // Opera Mobile handles the viewport and scrolling oddly + + if (utils_browser.isOperaMobile && isNativePointer(pointer)) { + getXY('screen', pointer, page); + page.x += window.scrollX; + page.y += window.scrollY; + } else { + getXY('page', pointer, page); + } + + return page; +} +function getClientXY(pointer, client) { + client = client || {}; + + if (utils_browser.isOperaMobile && isNativePointer(pointer)) { + // Opera Mobile handles the viewport and scrolling oddly + getXY('screen', pointer, client); + } else { + getXY('client', pointer, client); + } + + return client; +} +function getPointerId(pointer) { + return is.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; +} +function setCoords(dest, pointers, timeStamp) { + const pointer = pointers.length > 1 ? pointerAverage(pointers) : pointers[0]; + getPageXY(pointer, dest.page); + getClientXY(pointer, dest.client); + dest.timeStamp = timeStamp; +} +function getTouchPair(event) { + const touches = []; // array of touches is supplied + + if (is.array(event)) { + touches[0] = event[0]; + touches[1] = event[1]; + } // an event + else { + if (event.type === 'touchend') { + if (event.touches.length === 1) { + touches[0] = event.touches[0]; + touches[1] = event.changedTouches[0]; + } else if (event.touches.length === 0) { + touches[0] = event.changedTouches[0]; + touches[1] = event.changedTouches[1]; + } + } else { + touches[0] = event.touches[0]; + touches[1] = event.touches[1]; + } + } + + return touches; +} +function pointerAverage(pointers) { + const average = { + pageX: 0, + pageY: 0, + clientX: 0, + clientY: 0, + screenX: 0, + screenY: 0 + }; + + for (const pointer of pointers) { + for (const prop in average) { + average[prop] += pointer[prop]; + } + } + + for (const prop in average) { + average[prop] /= pointers.length; + } + + return average; +} +function touchBBox(event) { + if (!event.length) { + return null; + } + + const touches = getTouchPair(event); + const minX = Math.min(touches[0].pageX, touches[1].pageX); + const minY = Math.min(touches[0].pageY, touches[1].pageY); + const maxX = Math.max(touches[0].pageX, touches[1].pageX); + const maxY = Math.max(touches[0].pageY, touches[1].pageY); + return { + x: minX, + y: minY, + left: minX, + top: minY, + right: maxX, + bottom: maxY, + width: maxX - minX, + height: maxY - minY + }; +} +function touchDistance(event, deltaSource) { + const sourceX = deltaSource + 'X'; + const sourceY = deltaSource + 'Y'; + const touches = getTouchPair(event); + const dx = touches[0][sourceX] - touches[1][sourceX]; + const dy = touches[0][sourceY] - touches[1][sourceY]; + return hypot(dx, dy); +} +function touchAngle(event, deltaSource) { + const sourceX = deltaSource + 'X'; + const sourceY = deltaSource + 'Y'; + const touches = getTouchPair(event); + const dx = touches[1][sourceX] - touches[0][sourceX]; + const dy = touches[1][sourceY] - touches[0][sourceY]; + const angle = 180 * Math.atan2(dy, dx) / Math.PI; + return angle; +} +function getPointerType(pointer) { + return is.string(pointer.pointerType) ? pointer.pointerType : is.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the "pointer" must + // be either a MouseEvent, TouchEvent, or Touch object + : /touch/.test(pointer.type) || pointer instanceof utils_domObjects.Touch ? 'touch' : 'mouse'; +} // [ event.target, event.currentTarget ] + +function getEventTargets(event) { + const path = is.func(event.composedPath) ? event.composedPath() : event.path; + return [getActualElement(path ? path[0] : event.target), getActualElement(event.currentTarget)]; +} +function newCoords() { + return { + page: { + x: 0, + y: 0 + }, + client: { + x: 0, + y: 0 + }, + timeStamp: 0 + }; +} +function coordsToEvent(coords) { + const event = { + coords, + + 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; + }, + + preventDefault() {} + + }; + return event; +} + +//# sourceMappingURL=pointerUtils.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/events.js + + + + + + + +function install(scope) { + const targets = []; + const delegatedEvents = {}; + const documents = []; + const eventsMethods = { + add, + remove, + addDelegate, + removeDelegate, + delegateListener, + delegateUseCapture, + delegatedEvents, + documents, + targets, + supportsOptions: false, + supportsPassive: false + }; // check if browser supports passive events and options arg + + scope.document.createElement('div').addEventListener('test', null, { + get capture() { + return eventsMethods.supportsOptions = true; + }, + + get passive() { + return eventsMethods.supportsPassive = true; + } + + }); + scope.events = eventsMethods; + + function add(eventTarget, type, listener, optionalArg) { + const options = getOptions(optionalArg); + let target = find(targets, t => t.eventTarget === eventTarget); + + if (!target) { + target = { + eventTarget, + events: {} + }; + targets.push(target); + } + + if (!target.events[type]) { + target.events[type] = []; + } + + if (eventTarget.addEventListener && !contains(target.events[type], listener)) { + eventTarget.addEventListener(type, listener, eventsMethods.supportsOptions ? options : options.capture); + target.events[type].push(listener); + } + } + + function remove(eventTarget, type, listener, optionalArg) { + const options = getOptions(optionalArg); + const targetIndex = findIndex(targets, t => t.eventTarget === eventTarget); + const target = targets[targetIndex]; + + if (!target || !target.events) { + return; + } + + if (type === 'all') { + for (type in target.events) { + if (target.events.hasOwnProperty(type)) { + remove(eventTarget, type, 'all'); + } + } + + return; + } + + let typeIsEmpty = false; + const typeListeners = target.events[type]; + + if (typeListeners) { + if (listener === 'all') { + for (let i = typeListeners.length - 1; i >= 0; i--) { + remove(eventTarget, type, typeListeners[i], options); + } + + return; + } else { + for (let i = 0; i < typeListeners.length; i++) { + if (typeListeners[i] === listener) { + eventTarget.removeEventListener(type, listener, eventsMethods.supportsOptions ? options : options.capture); + typeListeners.splice(i, 1); + + if (typeListeners.length === 0) { + delete target.events[type]; + typeIsEmpty = true; + } + + break; + } + } + } + } + + if (typeIsEmpty && !Object.keys(target.events).length) { + targets.splice(targetIndex, 1); + } + } + + function addDelegate(selector, context, type, listener, optionalArg) { + const options = getOptions(optionalArg); + + if (!delegatedEvents[type]) { + delegatedEvents[type] = []; // add delegate listener functions + + for (const doc of documents) { + add(doc, type, delegateListener); + add(doc, type, delegateUseCapture, true); + } + } + + const delegates = delegatedEvents[type]; + let delegate = find(delegates, d => d.selector === selector && d.context === context); + + if (!delegate) { + delegate = { + selector, + context, + listeners: [] + }; + delegates.push(delegate); + } + + delegate.listeners.push([listener, options]); + } + + function removeDelegate(selector, context, type, listener, optionalArg) { + const options = getOptions(optionalArg); + const delegates = delegatedEvents[type]; + let matchFound = false; + let index; + + if (!delegates) { + return; + } // count from last index of delegated to 0 + + + for (index = delegates.length - 1; index >= 0; index--) { + const cur = delegates[index]; // look for matching selector and context Node + + if (cur.selector === selector && cur.context === context) { + const { + listeners + } = cur; // each item of the listeners array is an array: [function, capture, passive] + + for (let i = listeners.length - 1; i >= 0; i--) { + const [fn, { + capture, + passive + }] = listeners[i]; // check if the listener functions and capture and passive flags match + + if (fn === listener && capture === options.capture && passive === options.passive) { + // remove the listener from the array of listeners + listeners.splice(i, 1); // if all listeners for this target have been removed + // remove the target from the delegates array + + if (!listeners.length) { + delegates.splice(index, 1); // remove delegate function from context + + remove(context, type, delegateListener); + remove(context, type, delegateUseCapture, true); + } // only remove one listener + + + matchFound = true; + break; + } + } + + if (matchFound) { + break; + } + } + } + } // bound to the interactable context when a DOM event + // listener is added to a selector interactable + + + function delegateListener(event, optionalArg) { + const options = getOptions(optionalArg); + const fakeEvent = new events_FakeEvent(event); + const delegates = delegatedEvents[event.type]; + const [eventTarget] = getEventTargets(event); + let element = eventTarget; // climb up document tree looking for selector matches + + while (is.element(element)) { + for (let i = 0; i < delegates.length; i++) { + const cur = delegates[i]; + const { + selector, + context + } = cur; + + if (matchesSelector(element, selector) && nodeContains(context, eventTarget) && nodeContains(context, element)) { + const { + listeners + } = cur; + fakeEvent.currentTarget = element; + + for (const [fn, { + capture, + passive + }] of listeners) { + if (capture === options.capture && passive === options.passive) { + fn(fakeEvent); + } + } + } + } + + element = parentNode(element); + } + } + + function delegateUseCapture(event) { + return delegateListener.call(this, event, true); + } // for type inferrence + + + return eventsMethods; +} + +class events_FakeEvent { + constructor(originalEvent) { + this.currentTarget = void 0; + this.originalEvent = void 0; + this.type = void 0; + this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed + + utils_pointerExtend(this, originalEvent); + } + + preventOriginalDefault() { + this.originalEvent.preventDefault(); + } + + stopPropagation() { + this.originalEvent.stopPropagation(); + } + + stopImmediatePropagation() { + this.originalEvent.stopImmediatePropagation(); + } + +} + +function getOptions(param) { + if (!is.object(param)) { + return { + capture: !!param, + passive: false + }; + } + + const options = extend({}, param); + options.capture = !!param.capture; + options.passive = !!param.passive; + return options; +} + +/* harmony default export */ var events = ({ + id: 'events', + install +}); +//# sourceMappingURL=events.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/interactStatic.js +/** @module interact */ + + + + + +function createInteractStatic(scope) { + /** + * ```js + * interact('#draggable').draggable(true) + * + * var rectables = interact('rect') + * rectables + * .gesturable(true) + * .on('gesturemove', function (event) { + * // ... + * }) + * ``` + * + * The methods of this variable can be used to set elements as interactables + * and also to change various default settings. + * + * Calling it as a function and passing an element or a valid CSS selector + * string returns an Interactable object which has various methods to configure + * it. + * + * @global + * + * @param {Element | string} target The HTML or SVG Element to interact with + * or CSS selector + * @return {Interactable} + */ + const interact = (target, options) => { + let interactable = scope.interactables.get(target, options); + + if (!interactable) { + interactable = scope.interactables.new(target, options); + interactable.events.global = interact.globalEvents; + } + + return interactable; + }; // expose the functions used to calculate multi-touch properties + + + interact.getPointerAverage = pointerAverage; + interact.getTouchBBox = touchBBox; + interact.getTouchDistance = touchDistance; + interact.getTouchAngle = touchAngle; + interact.getElementRect = getElementRect; + interact.getElementClientRect = getElementClientRect; + interact.matchesSelector = matchesSelector; + interact.closest = domUtils_closest; + interact.globalEvents = {}; // eslint-disable-next-line no-undef + + interact.version = "1.10.0"; + interact.scope = scope; + /** + * Use a plugin + * + * @alias module:interact.use + * + * @param {Object} plugin + * @param {function} plugin.install + * @return {Interact.InteractStatic} + */ + + interact.use = function (plugin, options) { + this.scope.usePlugin(plugin, options); + return this; + }; + /** + * Check if an element or selector has been set with the {@link interact} + * function + * + * @alias module:interact.isSet + * + * @param {Element} element The Element being searched for + * @return {boolean} Indicates if the element or CSS selector was previously + * passed to interact + */ + + + interact.isSet = function (target, options) { + return !!this.scope.interactables.get(target, options && options.context); + }; + /** + * Add a global listener for an InteractEvent or adds a DOM event to `document` + * + * @alias module:interact.on + * + * @param {string | array | object} type The types of events to listen for + * @param {function} listener The function event (s) + * @param {object | boolean} [options] object or useCapture flag for + * addEventListener + * @return {object} interact + */ + + + interact.on = function (type, listener, options) { + if (is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (is.array(type)) { + for (const eventType of type) { + this.on(eventType, listener, options); + } + + return this; + } + + if (is.object(type)) { + for (const prop in type) { + this.on(prop, type[prop], listener); + } + + return this; + } // if it is an InteractEvent type, add listener to globalEvents + + + if (isNonNativeEvent(type, this.scope.actions)) { + // if this type of event was never bound + if (!this.globalEvents[type]) { + this.globalEvents[type] = [listener]; + } else { + this.globalEvents[type].push(listener); + } + } // If non InteractEvent type, addEventListener to document + else { + this.scope.events.add(this.scope.document, type, listener, { + options + }); + } + + return this; + }; + /** + * Removes a global InteractEvent listener or DOM event from `document` + * + * @alias module:interact.off + * + * @param {string | array | object} type The types of events that were listened + * for + * @param {function} listener The listener function to be removed + * @param {object | boolean} options [options] object or useCapture flag for + * removeEventListener + * @return {object} interact + */ + + + interact.off = function (type, listener, options) { + if (is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (is.array(type)) { + for (const eventType of type) { + this.off(eventType, listener, options); + } + + return this; + } + + if (is.object(type)) { + for (const prop in type) { + this.off(prop, type[prop], listener); + } + + return this; + } + + if (isNonNativeEvent(type, this.scope.actions)) { + let index; + + if (type in this.globalEvents && (index = this.globalEvents[type].indexOf(listener)) !== -1) { + this.globalEvents[type].splice(index, 1); + } + } else { + this.scope.events.remove(this.scope.document, type, listener, options); + } + + return this; + }; + + interact.debug = function () { + return this.scope; + }; + /** + * @alias module:interact.supportsTouch + * + * @return {boolean} Whether or not the browser supports touch input + */ + + + interact.supportsTouch = function () { + return utils_browser.supportsTouch; + }; + /** + * @alias module:interact.supportsPointerEvent + * + * @return {boolean} Whether or not the browser supports PointerEvents + */ + + + interact.supportsPointerEvent = function () { + return utils_browser.supportsPointerEvent; + }; + /** + * Cancels all interactions (end events are not fired) + * + * @alias module:interact.stop + * + * @return {object} interact + */ + + + interact.stop = function () { + for (const interaction of this.scope.interactions.list) { + interaction.stop(); + } + + return this; + }; + /** + * Returns or sets the distance the pointer must be moved before an action + * sequence occurs. This also affects tolerance for tap events. + * + * @alias module:interact.pointerMoveTolerance + * + * @param {number} [newValue] The movement from the start position must be greater than this value + * @return {interact | number} + */ + + + interact.pointerMoveTolerance = function (newValue) { + if (is.number(newValue)) { + this.scope.interactions.pointerMoveTolerance = newValue; + return this; + } + + return this.scope.interactions.pointerMoveTolerance; + }; + + interact.addDocument = function (doc, options) { + this.scope.addDocument(doc, options); + }; + + interact.removeDocument = function (doc) { + this.scope.removeDocument(doc); + }; + + return interact; +} +//# sourceMappingURL=interactStatic.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/utils/misc.js + +function warnOnce(method, message) { + let warned = false; + return function () { + if (!warned) { + win.console.warn(message); + warned = true; + } + + return method.apply(this, arguments); + }; +} +function copyAction(dest, src) { + dest.name = src.name; + dest.axis = src.axis; + dest.edges = src.edges; + return dest; +} +//# sourceMappingURL=misc.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/PointerInfo.js +class PointerInfo { + constructor(id, pointer, event, downTime, downTarget) { + this.id = void 0; + this.pointer = void 0; + this.event = void 0; + this.downTime = void 0; + this.downTarget = void 0; + this.id = id; + this.pointer = pointer; + this.event = event; + this.downTime = downTime; + this.downTarget = downTarget; + } + +} +//# sourceMappingURL=PointerInfo.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/Interaction.js + + + + + + + + +let _ProxyValues; + +(function (_ProxyValues) { + _ProxyValues["interactable"] = ""; + _ProxyValues["element"] = ""; + _ProxyValues["prepared"] = ""; + _ProxyValues["pointerIsDown"] = ""; + _ProxyValues["pointerWasMoved"] = ""; + _ProxyValues["_proxy"] = ""; +})(_ProxyValues || (_ProxyValues = {})); + +let _ProxyMethods; + +(function (_ProxyMethods) { + _ProxyMethods["start"] = ""; + _ProxyMethods["move"] = ""; + _ProxyMethods["end"] = ""; + _ProxyMethods["stop"] = ""; + _ProxyMethods["interacting"] = ""; +})(_ProxyMethods || (_ProxyMethods = {})); + +let idCounter = 0; +class Interaction_Interaction { + // current interactable being interacted with + // the target element of the interactable + // action that's ready to be fired on next move event + // keep track of added pointers + // pointerdown/mousedown/touchstart event + // previous action event + + /** @internal */ + get pointerMoveTolerance() { + return 1; + } + /** + * @alias Interaction.prototype.move + */ + + + /** */ + constructor({ + pointerType, + scopeFire + }) { + this.interactable = null; + this.element = null; + this.rect = void 0; + this._rects = void 0; + this.edges = void 0; + this._scopeFire = void 0; + this.prepared = { + name: null, + axis: null, + edges: null + }; + this.pointerType = void 0; + this.pointers = []; + this.downEvent = null; + this.downPointer = {}; + this._latestPointer = { + pointer: null, + event: null, + eventTarget: null + }; + this.prevEvent = null; + this.pointerIsDown = false; + this.pointerWasMoved = false; + this._interacting = false; + this._ending = false; + this._stopped = true; + this._proxy = null; + this.simulation = null; + this.doMove = warnOnce(function (signalArg) { + this.move(signalArg); + }, 'The interaction.doMove() method has been renamed to interaction.move()'); + this.coords = { + // Starting InteractEvent pointer coordinates + start: newCoords(), + // Previous native pointer move event coordinates + prev: newCoords(), + // current native pointer move event coordinates + cur: newCoords(), + // Change in coordinates and time of the pointer + delta: newCoords(), + // pointer velocity + velocity: newCoords() + }; + this._id = idCounter++; + this._scopeFire = scopeFire; + this.pointerType = pointerType; + const that = this; + this._proxy = {}; + + for (const key in _ProxyValues) { + Object.defineProperty(this._proxy, key, { + get() { + return that[key]; + } + + }); + } + + for (const key in _ProxyMethods) { + Object.defineProperty(this._proxy, key, { + value: (...args) => that[key](...args) + }); + } + + this._scopeFire('interactions:new', { + interaction: this + }); + } + + pointerDown(pointer, event, eventTarget) { + const pointerIndex = this.updatePointer(pointer, event, eventTarget, true); + const pointerInfo = this.pointers[pointerIndex]; + + this._scopeFire('interactions:down', { + pointer, + event, + eventTarget, + pointerIndex, + pointerInfo, + type: 'down', + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable({ + * // disable the default drag start by down->move + * manualStart: true + * }) + * // start dragging after the user holds the pointer down + * .on('hold', function (event) { + * var interaction = event.interaction + * + * if (!interaction.interacting()) { + * interaction.start({ name: 'drag' }, + * event.interactable, + * event.currentTarget) + * } + * }) + * ``` + * + * Start an action with the given Interactable and Element as tartgets. The + * action must be enabled for the target Interactable and an appropriate + * number of pointers must be held down - 1 for drag/resize, 2 for gesture. + * + * Use it with `interactable.able({ manualStart: false })` to always + * [start actions manually](https://github.com/taye/interact.js/issues/114) + * + * @param {object} action The action to be performed - drag, resize, etc. + * @param {Interactable} target The Interactable to target + * @param {Element} element The DOM Element to target + * @return {Boolean} Whether the interaction was successfully started + */ + + + start(action, interactable, element) { + if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === 'gesture' ? 2 : 1) || !interactable.options[action.name].enabled) { + return false; + } + + copyAction(this.prepared, action); + this.interactable = interactable; + this.element = element; + this.rect = interactable.getRect(element); + this.edges = this.prepared.edges ? extend({}, this.prepared.edges) : { + left: true, + right: true, + top: true, + bottom: true + }; + this._stopped = false; + this._interacting = this._doPhase({ + interaction: this, + event: this.downEvent, + phase: 'start' + }) && !this._stopped; + return this._interacting; + } + + pointerMove(pointer, event, eventTarget) { + if (!this.simulation && !(this.modification && this.modification.endResult)) { + this.updatePointer(pointer, event, eventTarget, false); + } + + const 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; + let dx; + let dy; // register movement greater than pointerMoveTolerance + + if (this.pointerIsDown && !this.pointerWasMoved) { + dx = this.coords.cur.client.x - this.coords.start.client.x; + dy = this.coords.cur.client.y - this.coords.start.client.y; + this.pointerWasMoved = hypot(dx, dy) > this.pointerMoveTolerance; + } + + const pointerIndex = this.getPointerIndex(pointer); + const signalArg = { + pointer, + pointerIndex, + pointerInfo: this.pointers[pointerIndex], + event, + type: 'move', + eventTarget, + dx, + dy, + duplicate: duplicateMove, + interaction: this + }; + + if (!duplicateMove) { + // set pointer coordinate, time changes and velocity + setCoordVelocity(this.coords.velocity, this.coords.delta); + } + + this._scopeFire('interactions:move', signalArg); + + if (!duplicateMove && !this.simulation) { + // if interacting, fire an 'action-move' signal etc + if (this.interacting()) { + signalArg.type = null; + this.move(signalArg); + } + + if (this.pointerWasMoved) { + copyCoords(this.coords.prev, this.coords.cur); + } + } + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('dragmove', function (event) { + * if (someCondition) { + * // change the snap settings + * event.interactable.draggable({ snap: { targets: [] }}) + * // fire another move event with re-calculated snap + * event.interaction.move() + * } + * }) + * ``` + * + * Force a move of the current action at the same coordinates. Useful if + * snap/restrict has been changed and you want a movement with the new + * settings. + */ + + + move(signalArg) { + if (!signalArg || !signalArg.event) { + setZeroCoords(this.coords.delta); + } + + signalArg = extend({ + pointer: this._latestPointer.pointer, + event: this._latestPointer.event, + eventTarget: this._latestPointer.eventTarget, + interaction: this + }, signalArg || {}); + signalArg.phase = 'move'; + + this._doPhase(signalArg); + } // End interact move events and stop auto-scroll unless simulation is running + + + pointerUp(pointer, event, eventTarget, curEventTarget) { + let pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + pointerIndex = this.updatePointer(pointer, event, eventTarget, false); + } + + const type = /cancel$/i.test(event.type) ? 'cancel' : 'up'; + + this._scopeFire(`interactions:${type}`, { + pointer, + pointerIndex, + pointerInfo: this.pointers[pointerIndex], + event, + eventTarget, + type: type, + curEventTarget, + interaction: this + }); + + if (!this.simulation) { + this.end(event); + } + + this.removePointer(pointer, event); + } + + documentBlur(event) { + this.end(event); + + this._scopeFire('interactions:blur', { + event, + type: 'blur', + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('move', function (event) { + * if (event.pageX > 1000) { + * // end the current action + * event.interaction.end() + * // stop all further listeners from being called + * event.stopImmediatePropagation() + * } + * }) + * ``` + * + * @param {PointerEvent} [event] + */ + + + end(event) { + this._ending = true; + event = event || this._latestPointer.event; + let endPhaseResult; + + if (this.interacting()) { + endPhaseResult = this._doPhase({ + event, + interaction: this, + phase: 'end' + }); + } + + this._ending = false; + + if (endPhaseResult === true) { + this.stop(); + } + } + + currentAction() { + return this._interacting ? this.prepared.name : null; + } + + interacting() { + return this._interacting; + } + /** */ + + + stop() { + this._scopeFire('interactions:stop', { + interaction: this + }); + + this.interactable = this.element = null; + this._interacting = false; + this._stopped = true; + this.prepared.name = this.prevEvent = null; + } + + getPointerIndex(pointer) { + const pointerId = getPointerId(pointer); // mouse and pen interactions may have only one pointer + + return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : findIndex(this.pointers, curPointer => curPointer.id === pointerId); + } + + getPointerInfo(pointer) { + return this.pointers[this.getPointerIndex(pointer)]; + } + + updatePointer(pointer, event, eventTarget, down) { + const id = getPointerId(pointer); + let pointerIndex = this.getPointerIndex(pointer); + let pointerInfo = this.pointers[pointerIndex]; + down = down === false ? false : down || /(down|start)$/i.test(event.type); + + if (!pointerInfo) { + pointerInfo = new PointerInfo(id, pointer, event, null, null); + pointerIndex = this.pointers.length; + this.pointers.push(pointerInfo); + } else { + pointerInfo.pointer = pointer; + } + + setCoords(this.coords.cur, this.pointers.map(p => p.pointer), this._now()); + setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); + + if (down) { + this.pointerIsDown = true; + pointerInfo.downTime = this.coords.cur.timeStamp; + pointerInfo.downTarget = eventTarget; + utils_pointerExtend(this.downPointer, pointer); + + if (!this.interacting()) { + copyCoords(this.coords.start, this.coords.cur); + copyCoords(this.coords.prev, this.coords.cur); + this.downEvent = event; + this.pointerWasMoved = false; + } + } + + this._updateLatestPointer(pointer, event, eventTarget); + + this._scopeFire('interactions:update-pointer', { + pointer, + event, + eventTarget, + down, + pointerInfo, + pointerIndex, + interaction: this + }); + + return pointerIndex; + } + + removePointer(pointer, event) { + const pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + return; + } + + const pointerInfo = this.pointers[pointerIndex]; + + this._scopeFire('interactions:remove-pointer', { + pointer, + event, + eventTarget: null, + pointerIndex, + pointerInfo, + interaction: this + }); + + this.pointers.splice(pointerIndex, 1); + this.pointerIsDown = false; + } + + _updateLatestPointer(pointer, event, eventTarget) { + this._latestPointer.pointer = pointer; + this._latestPointer.event = event; + this._latestPointer.eventTarget = eventTarget; + } + + destroy() { + this._latestPointer.pointer = null; + this._latestPointer.event = null; + this._latestPointer.eventTarget = null; + } + + _createPreparedEvent(event, phase, preEnd, type) { + return new InteractEvent_InteractEvent(this, event, this.prepared.name, phase, this.element, preEnd, type); + } + + _fireEvent(iEvent) { + this.interactable.fire(iEvent); + + if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { + this.prevEvent = iEvent; + } + } + + _doPhase(signalArg) { + const { + event, + phase, + preEnd, + type + } = signalArg; + const { + rect + } = this; + + if (rect && phase === 'move') { + // update the rect changes due to pointer move + addEdges(this.edges, rect, this.coords.delta[this.interactable.options.deltaSource]); + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + const beforeResult = this._scopeFire(`interactions:before-action-${phase}`, signalArg); + + if (beforeResult === false) { + return false; + } + + const iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); + + this._scopeFire(`interactions:action-${phase}`, signalArg); + + if (phase === 'start') { + this.prevEvent = iEvent; + } + + this._fireEvent(iEvent); + + this._scopeFire(`interactions:after-action-${phase}`, signalArg); + + return true; + } + + _now() { + return Date.now(); + } + +} +/* harmony default export */ var core_Interaction = (Interaction_Interaction); + +//# sourceMappingURL=Interaction.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/interactablePreventDefault.js + + + + +function preventDefault(newValue) { + if (/^(always|never|auto)$/.test(newValue)) { + this.options.preventDefault = newValue; + return this; + } + + if (is.bool(newValue)) { + this.options.preventDefault = newValue ? 'always' : 'never'; + return this; + } + + return this.options.preventDefault; +} + +function checkAndPreventDefault(interactable, scope, event) { + const setting = interactable.options.preventDefault; + + if (setting === 'never') { + return; + } + + if (setting === 'always') { + event.preventDefault(); + return; + } // setting === 'auto' + // if the browser supports passive event listeners and isn't running on iOS, + // don't preventDefault of touch{start,move} events. CSS touch-action and + // user-select should be used instead of calling event.preventDefault(). + + + if (scope.events.supportsPassive && /^touch(start|move)$/.test(event.type)) { + const doc = getWindow(event.target).document; + const docOptions = scope.getDocOptions(doc); + + if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { + return; + } + } // don't preventDefault of pointerdown events + + + if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { + return; + } // don't preventDefault on editable elements + + + if (is.element(event.target) && matchesSelector(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { + return; + } + + event.preventDefault(); +} + +function onInteractionEvent({ + interaction, + event +}) { + if (interaction.interactable) { + interaction.interactable.checkAndPreventDefault(event); + } +} + +function interactablePreventDefault_install(scope) { + /** @lends Interactable */ + const { + Interactable + } = scope; + /** + * Returns or sets whether to prevent the browser's default behaviour in + * response to pointer events. Can be set to: + * - `'always'` to always prevent + * - `'never'` to never prevent + * - `'auto'` to let interact.js try to determine what would be best + * + * @param {string} [newValue] `'always'`, `'never'` or `'auto'` + * @return {string | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.preventDefault = preventDefault; + + Interactable.prototype.checkAndPreventDefault = function (event) { + return checkAndPreventDefault(this, scope, event); + }; // prevent native HTML5 drag on interact.js target elements + + + scope.interactions.docEvents.push({ + type: 'dragstart', + + listener(event) { + for (const interaction of scope.interactions.list) { + if (interaction.element && (interaction.element === event.target || nodeContains(interaction.element, event.target))) { + interaction.interactable.checkAndPreventDefault(event); + return; + } + } + } + + }); +} +/* harmony default export */ var interactablePreventDefault = ({ + id: 'core/interactablePreventDefault', + install: interactablePreventDefault_install, + listeners: ['down', 'move', 'up', 'cancel'].reduce((acc, eventType) => { + acc[`interactions:${eventType}`] = onInteractionEvent; + return acc; + }, {}) +}); +//# sourceMappingURL=interactablePreventDefault.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/interactionFinder.js + +const finder = { + methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'], + + search(details) { + for (const method of finder.methodOrder) { + const interaction = finder[method](details); + + if (interaction) { + return interaction; + } + } + + return null; + }, + + // try to resume simulation with a new pointer + simulationResume({ + pointerType, + eventType, + eventTarget, + scope + }) { + if (!/down|start/i.test(eventType)) { + return null; + } + + for (const interaction of scope.interactions.list) { + let element = eventTarget; + + if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { + while (element) { + // if the element is the interaction element + if (element === interaction.element) { + return interaction; + } + + element = parentNode(element); + } + } + } + + return null; + }, + + // if it's a mouse or pen interaction + mouseOrPen({ + pointerId, + pointerType, + eventType, + scope + }) { + if (pointerType !== 'mouse' && pointerType !== 'pen') { + return null; + } + + let firstNonActive; + + for (const interaction of scope.interactions.list) { + if (interaction.pointerType === pointerType) { + // if it's a down event, skip interactions with running simulations + if (interaction.simulation && !hasPointerId(interaction, pointerId)) { + continue; + } // if the interaction is active, return it immediately + + + if (interaction.interacting()) { + return interaction; + } // otherwise save it and look for another active interaction + else if (!firstNonActive) { + firstNonActive = interaction; + } + } + } // if no active mouse interaction was found use the first inactive mouse + // interaction + + + if (firstNonActive) { + return firstNonActive; + } // find any mouse or pen interaction. + // ignore the interaction if the eventType is a *down, and a simulation + // is active + + + for (const interaction of scope.interactions.list) { + if (interaction.pointerType === pointerType && !(/down/i.test(eventType) && interaction.simulation)) { + return interaction; + } + } + + return null; + }, + + // get interaction that has this pointer + hasPointer({ + pointerId, + scope + }) { + for (const interaction of scope.interactions.list) { + if (hasPointerId(interaction, pointerId)) { + return interaction; + } + } + + return null; + }, + + // get first idle interaction with a matching pointerType + idle({ + pointerType, + scope + }) { + for (const interaction of scope.interactions.list) { + // if there's already a pointer held down + if (interaction.pointers.length === 1) { + const target = interaction.interactable; // don't add this pointer if there is a target interactable and it + // isn't gesturable + + if (target && !(target.options.gesture && target.options.gesture.enabled)) { + continue; + } + } // maximum of 2 pointers per interaction + else if (interaction.pointers.length >= 2) { + continue; + } + + if (!interaction.interacting() && pointerType === interaction.pointerType) { + return interaction; + } + } + + return null; + } + +}; + +function hasPointerId(interaction, pointerId) { + return interaction.pointers.some(({ + id + }) => id === pointerId); +} + +/* harmony default export */ var interactionFinder = (finder); +//# sourceMappingURL=interactionFinder.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/interactions.js + + + + + + + +const methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; + +function interactions_install(scope) { + const listeners = {}; + + for (const method of methodNames) { + listeners[method] = doOnInteractions(method, scope); + } + + const pEventTypes = utils_browser.pEventTypes; + let docEvents; + + if (utils_domObjects.PointerEvent) { + docEvents = [{ + type: pEventTypes.down, + listener: releasePointersOnRemovedEls + }, { + type: pEventTypes.down, + listener: listeners.pointerDown + }, { + type: pEventTypes.move, + listener: listeners.pointerMove + }, { + type: pEventTypes.up, + listener: listeners.pointerUp + }, { + type: pEventTypes.cancel, + listener: listeners.pointerUp + }]; + } else { + docEvents = [{ + type: 'mousedown', + listener: listeners.pointerDown + }, { + type: 'mousemove', + listener: listeners.pointerMove + }, { + type: 'mouseup', + listener: listeners.pointerUp + }, { + type: 'touchstart', + listener: releasePointersOnRemovedEls + }, { + type: 'touchstart', + listener: listeners.pointerDown + }, { + type: 'touchmove', + listener: listeners.pointerMove + }, { + type: 'touchend', + listener: listeners.pointerUp + }, { + type: 'touchcancel', + listener: listeners.pointerUp + }]; + } + + docEvents.push({ + type: 'blur', + + listener(event) { + for (const interaction of scope.interactions.list) { + interaction.documentBlur(event); + } + } + + }); // for ignoring browser's simulated mouse events + + scope.prevTouchTime = 0; + scope.Interaction = class extends core_Interaction { + get pointerMoveTolerance() { + return scope.interactions.pointerMoveTolerance; + } + + set pointerMoveTolerance(value) { + scope.interactions.pointerMoveTolerance = value; + } + + _now() { + return scope.now(); + } + + }; + scope.interactions = { + // all active and idle interactions + list: [], + + new(options) { + options.scopeFire = (name, arg) => scope.fire(name, arg); + + const interaction = new scope.Interaction(options); + scope.interactions.list.push(interaction); + return interaction; + }, + + listeners, + docEvents, + pointerMoveTolerance: 1 + }; + + function releasePointersOnRemovedEls() { + // for all inactive touch interactions with pointers down + for (const interaction of scope.interactions.list) { + if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { + continue; + } // if a pointer is down on an element that is no longer in the DOM tree + + + for (const pointer of interaction.pointers) { + if (!scope.documents.some(({ + doc + }) => nodeContains(doc, pointer.downTarget))) { + // remove the pointer from the interaction + interaction.removePointer(pointer.pointer, pointer.event); + } + } + } + } + + scope.usePlugin(interactablePreventDefault); +} + +function doOnInteractions(method, scope) { + return function (event) { + const interactions = scope.interactions.list; + const pointerType = getPointerType(event); + const [eventTarget, curEventTarget] = getEventTargets(event); + const matches = []; // [ [pointer, interaction], ...] + + if (/^touch/.test(event.type)) { + scope.prevTouchTime = scope.now(); // @ts-expect-error + + for (const changedTouch of event.changedTouches) { + const pointer = changedTouch; + const pointerId = getPointerId(pointer); + const searchDetails = { + pointer, + pointerId, + pointerType, + eventType: event.type, + eventTarget, + curEventTarget, + scope + }; + const interaction = getInteraction(searchDetails); + matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); + } + } else { + let invalidPointer = false; + + if (!utils_browser.supportsPointerEvent && /mouse/.test(event.type)) { + // ignore mouse events while touch interactions are active + for (let i = 0; i < interactions.length && !invalidPointer; i++) { + invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; + } // try to ignore mouse events that are simulated by the browser + // after a touch event + + + invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated + event.timeStamp === 0; + } + + if (!invalidPointer) { + const searchDetails = { + pointer: event, + pointerId: getPointerId(event), + pointerType, + eventType: event.type, + curEventTarget, + eventTarget, + scope + }; + const interaction = getInteraction(searchDetails); + matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); + } + } // eslint-disable-next-line no-shadow + + + for (const [pointer, eventTarget, curEventTarget, interaction] of matches) { + interaction[method](pointer, event, eventTarget, curEventTarget); + } + }; +} + +function getInteraction(searchDetails) { + const { + pointerType, + scope + } = searchDetails; + const foundInteraction = interactionFinder.search(searchDetails); + const signalArg = { + interaction: foundInteraction, + searchDetails + }; + scope.fire('interactions:find', signalArg); + return signalArg.interaction || scope.interactions.new({ + pointerType + }); +} + +function onDocSignal({ + doc, + scope, + options +}, eventMethodName) { + const { + interactions: { + docEvents + }, + events + } = scope; + const eventMethod = events[eventMethodName]; + + if (scope.browser.isIOS && !options.events) { + options.events = { + passive: false + }; + } // delegate event listener + + + for (const eventType in events.delegatedEvents) { + eventMethod(doc, eventType, events.delegateListener); + eventMethod(doc, eventType, events.delegateUseCapture, true); + } + + const eventOptions = options && options.events; + + for (const { + type, + listener + } of docEvents) { + eventMethod(doc, type, listener, eventOptions); + } +} + +const interactions_interactions = { + id: 'core/interactions', + install: interactions_install, + listeners: { + 'scope:add-document': arg => onDocSignal(arg, 'add'), + 'scope:remove-document': arg => onDocSignal(arg, 'remove'), + 'interactable:unset': ({ + interactable + }, scope) => { + // Stop and destroy related interactions when an Interactable is unset + for (let i = scope.interactions.list.length - 1; i >= 0; i--) { + const interaction = scope.interactions.list[i]; + + if (interaction.interactable !== interactable) { + continue; + } + + interaction.stop(); + scope.fire('interactions:destroy', { + interaction + }); + interaction.destroy(); + + if (scope.interactions.list.length > 2) { + scope.interactions.list.splice(i, 1); + } + } + } + }, + onDocSignal, + doOnInteractions, + methodNames +}; +/* harmony default export */ var core_interactions = (interactions_interactions); +//# sourceMappingURL=interactions.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/core/scope.js + + + + + + + + + + + + + + +class scope_Scope { + // main window + // main document + // main window + // all documents being listened to + constructor() { + this.id = `__interact_scope_${Math.floor(Math.random() * 100)}`; + this.isInitialized = false; + this.listenerMaps = []; + this.browser = utils_browser; + this.defaults = clone(defaultOptions_defaults); + this.Eventable = Eventable_Eventable; + this.actions = { + map: {}, + phases: { + start: true, + move: true, + end: true + }, + methodDict: {}, + phaselessTypes: {} + }; + this.interactStatic = createInteractStatic(this); + this.InteractEvent = InteractEvent_InteractEvent; + this.Interactable = void 0; + this.interactables = new InteractableSet_InteractableSet(this); + this._win = void 0; + this.document = void 0; + this.window = void 0; + this.documents = []; + this._plugins = { + list: [], + map: {} + }; + + this.onWindowUnload = event => this.removeDocument(event.target); + + const scope = this; + this.Interactable = class extends Interactable_Interactable { + get _defaults() { + return scope.defaults; + } + + set(options) { + super.set(options); + scope.fire('interactable:set', { + options, + interactable: this + }); + return this; + } + + unset() { + super.unset(); + scope.interactables.list.splice(scope.interactables.list.indexOf(this), 1); + scope.fire('interactable:unset', { + interactable: this + }); + } + + }; + } + + addListeners(map, id) { + this.listenerMaps.push({ + id, + map + }); + } + + fire(name, arg) { + for (const { + map: { + [name]: listener + } + } of this.listenerMaps) { + if (!!listener && listener(arg, this, name) === false) { + return false; + } + } + } + + init(window) { + return this.isInitialized ? this : initScope(this, window); + } + + pluginIsInstalled(plugin) { + return this._plugins.map[plugin.id] || this._plugins.list.indexOf(plugin) !== -1; + } + + usePlugin(plugin, options) { + if (!this.isInitialized) { + return this; + } + + if (this.pluginIsInstalled(plugin)) { + return this; + } + + if (plugin.id) { + this._plugins.map[plugin.id] = plugin; + } + + this._plugins.list.push(plugin); + + if (plugin.install) { + plugin.install(this, options); + } + + if (plugin.listeners && plugin.before) { + let index = 0; + const len = this.listenerMaps.length; + const before = plugin.before.reduce((acc, id) => { + acc[id] = true; + acc[pluginIdRoot(id)] = true; + return acc; + }, {}); + + for (; index < len; index++) { + const otherId = this.listenerMaps[index].id; + + if (before[otherId] || before[pluginIdRoot(otherId)]) { + break; + } + } + + this.listenerMaps.splice(index, 0, { + id: plugin.id, + map: plugin.listeners + }); + } else if (plugin.listeners) { + this.listenerMaps.push({ + id: plugin.id, + map: plugin.listeners + }); + } + + return this; + } + + addDocument(doc, options) { + // do nothing if document is already known + if (this.getDocIndex(doc) !== -1) { + return false; + } + + const window = getWindow(doc); + options = options ? extend({}, options) : {}; + this.documents.push({ + doc, + options + }); + this.events.documents.push(doc); // don't add an unload event for the main document + // so that the page may be cached in browser history + + if (doc !== this.document) { + this.events.add(window, 'unload', this.onWindowUnload); + } + + this.fire('scope:add-document', { + doc, + window, + scope: this, + options + }); + } + + removeDocument(doc) { + const index = this.getDocIndex(doc); + const window = getWindow(doc); + const options = this.documents[index].options; + this.events.remove(window, 'unload', this.onWindowUnload); + this.documents.splice(index, 1); + this.events.documents.splice(index, 1); + this.fire('scope:remove-document', { + doc, + window, + scope: this, + options + }); + } + + getDocIndex(doc) { + for (let i = 0; i < this.documents.length; i++) { + if (this.documents[i].doc === doc) { + return i; + } + } + + return -1; + } + + getDocOptions(doc) { + const docIndex = this.getDocIndex(doc); + return docIndex === -1 ? null : this.documents[docIndex].options; + } + + now() { + return (this.window.Date || Date).now(); + } + +} +function initScope(scope, window) { + scope.isInitialized = true; + window_init(window); + utils_domObjects.init(window); + utils_browser.init(window); + raf.init(window); + scope.window = window; + scope.document = window.document; + scope.usePlugin(core_interactions); + scope.usePlugin(events); + return scope; +} + +function pluginIdRoot(id) { + return id && id.replace(/\/.*$/, ''); +} +//# sourceMappingURL=scope.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/interact/index.js + +const interact_scope = new scope_Scope(); +const interact_interact = interact_scope.interactStatic; +/* harmony default export */ var _interactjs_interact = (interact_interact); +const interact_init = win => interact_scope.init(win); + +if (typeof window === 'object' && !!window) { + interact_init(window); +} +//# sourceMappingURL=index.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/auto-start/InteractableMethods.js + + + +function InteractableMethods_install(scope) { + const { + /** @lends Interactable */ + Interactable // tslint:disable-line no-shadowed-variable + + } = scope; + + Interactable.prototype.getAction = function getAction(pointer, event, interaction, element) { + const action = defaultActionChecker(this, event, interaction, element, scope); + + if (this.options.actionChecker) { + return this.options.actionChecker(pointer, event, action, this, element, interaction); + } + + return action; + }; + /** + * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any + * of it's parents match the given CSS selector or Element, no + * drag/resize/gesture is started. + * + * @deprecated + * Don't use this method. Instead set the `ignoreFrom` option for each action + * or for `pointerEvents` + * + * ```js + * interact(targett) + * .draggable({ + * ignoreFrom: 'input, textarea, a[href]'', + * }) + * .pointerEvents({ + * ignoreFrom: '[no-pointer]', + * }) + * ``` + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to not ignore any elements + * @return {string | Element | object} The current ignoreFrom value or this + * Interactable + */ + + + Interactable.prototype.ignoreFrom = warnOnce(function (newValue) { + return this._backCompatOption('ignoreFrom', newValue); + }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); + /** + * + * A drag/resize/gesture is started only If the target of the `mousedown`, + * `pointerdown` or `touchstart` event or any of it's parents match the given + * CSS selector or Element. + * + * @deprecated + * Don't use this method. Instead set the `allowFrom` option for each action + * or for `pointerEvents` + * + * ```js + * interact(targett) + * .resizable({ + * allowFrom: '.resize-handle', + * .pointerEvents({ + * allowFrom: '.handle',, + * }) + * ``` + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to allow from any element + * @return {string | Element | object} The current allowFrom value or this + * Interactable + */ + + Interactable.prototype.allowFrom = warnOnce(function (newValue) { + return this._backCompatOption('allowFrom', newValue); + }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); + /** + * ```js + * interact('.resize-drag') + * .resizable(true) + * .draggable(true) + * .actionChecker(function (pointer, event, action, interactable, element, interaction) { + * + * if (interact.matchesSelector(event.target, '.drag-handle')) { + * // force drag with handle target + * action.name = drag + * } + * else { + * // resize from the top and right edges + * action.name = 'resize' + * action.edges = { top: true, right: true } + * } + * + * return action + * }) + * ``` + * + * Returns or sets the function used to check action to be performed on + * pointerDown + * + * @param {function | null} [checker] A function which takes a pointer event, + * defaultAction string, interactable, element and interaction as parameters + * and returns an object with name property 'drag' 'resize' or 'gesture' and + * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right + * props. + * @return {Function | Interactable} The checker function or this Interactable + */ + + Interactable.prototype.actionChecker = actionChecker; + /** + * Returns or sets whether the the cursor should be changed depending on the + * action that would be performed if the mouse were pressed and dragged. + * + * @param {boolean} [newValue] + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.styleCursor = styleCursor; +} + +function defaultActionChecker(interactable, event, interaction, element, scope) { + const rect = interactable.getRect(element); + const buttons = event.buttons || { + 0: 1, + 1: 4, + 3: 8, + 4: 16 + }[event.button]; + const arg = { + action: null, + interactable, + interaction, + element, + rect, + buttons + }; + scope.fire('auto-start:check', arg); + return arg.action; +} + +function styleCursor(newValue) { + if (is.bool(newValue)) { + this.options.styleCursor = newValue; + return this; + } + + if (newValue === null) { + delete this.options.styleCursor; + return this; + } + + return this.options.styleCursor; +} + +function actionChecker(checker) { + if (is.func(checker)) { + this.options.actionChecker = checker; + return this; + } + + if (checker === null) { + delete this.options.actionChecker; + return this; + } + + return this.options.actionChecker; +} + +/* harmony default export */ var InteractableMethods = ({ + id: 'auto-start/interactableMethods', + install: InteractableMethods_install +}); +//# sourceMappingURL=InteractableMethods.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/auto-start/base.js + + + + + + +function base_install(scope) { + const { + interactStatic: interact, + defaults + } = scope; + scope.usePlugin(InteractableMethods); + defaults.base.actionChecker = null; + defaults.base.styleCursor = true; + extend(defaults.perAction, { + manualStart: false, + max: Infinity, + maxPerElement: 1, + allowFrom: null, + ignoreFrom: null, + // only allow left button by default + // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value + mouseButtons: 1 + }); + /** + * Returns or sets the maximum number of concurrent interactions allowed. By + * default only 1 interaction is allowed at a time (for backwards + * compatibility). To allow multiple interactions on the same Interactables and + * elements, you need to enable it in the draggable, resizable and gesturable + * `'max'` and `'maxPerElement'` options. + * + * @alias module:interact.maxInteractions + * + * @param {number} [newValue] Any number. newValue <= 0 means no interactions. + */ + + interact.maxInteractions = newValue => maxInteractions(newValue, scope); + + scope.autoStart = { + // Allow this many interactions to happen simultaneously + maxInteractions: Infinity, + withinInteractionLimit, + cursorElement: null + }; +} + +function prepareOnDown({ + interaction, + pointer, + event, + eventTarget +}, scope) { + if (interaction.interacting()) { + return; + } + + const actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); +} + +function prepareOnMove({ + interaction, + pointer, + event, + eventTarget +}, scope) { + if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { + return; + } + + const actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); +} + +function startOnMove(arg, scope) { + const { + interaction + } = arg; + + if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { + return; + } + + scope.fire('autoStart:before-start', arg); + const { + interactable + } = interaction; + const actionName = interaction.prepared.name; + + if (actionName && interactable) { + // check manualStart and interaction limit + if (interactable.options[actionName].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { + interaction.stop(); + } else { + interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); + } + } +} + +function clearCursorOnStop({ + interaction +}, scope) { + const { + interactable + } = interaction; + + if (interactable && interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } +} // Check if the current interactable supports the action. +// If so, return the validated action. Otherwise, return null + + +function validateAction(action, interactable, element, eventTarget, scope) { + if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { + return action; + } + + return null; +} + +function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { + for (let i = 0, len = matches.length; i < len; i++) { + const match = matches[i]; + const matchElement = matchElements[i]; + const matchAction = match.getAction(pointer, event, interaction, matchElement); + + if (!matchAction) { + continue; + } + + const action = validateAction(matchAction, match, matchElement, eventTarget, scope); + + if (action) { + return { + action, + interactable: match, + element: matchElement + }; + } + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function getActionInfo(interaction, pointer, event, eventTarget, scope) { + let matches = []; + let matchElements = []; + let element = eventTarget; + + function pushMatches(interactable) { + matches.push(interactable); + matchElements.push(element); + } + + while (is.element(element)) { + matches = []; + matchElements = []; + scope.interactables.forEachMatch(element, pushMatches); + const actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); + + if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { + return actionInfo; + } + + element = parentNode(element); + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function prepare(interaction, { + action, + interactable, + element +}, scope) { + action = action || { + name: null + }; + interaction.interactable = interactable; + interaction.element = element; + copyAction(interaction.prepared, action); + interaction.rect = interactable && action.name ? interactable.getRect(element) : null; + setInteractionCursor(interaction, scope); + scope.fire('autoStart:prepared', { + interaction + }); +} + +function withinInteractionLimit(interactable, element, action, scope) { + const options = interactable.options; + const maxActions = options[action.name].max; + const maxPerElement = options[action.name].maxPerElement; + const autoStartMax = scope.autoStart.maxInteractions; + let activeInteractions = 0; + let interactableCount = 0; + let elementCount = 0; // no actions if any of these values == 0 + + if (!(maxActions && maxPerElement && autoStartMax)) { + return false; + } + + for (const interaction of scope.interactions.list) { + const otherAction = interaction.prepared.name; + + if (!interaction.interacting()) { + continue; + } + + activeInteractions++; + + if (activeInteractions >= autoStartMax) { + return false; + } + + if (interaction.interactable !== interactable) { + continue; + } + + interactableCount += otherAction === action.name ? 1 : 0; + + if (interactableCount >= maxActions) { + return false; + } + + if (interaction.element === element) { + elementCount++; + + if (otherAction === action.name && elementCount >= maxPerElement) { + return false; + } + } + } + + return autoStartMax > 0; +} + +function maxInteractions(newValue, scope) { + if (is.number(newValue)) { + scope.autoStart.maxInteractions = newValue; + return this; + } + + return scope.autoStart.maxInteractions; +} + +function setCursor(element, cursor, scope) { + const { + cursorElement: prevCursorElement + } = scope.autoStart; + + if (prevCursorElement && prevCursorElement !== element) { + prevCursorElement.style.cursor = ''; + } + + element.ownerDocument.documentElement.style.cursor = cursor; + element.style.cursor = cursor; + scope.autoStart.cursorElement = cursor ? element : null; +} + +function setInteractionCursor(interaction, scope) { + const { + interactable, + element, + prepared + } = interaction; + + if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) { + // clear previous target element cursor + if (scope.autoStart.cursorElement) { + setCursor(scope.autoStart.cursorElement, '', scope); + } + + return; + } + + let cursor = ''; + + if (prepared.name) { + const cursorChecker = interactable.options[prepared.name].cursorChecker; + + if (is.func(cursorChecker)) { + cursor = cursorChecker(prepared, interactable, element, interaction._interacting); + } else { + cursor = scope.actions.map[prepared.name].getCursor(prepared); + } + } + + setCursor(interaction.element, cursor || '', scope); +} + +const autoStart = { + id: 'auto-start/base', + before: ['actions'], + install: base_install, + listeners: { + 'interactions:down': prepareOnDown, + 'interactions:move': (arg, scope) => { + prepareOnMove(arg, scope); + startOnMove(arg, scope); + }, + 'interactions:stop': clearCursorOnStop + }, + maxInteractions, + withinInteractionLimit, + validateAction +}; +/* harmony default export */ var base = (autoStart); +//# sourceMappingURL=base.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/auto-start/dragAxis.js + + + + +function beforeStart({ + interaction, + eventTarget, + dx, + dy +}, scope) { + if (interaction.prepared.name !== 'drag') { + return; + } // check if a drag is in the correct axis + + + const absX = Math.abs(dx); + const absY = Math.abs(dy); + const targetOptions = interaction.interactable.options.drag; + const startAxis = targetOptions.startAxis; + const currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; + interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' + : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable + + if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { + // cancel the prepared action + interaction.prepared.name = null; // then try to get a drag from another ineractable + + let element = eventTarget; + + const getDraggable = function (interactable) { + if (interactable === interaction.interactable) { + return; + } + + const options = interaction.interactable.options.drag; + + if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { + const action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); + + if (action && action.name === 'drag' && checkStartAxis(currentAxis, interactable) && base.validateAction(action, interactable, element, eventTarget, scope)) { + return interactable; + } + } + }; // check all interactables + + + while (is.element(element)) { + const interactable = scope.interactables.forEachMatch(element, getDraggable); + + if (interactable) { + interaction.prepared.name = 'drag'; + interaction.interactable = interactable; + interaction.element = element; + break; + } + + element = parentNode(element); + } + } +} + +function checkStartAxis(startAxis, interactable) { + if (!interactable) { + return false; + } + + const thisAxis = interactable.options.drag.startAxis; + return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; +} + +/* harmony default export */ var dragAxis = ({ + id: 'auto-start/dragAxis', + listeners: { + 'autoStart:before-start': beforeStart + } +}); +//# sourceMappingURL=dragAxis.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/auto-start/hold.js + + +function hold_install(scope) { + const { + defaults + } = scope; + scope.usePlugin(base); + defaults.perAction.hold = 0; + defaults.perAction.delay = 0; +} + +function getHoldDuration(interaction) { + const actionName = interaction.prepared && interaction.prepared.name; + + if (!actionName) { + return null; + } + + const options = interaction.interactable.options; + return options[actionName].hold || options[actionName].delay; +} + +/* harmony default export */ var hold = ({ + id: 'auto-start/hold', + install: hold_install, + listeners: { + 'interactions:new': ({ + interaction + }) => { + interaction.autoStartHoldTimer = null; + }, + 'autoStart:prepared': ({ + interaction + }) => { + const hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.autoStartHoldTimer = setTimeout(() => { + interaction.start(interaction.prepared, interaction.interactable, interaction.element); + }, hold); + } + }, + 'interactions:move': ({ + interaction, + duplicate + }) => { + if (interaction.autoStartHoldTimer && interaction.pointerWasMoved && !duplicate) { + clearTimeout(interaction.autoStartHoldTimer); + interaction.autoStartHoldTimer = null; + } + }, + // prevent regular down->move autoStart + 'autoStart:before-start': ({ + interaction + }) => { + const hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.prepared.name = null; + } + } + }, + getHoldDuration +}); +//# sourceMappingURL=hold.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/auto-start/plugin.js + + + +/* harmony default export */ var auto_start_plugin = ({ + id: 'auto-start', + + install(scope) { + scope.usePlugin(base); + scope.usePlugin(hold); + scope.usePlugin(dragAxis); + } + +}); +//# sourceMappingURL=plugin.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/auto-start/index.js +/* eslint-disable import/order, no-console, eol-last */ + + + +if (typeof window === 'object' && !!window) { + interact_init(window); +} // eslint-disable-next-line no-undef + + +if (( true) && !_interactjs_interact.__warnedUseImport) { + _interactjs_interact.__warnedUseImport = true; + console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.'); +} + +_interactjs_interact.use(auto_start_plugin); +//# sourceMappingURL=index.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/actions/drag/plugin.js + + +function plugin_install(scope) { + const { + actions, + Interactable, + defaults + } = scope; + Interactable.prototype.draggable = drag.draggable; + actions.map.drag = drag; + actions.methodDict.drag = 'draggable'; + defaults.actions.drag = drag.defaults; +} + +function beforeMove({ + interaction +}) { + if (interaction.prepared.name !== 'drag') { + return; + } + + const axis = interaction.prepared.axis; + + if (axis === 'x') { + interaction.coords.cur.page.y = interaction.coords.start.page.y; + interaction.coords.cur.client.y = interaction.coords.start.client.y; + interaction.coords.velocity.client.y = 0; + interaction.coords.velocity.page.y = 0; + } else if (axis === 'y') { + interaction.coords.cur.page.x = interaction.coords.start.page.x; + interaction.coords.cur.client.x = interaction.coords.start.client.x; + interaction.coords.velocity.client.x = 0; + interaction.coords.velocity.page.x = 0; + } +} + +function move({ + iEvent, + interaction +}) { + if (interaction.prepared.name !== 'drag') { + return; + } + + const axis = interaction.prepared.axis; + + if (axis === 'x' || axis === 'y') { + const opposite = axis === 'x' ? 'y' : 'x'; + iEvent.page[opposite] = interaction.coords.start.page[opposite]; + iEvent.client[opposite] = interaction.coords.start.client[opposite]; + iEvent.delta[opposite] = 0; + } +} +/** + * ```js + * interact(element).draggable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // the axis in which the first movement must be + * // for the drag sequence to start + * // 'xy' by default - any direction + * startAxis: 'x' || 'y' || 'xy', + * + * // 'xy' by default - don't restrict to one axis (move in any direction) + * // 'x' or 'y' to restrict movement to either axis + * // 'start' to restrict movement to the axis the drag started in + * lockAxis: 'x' || 'y' || 'xy' || 'start', + * + * // max number of drags that can happen concurrently + * // with elements of this Interactable. Infinity by default + * max: Infinity, + * + * // max number of drags that can target the same element+Interactable + * // 1 by default + * maxPerElement: 2 + * }) + * + * var isDraggable = interact('element').draggable(); // true + * ``` + * + * Get or set whether drag actions can be performed on the target + * + * @alias Interactable.prototype.draggable + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on drag events (object makes the Interactable + * draggable) + * @return {boolean | Interactable} boolean indicating if this can be the + * target of drag events, or this Interctable + */ + + +const plugin_draggable = function draggable(options) { + if (is.object(options)) { + this.options.drag.enabled = options.enabled !== false; + this.setPerAction('drag', options); + this.setOnEvents('drag', options); + + if (/^(xy|x|y|start)$/.test(options.lockAxis)) { + this.options.drag.lockAxis = options.lockAxis; + } + + if (/^(xy|x|y)$/.test(options.startAxis)) { + this.options.drag.startAxis = options.startAxis; + } + + return this; + } + + if (is.bool(options)) { + this.options.drag.enabled = options; + return this; + } + + return this.options.drag; +}; + +const drag = { + id: 'actions/drag', + install: plugin_install, + listeners: { + 'interactions:before-action-move': beforeMove, + 'interactions:action-resume': beforeMove, + // dragmove + 'interactions:action-move': move, + 'auto-start:check': arg => { + const { + interaction, + interactable, + buttons + } = arg; + const dragOptions = interactable.options.drag; + + if (!(dragOptions && dragOptions.enabled) || // check mouseButton setting if the pointer is down + interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options.drag.mouseButtons) === 0) { + return undefined; + } + + arg.action = { + name: 'drag', + axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis + }; + return false; + } + }, + draggable: plugin_draggable, + beforeMove, + move, + defaults: { + startAxis: 'xy', + lockAxis: 'xy' + }, + + getCursor() { + return 'move'; + } + +}; +/* harmony default export */ var drag_plugin = (drag); +//# sourceMappingURL=plugin.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/actions/drag/index.js +/* eslint-disable import/order, no-console, eol-last */ + + + +if (typeof window === 'object' && !!window) { + interact_init(window); +} // eslint-disable-next-line no-undef + + +if (( true) && !_interactjs_interact.__warnedUseImport) { + _interactjs_interact.__warnedUseImport = true; + console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.'); +} + +_interactjs_interact.use(drag_plugin); +//# sourceMappingURL=index.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/actions/resize/plugin.js + + + + + +function resize_plugin_install(scope) { + const { + actions, + browser, + + /** @lends Interactable */ + Interactable, + // tslint:disable-line no-shadowed-variable + defaults + } = scope; // Less Precision with touch input + + resize.cursors = initCursors(browser); + resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; + /** + * ```js + * interact(element).resizable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * edges: { + * top : true, // Use pointer coords to check for resize. + * left : false, // Disable resizing from left edge. + * bottom: '.resize-s',// Resize if pointer target matches selector + * right : handleEl // Resize if pointer target is the given Element + * }, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height are adjusted at a 1:1 ratio. + * square: false, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height maintain the aspect ratio they had when resizing started. + * preserveAspectRatio: false, + * + * // a value of 'none' will limit the resize rect to a minimum of 0x0 + * // 'negate' will allow the rect to have negative width/height + * // 'reposition' will keep the width/height positive by swapping + * // the top and bottom edges and/or swapping the left and right edges + * invert: 'none' || 'negate' || 'reposition' + * + * // limit multiple resizes. + * // See the explanation in the {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isResizeable = interact(element).resizable() + * ``` + * + * Gets or sets whether resize actions can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on resize events (object makes the Interactable + * resizable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of resize elements, or this Interactable + */ + + Interactable.prototype.resizable = function (options) { + return resizable(this, options, scope); + }; + + actions.map.resize = resize; + actions.methodDict.resize = 'resizable'; + defaults.actions.resize = resize.defaults; +} + +function resizeChecker(arg) { + const { + interaction, + interactable, + element, + rect, + buttons + } = arg; + + if (!rect) { + return undefined; + } + + const page = extend({}, interaction.coords.cur.page); + const resizeOptions = interactable.options.resize; + + if (!(resizeOptions && resizeOptions.enabled) || // check mouseButton setting if the pointer is down + interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & resizeOptions.mouseButtons) === 0) { + return undefined; + } // if using resize.edges + + + if (is.object(resizeOptions.edges)) { + const resizeEdges = { + left: false, + right: false, + top: false, + bottom: false + }; + + for (const edge in resizeEdges) { + resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || resize.defaultMargin); + } + + resizeEdges.left = resizeEdges.left && !resizeEdges.right; + resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; + + if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { + arg.action = { + name: 'resize', + edges: resizeEdges + }; + } + } else { + const right = resizeOptions.axis !== 'y' && page.x > rect.right - resize.defaultMargin; + const bottom = resizeOptions.axis !== 'x' && page.y > rect.bottom - resize.defaultMargin; + + if (right || bottom) { + arg.action = { + name: 'resize', + axes: (right ? 'x' : '') + (bottom ? 'y' : '') + }; + } + } + + return arg.action ? false : undefined; +} + +function resizable(interactable, options, scope) { + if (is.object(options)) { + interactable.options.resize.enabled = options.enabled !== false; + interactable.setPerAction('resize', options); + interactable.setOnEvents('resize', options); + + if (is.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { + interactable.options.resize.axis = options.axis; + } else if (options.axis === null) { + interactable.options.resize.axis = scope.defaults.actions.resize.axis; + } + + if (is.bool(options.preserveAspectRatio)) { + interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; + } else if (is.bool(options.square)) { + interactable.options.resize.square = options.square; + } + + return interactable; + } + + if (is.bool(options)) { + interactable.options.resize.enabled = options; + return interactable; + } + + return interactable.options.resize; +} + +function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { + // false, '', undefined, null + if (!value) { + return false; + } // true value, use pointer coords and element rect + + + if (value === true) { + // if dimensions are negative, "switch" edges + const width = is.number(rect.width) ? rect.width : rect.right - rect.left; + const height = is.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension + + margin = Math.min(margin, Math.abs((name === 'left' || name === 'right' ? width : height) / 2)); + + if (width < 0) { + if (name === 'left') { + name = 'right'; + } else if (name === 'right') { + name = 'left'; + } + } + + if (height < 0) { + if (name === 'top') { + name = 'bottom'; + } else if (name === 'bottom') { + name = 'top'; + } + } + + if (name === 'left') { + return page.x < (width >= 0 ? rect.left : rect.right) + margin; + } + + if (name === 'top') { + return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; + } + + if (name === 'right') { + return page.x > (width >= 0 ? rect.right : rect.left) - margin; + } + + if (name === 'bottom') { + return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; + } + } // the remaining checks require an element + + + if (!is.element(element)) { + return false; + } + + return is.element(value) // the value is an element to use as a resize handle + ? value === element // otherwise check if element matches value as selector + : matchesUpTo(element, value, interactableElement); +} + +function initCursors(browser) { + return browser.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 start({ + iEvent, + interaction +}) { + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + const resizeEvent = iEvent; + const rect = interaction.rect; + interaction._rects = { + start: extend({}, rect), + corrected: extend({}, rect), + previous: extend({}, rect), + delta: { + left: 0, + right: 0, + width: 0, + top: 0, + bottom: 0, + height: 0 + } + }; + resizeEvent.edges = interaction.prepared.edges; + resizeEvent.rect = interaction._rects.corrected; + resizeEvent.deltaRect = interaction._rects.delta; +} + +function plugin_move({ + iEvent, + interaction +}) { + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + const resizeEvent = iEvent; + const resizeOptions = interaction.interactable.options.resize; + const invert = resizeOptions.invert; + const invertible = invert === 'reposition' || invert === 'negate'; // eslint-disable-next-line no-shadow + + const current = interaction.rect; + const { + start: startRect, + corrected, + delta: deltaRect, + previous + } = interaction._rects; + extend(previous, corrected); + + if (invertible) { + // if invertible, copy the current rect + extend(corrected, current); + + if (invert === 'reposition') { + // swap edge values if necessary to keep width/height positive + if (corrected.top > corrected.bottom) { + const swap = corrected.top; + corrected.top = corrected.bottom; + corrected.bottom = swap; + } + + if (corrected.left > corrected.right) { + const swap = corrected.left; + corrected.left = corrected.right; + corrected.right = swap; + } + } + } else { + // if not invertible, restrict to minimum of 0x0 rect + corrected.top = Math.min(current.top, startRect.bottom); + corrected.bottom = Math.max(current.bottom, startRect.top); + corrected.left = Math.min(current.left, startRect.right); + corrected.right = Math.max(current.right, startRect.left); + } + + corrected.width = corrected.right - corrected.left; + corrected.height = corrected.bottom - corrected.top; + + for (const edge in corrected) { + deltaRect[edge] = corrected[edge] - previous[edge]; + } + + resizeEvent.edges = interaction.prepared.edges; + resizeEvent.rect = corrected; + resizeEvent.deltaRect = deltaRect; +} + +function end({ + iEvent, + interaction +}) { + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + const resizeEvent = iEvent; + resizeEvent.edges = interaction.prepared.edges; + resizeEvent.rect = interaction._rects.corrected; + resizeEvent.deltaRect = interaction._rects.delta; +} + +function updateEventAxes({ + iEvent, + interaction +}) { + if (interaction.prepared.name !== 'resize' || !interaction.resizeAxes) { + return; + } + + const options = interaction.interactable.options; + const resizeEvent = iEvent; + + if (options.resize.square) { + if (interaction.resizeAxes === 'y') { + resizeEvent.delta.x = resizeEvent.delta.y; + } else { + resizeEvent.delta.y = resizeEvent.delta.x; + } + + resizeEvent.axes = 'xy'; + } else { + resizeEvent.axes = interaction.resizeAxes; + + if (interaction.resizeAxes === 'x') { + resizeEvent.delta.y = 0; + } else if (interaction.resizeAxes === 'y') { + resizeEvent.delta.x = 0; + } + } +} + +const resize = { + id: 'actions/resize', + before: ['actions/drag'], + install: resize_plugin_install, + listeners: { + 'interactions:new': ({ + interaction + }) => { + interaction.resizeAxes = 'xy'; + }, + 'interactions:action-start': arg => { + start(arg); + updateEventAxes(arg); + }, + 'interactions:action-move': arg => { + plugin_move(arg); + updateEventAxes(arg); + }, + 'interactions:action-end': end, + 'auto-start:check': resizeChecker + }, + defaults: { + square: false, + preserveAspectRatio: false, + axis: 'xy', + // use default margin + margin: NaN, + // object with props left, right, top, bottom which are + // true/false values to resize when the pointer is over that edge, + // CSS selectors to match the handles for each direction + // or the Elements for each handle + edges: null, + // a value of 'none' will limit the resize rect to a minimum of 0x0 + // 'negate' will alow the rect to have negative width/height + // 'reposition' will keep the width/height positive by swapping + // the top and bottom edges and/or swapping the left and right edges + invert: 'none' + }, + cursors: null, + + getCursor({ + edges, + axis, + name + }) { + const cursors = resize.cursors; + let result = null; + + if (axis) { + result = cursors[name + axis]; + } else if (edges) { + let cursorKey = ''; + + for (const edge of ['top', 'bottom', 'left', 'right']) { + if (edges[edge]) { + cursorKey += edge; + } + } + + result = cursors[cursorKey]; + } + + return result; + }, + + defaultMargin: null +}; +/* harmony default export */ var resize_plugin = (resize); +//# sourceMappingURL=plugin.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/actions/resize/index.js +/* eslint-disable import/order, no-console, eol-last */ + + + +if (typeof window === 'object' && !!window) { + interact_init(window); +} // eslint-disable-next-line no-undef + + +if (( true) && !_interactjs_interact.__warnedUseImport) { + _interactjs_interact.__warnedUseImport = true; + console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.'); +} + +_interactjs_interact.use(resize_plugin); +//# sourceMappingURL=index.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/snappers/edgeTarget.js +/* harmony default export */ var edgeTarget = (() => {}); +//# sourceMappingURL=edgeTarget.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/snappers/elements.js +/* harmony default export */ var snappers_elements = (() => {}); +//# sourceMappingURL=elements.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/snappers/grid.js +/* harmony default export */ var grid = (grid => { + const coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(([xField, yField]) => xField in grid || yField in grid); + + const gridFunc = (x, y) => { + const { + range, + limits = { + left: -Infinity, + right: Infinity, + top: -Infinity, + bottom: Infinity + }, + offset = { + x: 0, + y: 0 + } + } = grid; + const result = { + range, + grid, + x: null, + y: null + }; + + for (const [xField, yField] of coordFields) { + const gridx = Math.round((x - offset.x) / grid[xField]); + const gridy = Math.round((y - offset.y) / grid[yField]); + result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); + result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); + } + + return result; + }; + + gridFunc.grid = grid; + gridFunc.coordFields = coordFields; + return gridFunc; +}); +//# sourceMappingURL=grid.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/snappers/all.js + + + +//# sourceMappingURL=all.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/snappers/plugin.js + + +const snappersPlugin = { + id: 'snappers', + + install(scope) { + const { + interactStatic: interact + } = scope; + interact.snappers = extend(interact.snappers || {}, all_namespaceObject); + interact.createSnapGrid = interact.snappers.grid; + } + +}; +/* harmony default export */ var snappers_plugin = (snappersPlugin); +//# sourceMappingURL=plugin.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/Modification.js + + + +class Modification_Modification { + constructor(interaction) { + this.states = []; + this.startOffset = { + left: 0, + right: 0, + top: 0, + bottom: 0 + }; + this.startDelta = null; + this.result = null; + this.endResult = null; + this.edges = void 0; + this.interaction = void 0; + this.interaction = interaction; + this.result = createResult(); + } + + start({ + phase + }, pageCoords) { + const { + interaction + } = this; + const modifierList = getModifierList(interaction); + this.prepareStates(modifierList); + this.edges = extend({}, interaction.edges); + this.startOffset = getRectOffset(interaction.rect, pageCoords); + this.startDelta = { + x: 0, + y: 0 + }; + const arg = { + phase, + pageCoords, + preEnd: false + }; + this.result = createResult(); + this.startAll(arg); + const result = this.result = this.setAll(arg); + return result; + } + + fillArg(arg) { + const { + interaction + } = this; + arg.interaction = interaction; + arg.interactable = interaction.interactable; + arg.element = interaction.element; + arg.rect = arg.rect || interaction.rect; + arg.edges = this.edges; + arg.startOffset = this.startOffset; + } + + startAll(arg) { + this.fillArg(arg); + + for (const state of this.states) { + if (state.methods.start) { + arg.state = state; + state.methods.start(arg); + } + } + } + + setAll(arg) { + this.fillArg(arg); + const { + phase, + preEnd, + skipModifiers, + rect: unmodifiedRect + } = arg; + arg.coords = extend({}, arg.pageCoords); + arg.rect = extend({}, unmodifiedRect); + const states = skipModifiers ? this.states.slice(skipModifiers) : this.states; + const newResult = createResult(arg.coords, arg.rect); + + for (const state of states) { + const { + options + } = state; + const lastModifierCoords = extend({}, arg.coords); + let returnValue = null; + + if (state.methods.set && this.shouldDo(options, preEnd, phase)) { + arg.state = state; + returnValue = state.methods.set(arg); + addEdges(this.interaction.edges, arg.rect, { + x: arg.coords.x - lastModifierCoords.x, + y: arg.coords.y - lastModifierCoords.y + }); + } + + newResult.eventProps.push(returnValue); + } + + newResult.delta.x = arg.coords.x - arg.pageCoords.x; + newResult.delta.y = arg.coords.y - arg.pageCoords.y; + newResult.rectDelta.left = arg.rect.left - unmodifiedRect.left; + newResult.rectDelta.right = arg.rect.right - unmodifiedRect.right; + newResult.rectDelta.top = arg.rect.top - unmodifiedRect.top; + newResult.rectDelta.bottom = arg.rect.bottom - unmodifiedRect.bottom; + const prevCoords = this.result.coords; + const prevRect = this.result.rect; + + if (prevCoords && prevRect) { + const rectChanged = newResult.rect.left !== prevRect.left || newResult.rect.right !== prevRect.right || newResult.rect.top !== prevRect.top || newResult.rect.bottom !== prevRect.bottom; + newResult.changed = rectChanged || prevCoords.x !== newResult.coords.x || prevCoords.y !== newResult.coords.y; + } + + return newResult; + } + + applyToInteraction(arg) { + const { + interaction + } = this; + const { + phase + } = arg; + const curCoords = interaction.coords.cur; + const startCoords = interaction.coords.start; + const { + result, + startDelta + } = this; + const curDelta = result.delta; + + if (phase === 'start') { + extend(this.startDelta, result.delta); + } + + for (const [coordsSet, delta] of [[startCoords, startDelta], [curCoords, curDelta]]) { + coordsSet.page.x += delta.x; + coordsSet.page.y += delta.y; + coordsSet.client.x += delta.x; + coordsSet.client.y += delta.y; + } + + const { + rectDelta + } = this.result; + const rect = arg.rect || interaction.rect; + rect.left += rectDelta.left; + rect.right += rectDelta.right; + rect.top += rectDelta.top; + rect.bottom += rectDelta.bottom; + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + setAndApply(arg) { + const { + interaction + } = this; + const { + phase, + preEnd, + skipModifiers + } = arg; + const result = this.setAll({ + preEnd, + phase, + pageCoords: arg.modifiedCoords || interaction.coords.cur.page + }); + this.result = result; // don't fire an action move if a modifier would keep the event in the same + // cordinates as before + + if (!result.changed && (!skipModifiers || skipModifiers < this.states.length) && interaction.interacting()) { + return false; + } + + if (arg.modifiedCoords) { + const { + page + } = interaction.coords.cur; + const adjustment = { + x: arg.modifiedCoords.x - page.x, + y: arg.modifiedCoords.y - page.y + }; + result.coords.x += adjustment.x; + result.coords.y += adjustment.y; + result.delta.x += adjustment.x; + result.delta.y += adjustment.y; + } + + this.applyToInteraction(arg); + } + + beforeEnd(arg) { + const { + interaction, + event + } = arg; + const states = this.states; + + if (!states || !states.length) { + return; + } + + let doPreend = false; + + for (const state of states) { + arg.state = state; + const { + options, + methods + } = state; + const endPosition = methods.beforeEnd && methods.beforeEnd(arg); + + if (endPosition) { + this.endResult = endPosition; + return false; + } + + doPreend = doPreend || !doPreend && this.shouldDo(options, true, arg.phase, true); + } + + if (doPreend) { + // trigger a final modified move before ending + interaction.move({ + event, + preEnd: true + }); + } + } + + stop(arg) { + const { + interaction + } = arg; + + if (!this.states || !this.states.length) { + return; + } + + const modifierArg = extend({ + states: this.states, + interactable: interaction.interactable, + element: interaction.element, + rect: null + }, arg); + this.fillArg(modifierArg); + + for (const state of this.states) { + modifierArg.state = state; + + if (state.methods.stop) { + state.methods.stop(modifierArg); + } + } + + this.states = null; + this.endResult = null; + } + + prepareStates(modifierList) { + this.states = []; + + for (let index = 0; index < modifierList.length; index++) { + const { + options, + methods, + name + } = modifierList[index]; + this.states.push({ + options, + methods, + index, + name + }); + } + + return this.states; + } + + restoreInteractionCoords({ + interaction: { + coords, + rect, + modification + } + }) { + if (!modification.result) { + return; + } + + const { + startDelta + } = modification; + const { + delta: curDelta, + rectDelta + } = modification.result; + const coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; + + for (const [coordsSet, delta] of coordsAndDeltas) { + coordsSet.page.x -= delta.x; + coordsSet.page.y -= delta.y; + coordsSet.client.x -= delta.x; + coordsSet.client.y -= delta.y; + } + + rect.left -= rectDelta.left; + rect.right -= rectDelta.right; + rect.top -= rectDelta.top; + rect.bottom -= rectDelta.bottom; + } + + shouldDo(options, preEnd, phase, requireEndOnly) { + if ( // ignore disabled modifiers + !options || options.enabled === false || // check if we require endOnly option to fire move before end + requireEndOnly && !options.endOnly || // don't apply endOnly modifiers when not ending + options.endOnly && !preEnd || // check if modifier should run be applied on start + phase === 'start' && !options.setStart) { + return false; + } + + return true; + } + + copyFrom(other) { + this.startOffset = other.startOffset; + this.startDelta = other.startDelta; + this.edges = other.edges; + this.states = other.states.map(s => clone(s)); + this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect)); + } + + destroy() { + for (const prop in this) { + this[prop] = null; + } + } + +} + +function createResult(coords, rect) { + return { + rect, + coords, + delta: { + x: 0, + y: 0 + }, + rectDelta: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + eventProps: [], + changed: true + }; +} + +function getModifierList(interaction) { + const actionOptions = interaction.interactable.options[interaction.prepared.name]; + const actionModifiers = actionOptions.modifiers; + + if (actionModifiers && actionModifiers.length) { + return actionModifiers; + } + + return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(type => { + const options = actionOptions[type]; + return options && options.enabled && { + options, + methods: options._methods + }; + }).filter(m => !!m); +} + +function getRectOffset(rect, coords) { + return rect ? { + left: coords.x - rect.left, + top: coords.y - rect.top, + right: rect.right - coords.x, + bottom: rect.bottom - coords.y + } : { + left: 0, + top: 0, + right: 0, + bottom: 0 + }; +} +//# sourceMappingURL=Modification.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/base.js + +function makeModifier(module, name) { + const { + defaults + } = module; + const methods = { + start: module.start, + set: module.set, + beforeEnd: module.beforeEnd, + stop: module.stop + }; + + const modifier = _options => { + const options = _options || {}; + options.enabled = options.enabled !== false; // add missing defaults to options + + for (const prop in defaults) { + if (!(prop in options)) { + options[prop] = defaults[prop]; + } + } + + const m = { + options, + methods, + name, + enable: () => { + options.enabled = true; + return m; + }, + disable: () => { + options.enabled = false; + return m; + } + }; + return m; + }; + + if (name && typeof name === 'string') { + // for backwrads compatibility + modifier._defaults = defaults; + modifier._methods = methods; + } + + return modifier; +} +function addEventModifiers({ + iEvent, + interaction: { + modification: { + result + } + } +}) { + if (result) { + iEvent.modifiers = result.eventProps; + } +} +const modifiersBase = { + id: 'modifiers/base', + before: ['actions'], + install: scope => { + scope.defaults.perAction.modifiers = []; + }, + listeners: { + 'interactions:new': ({ + interaction + }) => { + interaction.modification = new Modification_Modification(interaction); + }, + 'interactions:before-action-start': arg => { + const { + modification + } = arg.interaction; + modification.start(arg, arg.interaction.coords.start.page); + arg.interaction.edges = modification.edges; + modification.applyToInteraction(arg); + }, + 'interactions:before-action-move': arg => arg.interaction.modification.setAndApply(arg), + 'interactions:before-action-end': arg => arg.interaction.modification.beforeEnd(arg), + 'interactions:action-start': addEventModifiers, + 'interactions:action-move': addEventModifiers, + 'interactions:action-end': addEventModifiers, + 'interactions:after-action-start': arg => arg.interaction.modification.restoreInteractionCoords(arg), + 'interactions:after-action-move': arg => arg.interaction.modification.restoreInteractionCoords(arg), + 'interactions:stop': arg => arg.interaction.modification.stop(arg) + } +}; +/* harmony default export */ var modifiers_base = (modifiersBase); +//# sourceMappingURL=base.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/aspectRatio.js +/** + * @module modifiers/aspectRatio + * + * @description + * This module forces elements to be resized with a specified dx/dy ratio. + * + * ```js + * interact(target).resizable({ + * modifiers: [ + * interact.modifiers.snapSize({ + * targets: [ interact.createSnapGrid({ x: 20, y: 20 }) ], + * }), + * interact.aspectRatio({ ratio: 'preserve' }), + * ], + * }); + * ``` + */ + + + + +const aspectRatio = { + start(arg) { + const { + state, + rect, + edges: originalEdges, + pageCoords: coords + } = arg; + let { + ratio + } = state.options; + const { + equalDelta, + modifiers + } = state.options; + + if (ratio === 'preserve') { + ratio = rect.width / rect.height; + } + + state.startCoords = extend({}, coords); + state.startRect = extend({}, rect); + state.ratio = ratio; + state.equalDelta = equalDelta; + const linkedEdges = state.linkedEdges = { + top: originalEdges.top || originalEdges.left && !originalEdges.bottom, + left: originalEdges.left || originalEdges.top && !originalEdges.right, + bottom: originalEdges.bottom || originalEdges.right && !originalEdges.top, + right: originalEdges.right || originalEdges.bottom && !originalEdges.left + }; + state.xIsPrimaryAxis = !!(originalEdges.left || originalEdges.right); + + if (state.equalDelta) { + state.edgeSign = (linkedEdges.left ? 1 : -1) * (linkedEdges.top ? 1 : -1); + } else { + const negativeSecondaryEdge = state.xIsPrimaryAxis ? linkedEdges.top : linkedEdges.left; + state.edgeSign = negativeSecondaryEdge ? -1 : 1; + } + + extend(arg.edges, linkedEdges); + + if (!modifiers || !modifiers.length) { + return; + } + + const subModification = new Modification_Modification(arg.interaction); + subModification.copyFrom(arg.interaction.modification); + subModification.prepareStates(modifiers); + state.subModification = subModification; + subModification.startAll({ ...arg + }); + }, + + set(arg) { + const { + state, + rect, + coords + } = arg; + const initialCoords = extend({}, coords); + const aspectMethod = state.equalDelta ? setEqualDelta : setRatio; + aspectMethod(state, state.xIsPrimaryAxis, coords, rect); + + if (!state.subModification) { + return null; + } + + const correctedRect = extend({}, rect); + addEdges(state.linkedEdges, correctedRect, { + x: coords.x - initialCoords.x, + y: coords.y - initialCoords.y + }); + const result = state.subModification.setAll({ ...arg, + rect: correctedRect, + edges: state.linkedEdges, + pageCoords: coords, + prevCoords: coords, + prevRect: correctedRect + }); + const { + delta + } = result; + + if (result.changed) { + const xIsCriticalAxis = Math.abs(delta.x) > Math.abs(delta.y); // do aspect modification again with critical edge axis as primary + + aspectMethod(state, xIsCriticalAxis, result.coords, result.rect); + extend(coords, result.coords); + } + + return result.eventProps; + }, + + defaults: { + ratio: 'preserve', + equalDelta: false, + modifiers: [], + enabled: false + } +}; + +function setEqualDelta({ + startCoords, + edgeSign +}, xIsPrimaryAxis, coords) { + if (xIsPrimaryAxis) { + coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign; + } else { + coords.x = startCoords.x + (coords.y - startCoords.y) * edgeSign; + } +} + +function setRatio({ + startRect, + startCoords, + ratio, + edgeSign +}, xIsPrimaryAxis, coords, rect) { + if (xIsPrimaryAxis) { + const newHeight = rect.width / ratio; + coords.y = startCoords.y + (newHeight - startRect.height) * edgeSign; + } else { + const newWidth = rect.height * ratio; + coords.x = startCoords.x + (newWidth - startRect.width) * edgeSign; + } +} + +/* harmony default export */ var modifiers_aspectRatio = (makeModifier(aspectRatio, 'aspectRatio')); + +//# sourceMappingURL=aspectRatio.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/noop.js +const noop = () => {}; + +noop._defaults = {}; +/* harmony default export */ var modifiers_noop = (noop); +//# sourceMappingURL=noop.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/restrict/pointer.js + + + + + +function pointer_start({ + rect, + startOffset, + state, + interaction, + pageCoords +}) { + const { + options + } = state; + const { + elementRect + } = options; + const offset = extend({ + left: 0, + top: 0, + right: 0, + bottom: 0 + }, options.offset || {}); + + if (rect && elementRect) { + const restriction = getRestrictionRect(options.restriction, interaction, pageCoords); + + if (restriction) { + const widthDiff = restriction.right - restriction.left - rect.width; + const heightDiff = restriction.bottom - restriction.top - rect.height; + + if (widthDiff < 0) { + offset.left += widthDiff; + offset.right += widthDiff; + } + + if (heightDiff < 0) { + offset.top += heightDiff; + offset.bottom += heightDiff; + } + } + + offset.left += startOffset.left - rect.width * elementRect.left; + offset.top += startOffset.top - rect.height * elementRect.top; + offset.right += startOffset.right - rect.width * (1 - elementRect.right); + offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); + } + + state.offset = offset; +} + +function set({ + coords, + interaction, + state +}) { + const { + options, + offset + } = state; + const restriction = getRestrictionRect(options.restriction, interaction, coords); + + if (!restriction) { + return; + } + + const rect = xywhToTlbr(restriction); + coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); + coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); +} + +function getRestrictionRect(value, interaction, coords) { + if (is.func(value)) { + return resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); + } else { + return resolveRectLike(value, interaction.interactable, interaction.element); + } +} +const pointer_defaults = { + restriction: null, + elementRect: null, + offset: null, + endOnly: false, + enabled: false +}; +const restrict = { + start: pointer_start, + set, + defaults: pointer_defaults +}; +/* harmony default export */ var restrict_pointer = (makeModifier(restrict, 'restrict')); + +//# sourceMappingURL=pointer.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/restrict/edges.js +// This module adds the options.resize.restrictEdges setting which sets min and +// max for the top, left, bottom and right edges of the target being resized. +// +// interact(target).resize({ +// edges: { top: true, left: true }, +// restrictEdges: { +// inner: { top: 200, left: 200, right: 400, bottom: 400 }, +// outer: { top: 0, left: 0, right: 600, bottom: 600 }, +// }, +// }) + + + + +const noInner = { + top: +Infinity, + left: +Infinity, + bottom: -Infinity, + right: -Infinity +}; +const noOuter = { + top: -Infinity, + left: -Infinity, + bottom: +Infinity, + right: +Infinity +}; + +function edges_start({ + interaction, + startOffset, + state +}) { + const { + options + } = state; + let offset; + + if (options) { + const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page); + offset = rectToXY(offsetRect); + } + + offset = offset || { + x: 0, + y: 0 + }; + state.offset = { + top: offset.y + startOffset.top, + left: offset.x + startOffset.left, + bottom: offset.y - startOffset.bottom, + right: offset.x - startOffset.right + }; +} + +function edges_set({ + coords, + edges, + interaction, + state +}) { + const { + offset, + options + } = state; + + if (!edges) { + return; + } + + const page = extend({}, coords); + const inner = getRestrictionRect(options.inner, interaction, page) || {}; + const outer = getRestrictionRect(options.outer, interaction, page) || {}; + fixRect(inner, noInner); + fixRect(outer, noOuter); + + if (edges.top) { + coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); + } else if (edges.bottom) { + coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); + } + + if (edges.left) { + coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); + } else if (edges.right) { + coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); + } +} + +function fixRect(rect, defaults) { + for (const edge of ['top', 'left', 'bottom', 'right']) { + if (!(edge in rect)) { + rect[edge] = defaults[edge]; + } + } + + return rect; +} + +const edges_defaults = { + inner: null, + outer: null, + offset: null, + endOnly: false, + enabled: false +}; +const restrictEdges = { + noInner, + noOuter, + start: edges_start, + set: edges_set, + defaults: edges_defaults +}; +/* harmony default export */ var restrict_edges = (makeModifier(restrictEdges, 'restrictEdges')); + +//# sourceMappingURL=edges.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/restrict/rect.js + + + +const rect_defaults = extend({ + get elementRect() { + return { + top: 0, + left: 0, + bottom: 1, + right: 1 + }; + }, + + set elementRect(_) {} + +}, restrict.defaults); +const restrictRect = { + start: restrict.start, + set: restrict.set, + defaults: rect_defaults +}; +/* harmony default export */ var restrict_rect = (makeModifier(restrictRect, 'restrictRect')); + +//# sourceMappingURL=rect.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/restrict/size.js + + + + + +const noMin = { + width: -Infinity, + height: -Infinity +}; +const noMax = { + width: +Infinity, + height: +Infinity +}; + +function size_start(arg) { + return restrictEdges.start(arg); +} + +function size_set(arg) { + const { + interaction, + state, + rect, + edges + } = arg; + const { + options + } = state; + + if (!edges) { + return; + } + + const minSize = tlbrToXywh(getRestrictionRect(options.min, interaction, arg.coords)) || noMin; + const maxSize = tlbrToXywh(getRestrictionRect(options.max, interaction, arg.coords)) || noMax; + state.options = { + endOnly: options.endOnly, + inner: extend({}, restrictEdges.noInner), + outer: extend({}, restrictEdges.noOuter) + }; + + if (edges.top) { + state.options.inner.top = rect.bottom - minSize.height; + state.options.outer.top = rect.bottom - maxSize.height; + } else if (edges.bottom) { + state.options.inner.bottom = rect.top + minSize.height; + state.options.outer.bottom = rect.top + maxSize.height; + } + + if (edges.left) { + state.options.inner.left = rect.right - minSize.width; + state.options.outer.left = rect.right - maxSize.width; + } else if (edges.right) { + state.options.inner.right = rect.left + minSize.width; + state.options.outer.right = rect.left + maxSize.width; + } + + restrictEdges.set(arg); + state.options = options; +} + +const size_defaults = { + min: null, + max: null, + endOnly: false, + enabled: false +}; +const restrictSize = { + start: size_start, + set: size_set, + defaults: size_defaults +}; +/* harmony default export */ var size = (makeModifier(restrictSize, 'restrictSize')); + +//# sourceMappingURL=size.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/snap/pointer.js + + + + + + + +function snap_pointer_start(arg) { + const { + interaction, + interactable, + element, + rect, + state, + startOffset + } = arg; + const { + options + } = state; + const origin = options.offsetWithOrigin ? getOrigin(arg) : { + x: 0, + y: 0 + }; + let snapOffset; + + if (options.offset === 'startCoords') { + snapOffset = { + x: interaction.coords.start.page.x, + y: interaction.coords.start.page.y + }; + } else { + const offsetRect = resolveRectLike(options.offset, interactable, element, [interaction]); + snapOffset = rectToXY(offsetRect) || { + x: 0, + y: 0 + }; + snapOffset.x += origin.x; + snapOffset.y += origin.y; + } + + const { + relativePoints + } = options; + state.offsets = rect && relativePoints && relativePoints.length ? relativePoints.map((relativePoint, index) => ({ + index, + relativePoint, + x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, + y: startOffset.top - rect.height * relativePoint.y + snapOffset.y + })) : [extend({ + index: 0, + relativePoint: null + }, snapOffset)]; +} + +function pointer_set(arg) { + const { + interaction, + coords, + state + } = arg; + const { + options, + offsets + } = state; + const origin = getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); + const page = extend({}, coords); + const targets = []; + + if (!options.offsetWithOrigin) { + page.x -= origin.x; + page.y -= origin.y; + } + + for (const offset of offsets) { + const relativeX = page.x - offset.x; + const relativeY = page.y - offset.y; + + for (let index = 0, len = options.targets.length; index < len; index++) { + const snapTarget = options.targets[index]; + let target; + + if (is.func(snapTarget)) { + target = snapTarget(relativeX, relativeY, interaction._proxy, offset, index); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + targets.push({ + x: (is.number(target.x) ? target.x : relativeX) + offset.x, + y: (is.number(target.y) ? target.y : relativeY) + offset.y, + range: is.number(target.range) ? target.range : options.range, + source: snapTarget, + index, + offset + }); + } + } + + const closest = { + target: null, + inRange: false, + distance: 0, + range: 0, + delta: { + x: 0, + y: 0 + } + }; + + for (const target of targets) { + const range = target.range; + const dx = target.x - page.x; + const dy = target.y - page.y; + const distance = hypot(dx, dy); + let inRange = distance <= range; // Infinite targets count as being out of range + // compared to non infinite ones that are in range + + if (range === Infinity && closest.inRange && closest.range !== Infinity) { + inRange = false; + } + + if (!closest.target || (inRange // is the closest target in range? + ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target + ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't + : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest + distance < closest.distance : // The other is not in range and the pointer is closer to this target + !closest.inRange && distance < closest.distance)) { + closest.target = target; + closest.distance = distance; + closest.range = range; + closest.inRange = inRange; + closest.delta.x = dx; + closest.delta.y = dy; + } + } + + if (closest.inRange) { + coords.x = closest.target.x; + coords.y = closest.target.y; + } + + state.closest = closest; + return closest; +} + +function getOrigin(arg) { + const { + element + } = arg.interaction; + const optionsOrigin = rectToXY(resolveRectLike(arg.state.options.origin, null, null, [element])); + const origin = optionsOrigin || getOriginXY(arg.interactable, element, arg.interaction.prepared.name); + return origin; +} + +const snap_pointer_defaults = { + range: Infinity, + targets: null, + offset: null, + offsetWithOrigin: true, + origin: null, + relativePoints: null, + endOnly: false, + enabled: false +}; +const snap = { + start: snap_pointer_start, + set: pointer_set, + defaults: snap_pointer_defaults +}; +/* harmony default export */ var snap_pointer = (makeModifier(snap, 'snap')); + +//# sourceMappingURL=pointer.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/snap/size.js +// This module allows snapping of the size of targets during resize +// interactions. + + + + + +function snap_size_start(arg) { + const { + state, + edges + } = arg; + const { + options + } = state; + + if (!edges) { + return null; + } + + arg.state = { + options: { + targets: null, + relativePoints: [{ + x: edges.left ? 0 : 1, + y: edges.top ? 0 : 1 + }], + offset: options.offset || 'self', + origin: { + x: 0, + y: 0 + }, + range: options.range + } + }; + state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; + snap.start(arg); + state.offsets = arg.state.offsets; + arg.state = state; +} + +function snap_size_set(arg) { + const { + interaction, + state, + coords + } = arg; + const { + options, + offsets + } = state; + const relative = { + x: coords.x - offsets[0].x, + y: coords.y - offsets[0].y + }; + state.options = extend({}, options); + state.options.targets = []; + + for (const snapTarget of options.targets || []) { + let target; + + if (is.func(snapTarget)) { + target = snapTarget(relative.x, relative.y, interaction); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + for (const [xField, yField] of state.targetFields) { + if (xField in target || yField in target) { + target.x = target[xField]; + target.y = target[yField]; + break; + } + } + + state.options.targets.push(target); + } + + const returnValue = snap.set(arg); + state.options = options; + return returnValue; +} + +const snap_size_defaults = { + range: Infinity, + targets: null, + offset: null, + endOnly: false, + enabled: false }; +const snapSize = { + start: snap_size_start, + set: snap_size_set, + defaults: snap_size_defaults +}; +/* harmony default export */ var snap_size = (makeModifier(snapSize, 'snapSize')); -/***/ }), +//# sourceMappingURL=size.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/snap/edges.js +/** + * @module modifiers/snapEdges + * + * @description + * WOW> This module allows snapping of the edges of targets during resize + * interactions. + * + * ```js + * interact(target).resizable({ + * snapEdges: { + * targets: [interact.snappers.grid({ x: 100, y: 50 })], + * }, + * }) + * + * interact(target).resizable({ + * snapEdges: { + * targets: [ + * interact.snappers.grid({ + * top: 50, + * left: 50, + * bottom: 100, + * right: 100, + * }), + * ], + * }, + * }) + * ``` + */ -/***/ "ac6a": -/***/ (function(module, exports, __webpack_require__) { -var $iterators = __webpack_require__("cadf"); -var getKeys = __webpack_require__("0d58"); -var redefine = __webpack_require__("2aba"); -var global = __webpack_require__("7726"); -var hide = __webpack_require__("32e9"); -var Iterators = __webpack_require__("84f2"); -var wks = __webpack_require__("2b4c"); -var ITERATOR = wks('iterator'); -var TO_STRING_TAG = wks('toStringTag'); -var ArrayValues = Iterators.Array; -var DOMIterables = { - CSSRuleList: true, // TODO: Not spec compliant, should be false. - CSSStyleDeclaration: false, - CSSValueList: false, - ClientRectList: false, - DOMRectList: false, - DOMStringList: false, - DOMTokenList: true, - DataTransferItemList: false, - FileList: false, - HTMLAllCollection: false, - HTMLCollection: false, - HTMLFormElement: false, - HTMLSelectElement: false, - MediaList: true, // TODO: Not spec compliant, should be false. - MimeTypeArray: false, - NamedNodeMap: false, - NodeList: true, - PaintRequestList: false, - Plugin: false, - PluginArray: false, - SVGLengthList: false, - SVGNumberList: false, - SVGPathSegList: false, - SVGPointList: false, - SVGStringList: false, - SVGTransformList: false, - SourceBufferList: false, - StyleSheetList: true, // TODO: Not spec compliant, should be false. - TextTrackCueList: false, - TextTrackList: false, - TouchList: false -}; -for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { - var NAME = collections[i]; - var explicit = DOMIterables[NAME]; - var Collection = global[NAME]; - var proto = Collection && Collection.prototype; - var key; - if (proto) { - if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); - if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = ArrayValues; - if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + +function snap_edges_start(arg) { + const { + edges + } = arg; + + if (!edges) { + return null; } + + arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; + return snapSize.start(arg); } +const snapEdges = { + start: snap_edges_start, + set: snapSize.set, + defaults: extend(clone(snapSize.defaults), { + targets: null, + range: null, + offset: { + x: 0, + y: 0 + } + }) +}; +/* harmony default export */ var snap_edges = (makeModifier(snapEdges, 'snapEdges')); -/***/ }), +//# sourceMappingURL=edges.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/all.js +/* eslint-disable node/no-extraneous-import */ -/***/ "ad20": -/***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__("2350")(false); -// imports -// module -exports.push([module.i, ".vue-grid-layout{position:relative;-webkit-transition:height .2s ease;transition:height .2s ease}", ""]); -// exports -/***/ }), -/***/ "aebd": -/***/ (function(module, exports) { -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; + + + +/* harmony default export */ var modifiers_all = ({ + aspectRatio: modifiers_aspectRatio, + restrictEdges: restrict_edges, + restrict: restrict_pointer, + restrictRect: restrict_rect, + restrictSize: size, + snapEdges: snap_edges, + snap: snap_pointer, + snapSize: snap_size, + spring: modifiers_noop, + avoid: modifiers_noop, + transform: modifiers_noop, + rubberband: modifiers_noop +}); +//# sourceMappingURL=all.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/plugin.js + + + +const plugin_modifiers = { + id: 'modifiers', + + install(scope) { + const { + interactStatic: interact + } = scope; + scope.usePlugin(modifiers_base); + scope.usePlugin(snappers_plugin); + interact.modifiers = modifiers_all; // for backwrads compatibility + + for (const type in modifiers_all) { + const { + _defaults, + _methods + } = modifiers_all[type]; + _defaults._methods = _methods; + scope.defaults.perAction[type] = _defaults; + } + } + }; +/* harmony default export */ var modifiers_plugin = (plugin_modifiers); +//# sourceMappingURL=plugin.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/modifiers/index.js +/* eslint-disable import/order, no-console, eol-last */ -/***/ }), -/***/ "b0c5": -/***/ (function(module, exports, __webpack_require__) { +if (typeof window === 'object' && !!window) { + interact_init(window); +} // eslint-disable-next-line no-undef -"use strict"; -var regexpExec = __webpack_require__("520a"); -__webpack_require__("5ca1")({ - target: 'RegExp', - proto: true, - forced: regexpExec !== /./.exec -}, { - exec: regexpExec -}); +if (( true) && !_interactjs_interact.__warnedUseImport) { + _interactjs_interact.__warnedUseImport = true; + console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.'); +} +_interactjs_interact.use(modifiers_plugin); +//# sourceMappingURL=index.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/dev-tools/plugin.js +/* eslint-disable no-console */ -/***/ }), -/***/ "b770": -/***/ (function(module, exports, __webpack_require__) { -"use strict"; -var utils = module.exports = {}; +var CheckName; -/** - * Loops through the collection and calls the callback for each element. if the callback returns truthy, the loop is broken and returns the same value. - * @public - * @param {*} collection The collection to loop through. Needs to have a length property set and have indices set from 0 to length - 1. - * @param {function} callback The callback to be called for each element. The element will be given as a parameter to the callback. If this callback returns truthy, the loop is broken and the same value is returned. - * @returns {*} The value that a callback has returned (if truthy). Otherwise nothing. - */ -utils.forEach = function(collection, callback) { - for(var i = 0; i < collection.length; i++) { - var result = callback(collection[i]); - if(result) { - return result; - } +(function (CheckName) { + CheckName["touchAction"] = "touchAction"; + CheckName["boxSizing"] = "boxSizing"; + CheckName["noListeners"] = "noListeners"; +})(CheckName || (CheckName = {})); + +const prefix = '[interact.js] '; +const links = { + touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', + boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' +}; // eslint-disable-next-line no-undef + +const isProduction = "development" === 'production'; // eslint-disable-next-line no-restricted-syntax + +function dev_tools_plugin_install(scope, { + logger +} = {}) { + const { + Interactable, + defaults + } = scope; + scope.logger = logger || console; + defaults.base.devTools = { + ignore: {} + }; + + Interactable.prototype.devTools = function (options) { + if (options) { + extend(this.options.devTools, options); + return this; } -}; + return this.options.devTools; + }; +} -/***/ }), +const checks = [{ + name: CheckName.touchAction, -/***/ "bc21": -/***/ (function(module, __webpack_exports__, __webpack_require__) { + perform({ + element + }) { + return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); + }, -"use strict"; + getInfo({ + element + }) { + return [element, links.touchAction]; + }, -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"495e29ea-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=58da2a1f& -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 = [] + text: 'Consider adding CSS "touch-action: none" to this element\n' +}, { + name: CheckName.boxSizing, + perform(interaction) { + const { + element + } = interaction; + return interaction.prepared.name === 'resize' && element instanceof utils_domObjects.HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); + }, -// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=58da2a1f& + text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js -var es6_regexp_match = __webpack_require__("4917"); + getInfo({ + element + }) { + return [element, links.boxSizing]; + } -// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.constructor.js -var es6_number_constructor = __webpack_require__("c5f6"); +}, { + name: CheckName.noListeners, -// EXTERNAL MODULE: ./src/helpers/utils.js -var utils = __webpack_require__("a2b6"); + perform(interaction) { + const actionName = interaction.prepared.name; + const moveListeners = interaction.interactable.events.types[`${actionName}move`] || []; + return !moveListeners.length; + }, -// CONCATENATED MODULE: ./src/helpers/draggableUtils.js -// Get {x, y} positions from event. -function getControlPosition(e) { - return offsetXYFromParentOf(e); -} // Get from offsetParent + getInfo(interaction) { + return [interaction.prepared.name, interaction.interactable]; + }, -function offsetXYFromParentOf(evt) { - var offsetParent = evt.target.offsetParent || document.body; - var offsetParentRect = evt.offsetParent === document.body ? { - left: 0, - top: 0 - } : offsetParent.getBoundingClientRect(); - var x = evt.clientX + offsetParent.scrollLeft - offsetParentRect.left; - var y = evt.clientY + offsetParent.scrollTop - offsetParentRect.top; - /*const x = Math.round(evt.clientX + offsetParent.scrollLeft - offsetParentRect.left); - const y = Math.round(evt.clientY + offsetParent.scrollTop - offsetParentRect.top);*/ + text: 'There are no listeners set for this action' +}]; - return { - x: x, - y: y - }; -} // Create an data object exposed by 's events +function hasStyle(element, prop, styleRe) { + const value = element.style[prop] || win.getComputedStyle(element)[prop]; + return styleRe.test((value || '').toString()); +} -function createCoreData(lastX, lastY, x, y) { - // State changes are often (but not always!) async. We want the latest value. - var isStart = !isNum(lastX); +function parentHasStyle(element, prop, styleRe) { + let parent = element; - if (isStart) { - // If this is our first move, use the x and y as last coords. - return { - deltaX: 0, - deltaY: 0, - lastX: x, - lastY: y, - x: x, - y: y - }; - } else { - // Otherwise calculate proper values. - return { - deltaX: x - lastX, - deltaY: y - lastY, - lastX: lastX, - lastY: lastY, - x: x, - y: y - }; + while (is.element(parent)) { + if (hasStyle(parent, prop, styleRe)) { + return true; + } + + parent = parentNode(parent); } + + return false; } -function isNum(num) { - return typeof num === 'number' && !isNaN(num); +const plugin_id = 'dev-tools'; +const defaultExport = isProduction ? { + id: plugin_id, + install: () => {} +} : { + id: plugin_id, + install: dev_tools_plugin_install, + listeners: { + 'interactions:action-start': ({ + interaction + }, scope) => { + for (const check of checks) { + const options = interaction.interactable && interaction.interactable.options; + + if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { + scope.logger.warn(prefix + check.text, ...check.getInfo(interaction)); + } + } + } + }, + checks, + CheckName, + links, + prefix +}; +/* harmony default export */ var dev_tools_plugin = (defaultExport); +//# sourceMappingURL=plugin.js.map +// CONCATENATED MODULE: ./node_modules/@interactjs/dev-tools/index.js +/* eslint-disable import/order, no-console, eol-last */ + + + +if (typeof window === 'object' && !!window) { + interact_init(window); +} // eslint-disable-next-line no-undef + + +if (( true) && !_interactjs_interact.__warnedUseImport) { + _interactjs_interact.__warnedUseImport = true; + console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.'); } -// EXTERNAL MODULE: ./src/helpers/DOM.js -var DOM = __webpack_require__("1ca7"); +_interactjs_interact.use(dev_tools_plugin); +//# sourceMappingURL=index.js.map // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=script&lang=js& + // // // @@ -4762,9 +11404,14 @@ var DOM = __webpack_require__("1ca7"); // + // var eventBus = require('./eventBus'); -var interact = __webpack_require__("5014"); + + + + + /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -4866,7 +11513,7 @@ var interact = __webpack_require__("5014"); default: 'a, button' } }, - inject: ["eventBus"], + inject: ["eventBus", "layout"], data: function data() { return { cols: 1, @@ -4877,6 +11524,7 @@ var interact = __webpack_require__("5014"); draggable: null, resizable: null, useCssTransforms: true, + useStyleCursor: true, isDragging: false, dragging: null, isResizing: false, @@ -4969,25 +11617,31 @@ var interact = __webpack_require__("5014"); } }, mounted: function mounted() { - this.cols = this.$parent.colNum; - this.rowHeight = this.$parent.rowHeight; - this.containerWidth = this.$parent.width !== null ? this.$parent.width : 100; - this.margin = this.$parent.margin !== undefined ? this.$parent.margin : [10, 10]; - this.maxRows = this.$parent.maxRows; + if (this.layout.responsive) { + this.cols = Object(responsiveUtils["c" /* getColsFromBreakpoint */])(this.layout.lastBreakpoint, this.layout.cols); + } else { + this.cols = this.layout.colNum; + } + + this.rowHeight = this.layout.rowHeight; + this.containerWidth = this.layout.width !== null ? this.layout.width : 100; + this.margin = this.layout.margin !== undefined ? this.layout.margin : [10, 10]; + this.maxRows = this.layout.maxRows; if (this.isDraggable === null) { - this.draggable = this.$parent.isDraggable; + this.draggable = this.layout.isDraggable; } else { this.draggable = this.isDraggable; } if (this.isResizable === null) { - this.resizable = this.$parent.isResizable; + this.resizable = this.layout.isResizable; } else { this.resizable = this.isResizable; } - this.useCssTransforms = this.$parent.useCssTransforms; + this.useCssTransforms = this.layout.useCssTransforms; + this.useStyleCursor = this.layout.useStyleCursor; this.createStyle(); }, watch: { @@ -5089,7 +11743,7 @@ var interact = __webpack_require__("5014"); return navigator.userAgent.toLowerCase().indexOf("android") !== -1; }, renderRtl: function renderRtl() { - return this.$parent.isMirrored ? !this.rtl : this.rtl; + return this.layout.isMirrored ? !this.rtl : this.rtl; }, resizableHandleClass: function resizableHandleClass() { if (this.renderRtl) { @@ -5457,7 +12111,11 @@ var interact = __webpack_require__("5014"); var self = this; if (this.interactObj === null || this.interactObj === undefined) { - this.interactObj = interact(this.$refs.item); + this.interactObj = _interactjs_interact(this.$refs.item); + + if (!this.useStyleCursor) { + this.interactObj.styleCursor(false); + } } if (this.draggable && !this.static) { @@ -5484,7 +12142,11 @@ var interact = __webpack_require__("5014"); var self = this; if (this.interactObj === null || this.interactObj === undefined) { - this.interactObj = interact(this.$refs.item); + this.interactObj = _interactjs_interact(this.$refs.item); + + if (!this.useStyleCursor) { + this.interactObj.styleCursor(false); + } } if (this.resizable && !this.static) { @@ -5494,11 +12156,11 @@ var interact = __webpack_require__("5014"); var opts = { preserveAspectRatio: true, - // allowFrom: "." + this.resizableHandleClass, + // allowFrom: "." + this.resizableHandleClass.trim().replace(" ", "."), edges: { left: false, - right: "." + this.resizableHandleClass, - bottom: "." + this.resizableHandleClass, + right: "." + this.resizableHandleClass.trim().replace(" ", "."), + bottom: "." + this.resizableHandleClass.trim().replace(" ", "."), top: false }, ignoreFrom: this.resizeIgnoreFrom, @@ -5937,21 +12599,32 @@ module.exports = function(options) { //TODO: Could this perhaps be done at installation time? var scrollbarSizes = getScrollbarSizes(); - // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. - // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). var styleId = "erd_scroll_detection_scrollbar_style"; var detectionContainerClass = "erd_scroll_detection_container"; - injectScrollStyle(styleId, detectionContainerClass); + + function initDocument(targetDocument) { + // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. + // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). + injectScrollStyle(targetDocument, styleId, detectionContainerClass); + } + + initDocument(window.document); + + function buildCssTextString(rules) { + var seperator = options.important ? " !important; " : "; "; + + return (rules.join(seperator) + seperator).trim(); + } function getScrollbarSizes() { var width = 500; var height = 500; var child = document.createElement("div"); - child.style.cssText = "position: absolute; width: " + width*2 + "px; height: " + height*2 + "px; visibility: hidden; margin: 0; padding: 0;"; + child.style.cssText = buildCssTextString(["position: absolute", "width: " + width*2 + "px", "height: " + height*2 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); var container = document.createElement("div"); - container.style.cssText = "position: absolute; width: " + width + "px; height: " + height + "px; overflow: scroll; visibility: none; top: " + -width*3 + "px; left: " + -height*3 + "px; visibility: hidden; margin: 0; padding: 0;"; + container.style.cssText = buildCssTextString(["position: absolute", "width: " + width + "px", "height: " + height + "px", "overflow: scroll", "visibility: none", "top: " + -width*3 + "px", "left: " + -height*3 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); container.appendChild(child); @@ -5968,25 +12641,25 @@ module.exports = function(options) { }; } - function injectScrollStyle(styleId, containerClass) { + function injectScrollStyle(targetDocument, styleId, containerClass) { function injectStyle(style, method) { method = method || function (element) { - document.head.appendChild(element); + targetDocument.head.appendChild(element); }; - var styleElement = document.createElement("style"); + var styleElement = targetDocument.createElement("style"); styleElement.innerHTML = style; styleElement.id = styleId; method(styleElement); return styleElement; } - if (!document.getElementById(styleId)) { + if (!targetDocument.getElementById(styleId)) { var containerAnimationClass = containerClass + "_animation"; var containerAnimationActiveClass = containerClass + "_animation_active"; var style = "/* Created by the element-resize-detector library. */\n"; - style += "." + containerClass + " > div::-webkit-scrollbar { display: none; }\n\n"; - style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; + style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -6188,7 +12861,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; + container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -6212,7 +12885,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.position = "relative"; + element.style.setProperty("position", "relative",options.important ? "important" : ""); var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -6242,7 +12915,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; + return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; } debug("Injecting elements"); @@ -6270,12 +12943,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; - var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); - var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; - var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; - var expandChildStyle = "position: absolute; left: 0; top: 0;"; - var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; + var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); + var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); + var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); + var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); + var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); + var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -6326,14 +12999,17 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.width = expandWidth + "px"; - expandChild.style.height = expandHeight + "px"; + expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); + expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; + // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. + var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; + debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -6344,6 +13020,10 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { + if (!sizeChanged) { + return; + } + if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -6367,6 +13047,9 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { + // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then + // been restored to the original size, which will have changed the scrollbar positions. + if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -6380,7 +13063,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (done) { + if (sizeChanged && done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -6410,7 +13093,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify the if the current size is the start size, and this is the first notification. + // Don't notify if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -6455,15 +13138,7 @@ module.exports = function(options) { return; } - var width = element.offsetWidth; - var height = element.offsetHeight; - - if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { - debug("Element size changed."); - updateDetectorElements(notifyListenersIfNeeded); - } else { - debug("Element size has not changed (" + width + "x" + height + ")."); - } + updateDetectorElements(notifyListenersIfNeeded); } debug("registerListenersAndPositionElements invoked."); @@ -6553,7 +13228,8 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall + uninstall: uninstall, + initDocument: initDocument }; }; @@ -6921,11 +13597,13 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); + var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler + idHandler: idHandler, + important: importantCssRules }; if(desiredStrategy === "scroll") { @@ -7040,7 +13718,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -7116,11 +13794,16 @@ module.exports = function(options) { }); } + function initDocument(targetDocument) { + detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); + } + return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall + uninstall: uninstall, + initDocument: initDocument }; }; diff --git a/dist/vue-grid-layout.umd.js.map b/dist/vue-grid-layout.umd.js.map index 8970d85f..fd66c095 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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?0c71","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/./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/interactjs/dist/interact.min.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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?d9a3","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,oEAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AAhOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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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,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE;AACjE;AACA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,eAAe;AACf,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;AC7DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;ACLA,uBAAuB;AACvB;AACA;AACA;;;;;;;;ACHA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAga;AACtb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;;ACRrE;AACb;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,cAAc,mBAAO,CAAC,MAAgB;AACtC,WAAW,mBAAO,CAAC,MAAgB;AACnC,UAAU,mBAAO,CAAC,MAAe;AACjC,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAY;AAClC;;AAEA;AACA,6BAA6B,mBAAO,CAAC,MAAU;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU,EAAE;AAChD,mBAAmB,sCAAsC;AACzD,CAAC,qCAAqC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;ACrCD;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;ACLzC,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA,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;;;;;;;;ACHA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,UAAU,mBAAO,CAAC,MAAc;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;;AAE1B;AACA,oEAAoE,iCAAiC;AACrG;;;;;;;;ACNA,SAAS,mBAAO,CAAC,MAAc;AAC/B;AACA;AACA;;AAEA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;ACfD,6BAA6B;AAC7B,uCAAuC;;;;;;;;ACDvC;;;;;;;;ACAA,iBAAiB,mBAAO,CAAC,MAA2C,E;;;;;;;ACApE,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,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA,cAAc,mBAAO,CAAC,MAAQ,iBAAiB,mBAAO,CAAC,MAAgB;AACvE;AACA;AACA,OAAO,YAAY,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA;;;;;;;;ACxBA,mD;;;;;;;ACAA;AACA,kBAAkB,mBAAO,CAAC,MAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;ACHD;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAa;AACnC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,WAAW,mBAAO,CAAC,MAAgB;AACnC,qBAAqB,mBAAO,CAAC,MAAoB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACrBD;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;;;;;;;;ACNA;AACA,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA;AACA;AACA;AACA;;;;;;;;ACTA;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,kBAAkB,mBAAO,CAAC,MAAQ;AAClC;AACA,0CAA0C,mBAAO,CAAC,MAAS,6BAA6B;AACxF;AACA;AACA;;;;;;;;ACNA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,kBAAkB,gCAAgC,wBAAwB,2CAA2C,mCAAmC,wBAAwB,sBAAsB,kBAAkB,6BAA6B,8CAA8C,sCAAsC,8BAA8B,gDAAgD,OAAO,WAAW,wCAAwC,UAAU,QAAQ,wBAAwB,WAAW,UAAU,sCAAsC,wBAAwB,gBAAgB,UAAU,oCAAoC,eAAe,WAAW,gCAAgC,wBAAwB,UAAU,yBAAyB,sBAAsB,qBAAqB,oBAAoB,iBAAiB,qCAAqC,kBAAkB,WAAW,YAAY,SAAS,QAAQ,oCAAoC,mNAAmN,8BAA8B,oBAAoB,4BAA4B,8BAA8B,8BAA8B,sBAAsB,iBAAiB,yCAAyC,SAAS,OAAO,kCAAkC,6hBAA6hB,2BAA2B,iBAAiB,4BAA4B,8BAA8B,iBAAiB,WAAW,kCAAkC,yBAAyB,sBAAsB,qBAAqB,iBAAiB;;AAEhuE;;;;;;;;ACPA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA,2DAA2D;AAC3D;;;;;;;;ACLA;AACA,kBAAkB,mBAAO,CAAC,MAAU;AACpC,iCAAiC,QAAQ,mBAAmB,UAAU,EAAE,EAAE;AAC1E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHD;;;;;;;;;AAOA;;AACA;;;;;;;;AAQA;;;;AAEA;AAEA;;AACA;;;;;;;;;AAMO,SAASM,MAAT,CAAgBX;AAAhB;AAAA;AAAA;AAAwC;AAC7C,MAAIY,GAAG,GAAG,CAAV;AAAA,MAAaC,OAAb;;AACA,OAAK,IAAI3B,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD2B,WAAO,GAAGb,MAAM,CAACd,CAAD,CAAN,CAAW4B,CAAX,GAAed,MAAM,CAACd,CAAD,CAAN,CAAU6B,CAAnC;AACA,QAAIF,OAAO,GAAGD,GAAd,EAAmBA,GAAG,GAAGC,OAAN;AACpB;;AACD,SAAOD,GAAP;AACD;AAEM,SAASb,WAAT,CAAqBC;AAArB;AAAA;AAAA;AAA6C;AAClD,MAAMgB,SAAS,GAAGC,KAAK,CAACjB,MAAM,CAACZ,MAAR,CAAvB;;AACA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD8B,aAAS,CAAC9B,CAAD,CAAT,GAAegC,eAAe,CAAClB,MAAM,CAACd,CAAD,CAAP,CAA9B;AACD;;AACD,SAAO8B,SAAP;AACD,C,CAED;;AACO,SAASE,eAAT,CAAyBC;AAAzB;AAAA;AAAA;AAA6D;AAClE;;;;;;;AAOE,SAAOC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAeH,UAAf,CAAX,CAAP;AACH;AAED;;;;;;AAKO,SAASI,QAAT,CAAkBC;AAAlB;AAAA,EAAkCC;AAAlC;AAAA;AAAA;AAA2D;AAChE,MAAID,EAAE,KAAKC,EAAX,EAAe,OAAO,KAAP,CADiD,CACnC;;AAC7B,MAAID,EAAE,CAACE,CAAH,GAAOF,EAAE,CAACG,CAAV,IAAeF,EAAE,CAACC,CAAtB,EAAyB,OAAO,KAAP,CAFuC,CAEzB;;AACvC,MAAIF,EAAE,CAACE,CAAH,IAAQD,EAAE,CAACC,CAAH,GAAOD,EAAE,CAACE,CAAtB,EAAyB,OAAO,KAAP,CAHuC,CAGzB;;AACvC,MAAIH,EAAE,CAACV,CAAH,GAAOU,EAAE,CAACT,CAAV,IAAeU,EAAE,CAACX,CAAtB,EAAyB,OAAO,KAAP,CAJuC,CAIzB;;AACvC,MAAIU,EAAE,CAACV,CAAH,IAAQW,EAAE,CAACX,CAAH,GAAOW,EAAE,CAACV,CAAtB,EAAyB,OAAO,KAAP,CALuC,CAKzB;;AACvC,SAAO,IAAP,CANgE,CAMnD;AACd;AAED;;;;;;;;;;AASO,SAAST,OAAT,CAAiBN;AAAjB;AAAA,EAAiCF;AAAjC;AAAA;AAAA;AAAmE;AACtE;AACF,MAAM8B,WAAW,GAAGC,UAAU,CAAC7B,MAAD,CAA9B,CAFwE,CAGxE;;AACA,MAAMjB,MAAM,GAAG+C,uBAAuB,CAAC9B,MAAD,CAAtC,CAJwE,CAKxE;;AACA,MAAM+B,GAAG,GAAGd,KAAK,CAACjB,MAAM,CAACZ,MAAR,CAAjB;;AAEA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGJ,MAAM,CAACK,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAI8C,CAAC,GAAGjD,MAAM,CAACG,CAAD,CAAd,CADiD,CAGjD;;AACA,QAAI,CAAC8C,CAAC,CAACC,MAAP,EAAe;AACbD,OAAC,GAAGE,WAAW,CAACN,WAAD,EAAcI,CAAd,EAAiBlC,eAAjB,CAAf,CADa,CAGb;AACA;;AACA8B,iBAAW,CAACO,IAAZ,CAAiBH,CAAjB;AACD,KAVgD,CAYjD;;;AACAD,OAAG,CAAC/B,MAAM,CAACI,OAAP,CAAe4B,CAAf,CAAD,CAAH,GAAyBA,CAAzB,CAbiD,CAejD;;AACAA,KAAC,CAACI,KAAF,GAAU,KAAV;AACD;;AAED,SAAOL,GAAP;AACD;AAED;;;;AAGO,SAASG,WAAT,CAAqBN;AAArB;AAAA,EAA0CI;AAA1C;AAAA,EAAyDlC;AAAzD;AAAA;AAAA;AAA+F;AACpG,MAAIA,eAAJ,EAAqB;AACnB;AACA,WAAOkC,CAAC,CAAClB,CAAF,GAAM,CAAN,IAAW,CAACuB,iBAAiB,CAACT,WAAD,EAAcI,CAAd,CAApC,EAAsD;AACpDA,OAAC,CAAClB,CAAF;AACD;AACF,GANmG,CAQpG;;;AACA,MAAIS,QAAJ;;AACA,SAAOA,QAAQ,GAAGc,iBAAiB,CAACT,WAAD,EAAcI,CAAd,CAAnC,EAAsD;AACpDA,KAAC,CAAClB,CAAF,GAAMS,QAAQ,CAACT,CAAT,GAAaS,QAAQ,CAACR,CAA5B;AACD;;AACD,SAAOiB,CAAP;AACD;AAED;;;;;;;AAMO,SAASzB,aAAT,CAAuBP;AAAvB;AAAA,EAAuCsC;AAAvC;AAAA;AAAA;AAAuE;AAC5E,MAAMC,YAAY,GAAGV,UAAU,CAAC7B,MAAD,CAA/B;;AACA,OAAK,IAAId,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAM8C,CAAC,GAAGhC,MAAM,CAACd,CAAD,CAAhB,CADiD,CAEjD;;AACA,QAAI8C,CAAC,CAACN,CAAF,GAAMM,CAAC,CAACL,CAAR,GAAYW,MAAM,CAAC9C,IAAvB,EAA6BwC,CAAC,CAACN,CAAF,GAAMY,MAAM,CAAC9C,IAAP,GAAcwC,CAAC,CAACL,CAAtB,CAHoB,CAIjD;;AACA,QAAIK,CAAC,CAACN,CAAF,GAAM,CAAV,EAAa;AACXM,OAAC,CAACN,CAAF,GAAM,CAAN;AACAM,OAAC,CAACL,CAAF,GAAMW,MAAM,CAAC9C,IAAb;AACD;;AACD,QAAI,CAACwC,CAAC,CAACC,MAAP,EAAeM,YAAY,CAACJ,IAAb,CAAkBH,CAAlB,EAAf,KACK;AACH;AACA;AACA,aAAMK,iBAAiB,CAACE,YAAD,EAAeP,CAAf,CAAvB,EAA0C;AACxCA,SAAC,CAAClB,CAAF;AACD;AACF;AACF;;AACD,SAAOd,MAAP;AACD;AAED;;;;;;;;AAOO,SAASwC,aAAT,CAAuBxC;AAAvB;AAAA,EAAuCyC;AAAvC;AAAA;AAAA;AAAgE;AACrE,OAAK,IAAIvD,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIc,MAAM,CAACd,CAAD,CAAN,CAAUA,CAAV,KAAgBuD,EAApB,EAAwB,OAAOzC,MAAM,CAACd,CAAD,CAAb;AACzB;AACF;AAED;;;;;;;;;AAQO,SAASmD,iBAAT,CAA2BrC;AAA3B;AAAA,EAA2CmB;AAA3C;AAAA;AAAA;AAAgF;AACrF,OAAK,IAAIjC,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAIqC,QAAQ,CAACvB,MAAM,CAACd,CAAD,CAAP,EAAYiC,UAAZ,CAAZ,EAAqC,OAAOnB,MAAM,CAACd,CAAD,CAAb;AACtC;AACF;AAEM,SAASwD,gBAAT,CAA0B1C;AAA1B;AAAA,EAA0CmB;AAA1C;AAAA;AAAA;AAAqF;AAC1F,SAAOnB,MAAM,CAAC2C,MAAP,CAAc,UAACX,CAAD;AAAA,WAAOT,QAAQ,CAACS,CAAD,EAAIb,UAAJ,CAAf;AAAA,GAAd,CAAP;AACD;AAED;;;;;;AAKO,SAASU,UAAT,CAAoB7B;AAApB;AAAA;AAAA;AAAuD;AAC1D;AACA,SAAOA,MAAM,CAAC2C,MAAP,CAAc,UAACX,CAAD;AAAA,WAAOA,CAAC,CAACC,MAAT;AAAA,GAAd,CAAP;AACH;AAED;;;;;;;;;;;AAUO,SAASW,WAAT,CAAqB5C;AAArB;AAAA,EAAqCgC;AAArC;AAAA,EAAoDN;AAApD;AAAA,EAA+DZ;AAA/D;AAAA,EAA0E+B;AAA1E;AAAA,EAAiGC;AAAjG;AAAA;AAAA;AAAoI;AACzI,MAAId,CAAC,CAACC,MAAN,EAAc,OAAOjC,MAAP,CAD2H,CAGzI;AACA;;AAEA,MAAM+C,IAAI,GAAGf,CAAC,CAACN,CAAf;AACA,MAAMsB,IAAI,GAAGhB,CAAC,CAAClB,CAAf;AAEA,MAAMmC,QAAQ,GAAGnC,CAAC,IAAIkB,CAAC,CAAClB,CAAF,GAAMA,CAA5B,CATyI,CAUzI;;AACA,MAAI,OAAOY,CAAP,KAAa,QAAjB,EAA2BM,CAAC,CAACN,CAAF,GAAMA,CAAN;AAC3B,MAAI,OAAOZ,CAAP,KAAa,QAAjB,EAA2BkB,CAAC,CAAClB,CAAF,GAAMA,CAAN;AAC3BkB,GAAC,CAACI,KAAF,GAAU,IAAV,CAbyI,CAezI;AACA;AACA;AACA;;AACA,MAAIrD,MAAM,GAAG+C,uBAAuB,CAAC9B,MAAD,CAApC;AACA,MAAIiD,QAAJ,EAAclE,MAAM,GAAGA,MAAM,CAACmE,OAAP,EAAT;AACd,MAAMC,UAAU,GAAGT,gBAAgB,CAAC3D,MAAD,EAASiD,CAAT,CAAnC;;AAEA,MAAIc,gBAAgB,IAAIK,UAAU,CAAC/D,MAAnC,EAA2C;AACzC4C,KAAC,CAACN,CAAF,GAAMqB,IAAN;AACAf,KAAC,CAAClB,CAAF,GAAMkC,IAAN;AACAhB,KAAC,CAACI,KAAF,GAAU,KAAV;AACA,WAAOpC,MAAP;AACD,GA5BwI,CA8BzI;;;AACA,OAAK,IAAId,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGgE,UAAU,CAAC/D,MAAjC,EAAyCF,CAAC,GAAGC,GAA7C,EAAkDD,CAAC,EAAnD,EAAuD;AACrD,QAAMkE,SAAS,GAAGD,UAAU,CAACjE,CAAD,CAA5B,CADqD,CAErD;AAEA;;AACA,QAAIkE,SAAS,CAAChB,KAAd,EAAqB,SALgC,CAOrD;;AACA,QAAIJ,CAAC,CAAClB,CAAF,GAAMsC,SAAS,CAACtC,CAAhB,IAAqBkB,CAAC,CAAClB,CAAF,GAAMsC,SAAS,CAACtC,CAAhB,GAAoBsC,SAAS,CAACrC,CAAV,GAAc,CAA3D,EAA8D,SART,CAUrD;;AACA,QAAIqC,SAAS,CAACnB,MAAd,EAAsB;AACpBjC,YAAM,GAAGqD,4BAA4B,CAACrD,MAAD,EAASoD,SAAT,EAAoBpB,CAApB,EAAuBa,YAAvB,CAArC;AACD,KAFD,MAEO;AACL7C,YAAM,GAAGqD,4BAA4B,CAACrD,MAAD,EAASgC,CAAT,EAAYoB,SAAZ,EAAuBP,YAAvB,CAArC;AACD;AACF;;AAED,SAAO7C,MAAP;AACD;AAED;;;;;;;;;;;AAUO,SAASqD,4BAAT,CAAsCrD;AAAtC;AAAA,EAAsDuC;AAAtD;AAAA,EACsCe;AADtC;AAAA,EAC8DT;AAD9D;AAAA;AAAA;AAC8F;AAEnG,MAAMC,gBAAgB,GAAG,KAAzB,CAFmG,CAEpE;AAC/B;AACA;AACA;;AACA,MAAID,YAAJ,EAAkB;AAChB;AACA,QAAMU;AAAoB;AAAA,MAAG;AAC3B7B,OAAC,EAAE4B,UAAU,CAAC5B,CADa;AAE3BZ,OAAC,EAAEwC,UAAU,CAACxC,CAFa;AAG3Ba,OAAC,EAAE2B,UAAU,CAAC3B,CAHa;AAI3BZ,OAAC,EAAEuC,UAAU,CAACvC,CAJa;AAK3B7B,OAAC,EAAE;AALwB,KAA7B;AAOAqE,YAAQ,CAACzC,CAAT,GAAa0C,IAAI,CAAC5C,GAAL,CAAS2B,YAAY,CAACzB,CAAb,GAAiBwC,UAAU,CAACvC,CAArC,EAAwC,CAAxC,CAAb;;AACA,QAAI,CAACsB,iBAAiB,CAACrC,MAAD,EAASuD,QAAT,CAAtB,EAA0C;AACxC,aAAOX,WAAW,CAAC5C,MAAD,EAASsD,UAAT,EAAqBG,SAArB,EAAgCF,QAAQ,CAACzC,CAAzC,EAA4CgC,gBAA5C,CAAlB;AACD;AACF,GAnBkG,CAqBnG;AACA;;;AACA,SAAOF,WAAW,CAAC5C,MAAD,EAASsD,UAAT,EAAqBG,SAArB,EAAgCH,UAAU,CAACxC,CAAX,GAAe,CAA/C,EAAkDgC,gBAAlD,CAAlB;AACD;AAED;;;;;;;AAMO,SAASY,IAAT,CAAcC;AAAd;AAAA;AAAA;AAAmC;AACxC,SAAOA,GAAG,GAAG,GAAN,GAAY,GAAnB;AACD;AAEM,SAASC,YAAT,CAAsBC,GAAtB,EAA2BC,IAA3B,EAAiChF,KAAjC,EAAwCiF,MAAxC;AAAA;AAAwD;AAC7D;AACA,MAAMC,SAAS,GAAG,iBAAiBF,IAAjB,GAAwB,KAAxB,GAAgCD,GAAhC,GAAsC,QAAxD;AACA,SAAO;AACLI,aAAS,EAAED,SADN;AAELE,mBAAe,EAAEF,SAFZ;AAGLG,gBAAY,EAAEH,SAHT;AAILI,eAAW,EAAEJ,SAJR;AAKLK,cAAU,EAAEL,SALP;AAMLlF,SAAK,EAAEA,KAAK,GAAG,IANV;AAOLiF,UAAM,EAAEA,MAAM,GAAG,IAPZ;AAQLO,YAAQ,EAAE;AARL,GAAP;AAUD;AACD;;;;;;;;;;AASO,SAASC,eAAT,CAAyBV,GAAzB,EAA8BW,KAA9B,EAAqC1F,KAArC,EAA4CiF,MAA5C;AAAA;AAA4D;AAC/D;AACA,MAAMC,SAAS,GAAG,iBAAiBQ,KAAK,GAAG,CAAC,CAA1B,GAA8B,KAA9B,GAAsCX,GAAtC,GAA4C,QAA9D;AACA,SAAO;AACHI,aAAS,EAAED,SADR;AAEHE,mBAAe,EAAEF,SAFd;AAGHG,gBAAY,EAAEH,SAHX;AAIHI,eAAW,EAAEJ,SAJV;AAKHK,cAAU,EAAEL,SALT;AAMHlF,SAAK,EAAEA,KAAK,GAAG,IANZ;AAOHiF,UAAM,EAAEA,MAAM,GAAG,IAPd;AAQHO,YAAQ,EAAE;AARP,GAAP;AAUH;AAEM,SAASG,UAAT,CAAoBZ,GAApB,EAAyBC,IAAzB,EAA+BhF,KAA/B,EAAsCiF,MAAtC;AAAA;AAAsD;AACzD,SAAO;AACHF,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHC,QAAI,EAAEA,IAAI,GAAG,IAFV;AAGHhF,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHiF,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AACD;;;;;;;;;;AASO,SAASI,WAAT,CAAqBb,GAArB,EAA0BW,KAA1B,EAAiC1F,KAAjC,EAAwCiF,MAAxC;AAAA;AAAwD;AAC3D,SAAO;AACHF,OAAG,EAAEA,GAAG,GAAG,IADR;AAEHW,SAAK,EAAEA,KAAK,GAAE,IAFX;AAGH1F,SAAK,EAAEA,KAAK,GAAG,IAHZ;AAIHiF,UAAM,EAAEA,MAAM,GAAG,IAJd;AAKHO,YAAQ,EAAE;AALP,GAAP;AAOH;AAGD;;;;;;;AAMO,SAASxC,uBAAT,CAAiC9B;AAAjC;AAAA;AAAA;AAAyD;AAC9D,SAAO,GAAG2E,MAAH,CAAU3E,MAAV,EAAkBS,IAAlB,CAAuB,UAASC,CAAT,EAAYL,CAAZ,EAAe;AAC3C,QAAIK,CAAC,CAACI,CAAF,KAAQT,CAAC,CAACS,CAAV,IAAeJ,CAAC,CAACgB,CAAF,KAAQrB,CAAC,CAACqB,CAA7B,EAAgC;AAC9B,aAAO,CAAP;AACD;;AAED,QAAIhB,CAAC,CAACI,CAAF,GAAMT,CAAC,CAACS,CAAR,IAAcJ,CAAC,CAACI,CAAF,KAAQT,CAAC,CAACS,CAAV,IAAeJ,CAAC,CAACgB,CAAF,GAAMrB,CAAC,CAACqB,CAAzC,EAA6C;AAC3C,aAAO,CAAP;AACD;;AAED,WAAO,CAAC,CAAR;AACD,GAVM,CAAP;AAWD;AAED;;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA;;;;;;;;AAOO,SAASkD,cAAT,CAAwB5E;AAAxB;AAAA,EAAwC6E;AAAxC;AAAA;AAAA;AAAmE;AACxEA,aAAW,GAAGA,WAAW,IAAI,QAA7B;AACA,MAAMC,QAAQ,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,CAAjB;AACA,MAAI,CAAC7D,KAAK,CAAC8D,OAAN,CAAc/E,MAAd,CAAL,EAA4B,MAAM,IAAIP,KAAJ,CAAUoF,WAAW,GAAG,oBAAxB,CAAN;;AAC5B,OAAK,IAAI3F,CAAC,GAAG,CAAR,EAAWC,GAAG,GAAGa,MAAM,CAACZ,MAA7B,EAAqCF,CAAC,GAAGC,GAAzC,EAA8CD,CAAC,EAA/C,EAAmD;AACjD,QAAM8F,IAAI,GAAGhF,MAAM,CAACd,CAAD,CAAnB;;AACA,SAAK,IAAI+F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,QAAQ,CAAC1F,MAA7B,EAAqC6F,CAAC,EAAtC,EAA0C;AACxC,UAAI,OAAOD,IAAI,CAACF,QAAQ,CAACG,CAAD,CAAT,CAAX,KAA6B,QAAjC,EAA2C;AACzC,cAAM,IAAIxF,KAAJ,CAAU,oBAAoBoF,WAApB,GAAkC,GAAlC,GAAwC3F,CAAxC,GAA4C,IAA5C,GAAmD4F,QAAQ,CAACG,CAAD,CAA3D,GAAiE,oBAA3E,CAAN;AACD;AACF;;AACD,QAAID,IAAI,CAAC9F,CAAL,IAAU,OAAO8F,IAAI,CAAC9F,CAAZ,KAAkB,QAAhC,EAA0C,CACxC;AACE;AACF;AACD;;AACD,QAAI8F,IAAI,CAAC/C,MAAL,KAAgBwB,SAAhB,IAA6B,OAAOuB,IAAI,CAAC/C,MAAZ,KAAuB,SAAxD,EAAmE;AACjE,YAAM,IAAIxC,KAAJ,CAAU,oBAAoBoF,WAApB,GAAkC,GAAlC,GAAwC3F,CAAxC,GAA4C,6BAAtD,CAAN;AACD;AACF;AACF,C,CAED;;AACO,SAASgG,gBAAT,CAA0BC;AAA1B;AAAA,EAAsCC;AAAtC;AAAA;AAAA;AAAgE;AACrEA,KAAG,CAAC/G,OAAJ,CAAY,UAACgH,GAAD;AAAA,WAASF,EAAE,CAACE,GAAD,CAAF,GAAUF,EAAE,CAACE,GAAD,CAAF,CAAQC,IAAR,CAAaH,EAAb,CAAnB;AAAA,GAAZ;AACD;AAID;;;;;;AAKO,SAASI,YAAT,CAAsBC,GAAtB,EAA2B;AAC9B,MAAIpH,IAAI,GAAGD,MAAM,CAACC,IAAP,CAAYoH,GAAZ,CAAX;AACA,MAAI,CAACpH,IAAI,CAACgB,MAAV,EAAkB,OAAO,EAAP;AAClB,MAAIF,CAAJ;AAAA,MAAOC,GAAG,GAAGf,IAAI,CAACgB,MAAlB;AACA,MAAIqG,MAAM,GAAG,EAAb;;AAEA,OAAKvG,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGC,GAAhB,EAAqBD,CAAC,EAAtB,EAA0B;AACtB,QAAImG,GAAG,GAAGjH,IAAI,CAACc,CAAD,CAAd;AACA,QAAIwG,GAAG,GAAGF,GAAG,CAACH,GAAD,CAAb;AACAI,UAAM,IAAIE,SAAS,CAACN,GAAD,CAAT,GAAiB,GAAjB,GAAuBO,KAAK,CAACP,GAAD,EAAMK,GAAN,CAA5B,GAAyC,GAAnD;AACH;;AAED,SAAOD,MAAP;AACH;AAGD;;AACO,IAAII,WAAW,GAAG;AACrBC,yBAAuB,EAAE,IADJ;AAErBC,SAAO,EAAE,IAFY;AAGrBC,cAAY,EAAE,IAHO;AAIrBC,iBAAe,EAAE,IAJI;AAKrBC,aAAW,EAAE,IALQ;AAMrBC,MAAI,EAAE,IANe;AAOrBC,UAAQ,EAAE,IAPW;AAQrBC,cAAY,EAAE,IARO;AASrBC,YAAU,EAAE,IATS;AAUrBC,cAAY,EAAE,IAVO;AAWrBC,WAAS,EAAE,IAXU;AAYrBC,SAAO,EAAE,IAZY;AAarBC,YAAU,EAAE,IAbS;AAcrBC,YAAU,EAAE,IAdS;AAerBC,WAAS,EAAE,IAfU;AAgBrBC,YAAU,EAAE,IAhBS;AAiBrBC,SAAO,EAAE,IAjBY;AAkBrBC,OAAK,EAAE,IAlBc;AAmBrBC,SAAO,EAAE,IAnBY;AAoBrBC,SAAO,EAAE,IApBY;AAqBrBC,QAAM,EAAE,IArBa;AAsBrBC,QAAM,EAAE,IAtBa;AAuBrBC,MAAI,EAAE,IAvBe;AAyBrB;AACAC,aAAW,EAAE,IA1BQ;AA2BrBC,aAAW,EAAE,IA3BQ;AA4BrBC,kBAAgB,EAAE,IA5BG;AA6BrBC,eAAa,EAAE,IA7BM;AA8BrBC,aAAW,EAAE;AA9BQ,CAAlB;AAkCP;;;;;;;AAMO,SAAS7B,KAAT,CAAetH,IAAf,EAAqBoJ,KAArB,EAA4B;AAC/B,MAAG,OAAOA,KAAP,KAAiB,QAAjB,IAA6B,CAAC7B,WAAW,CAAEvH,IAAF,CAA5C,EAAsD;AAClD,WAAOoJ,KAAK,GAAG,IAAf;AACH,GAFD,MAEO;AACH,WAAOA,KAAP;AACH;AACJ;AAGD;;;;;;;AAOO,IAAIC,WAAW,GAAG,mBAAlB;AAEA,SAAShC,SAAT,CAAmBiC,GAAnB,EAAwB;AAC3B,SAAOA,GAAG,CAACC,OAAJ,CAAYF,WAAZ,EAAyB,OAAzB,EAAkCG,WAAlC,EAAP;AACH;AAGM,SAASC,eAAT,CAAyBC,KAAzB,EAAgCC,QAAhC,EAA0CP,KAA1C,EAAiD;AACpD,OAAK,IAAIxI,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAG8I,KAAK,CAAC5I,MAAxB,EAAgCF,CAAC,EAAjC;AACI,QAAI8I,KAAK,CAAC9I,CAAD,CAAL,CAAS+I,QAAT,KAAsBP,KAA1B,EACI,OAAO,IAAP;AAFR;;AAIA,SAAO,KAAP;AACH;AAEM,SAASQ,aAAT,CAAuBF,KAAvB,EAA8BC,QAA9B,EAAwCP,KAAxC,EAA+C;AAClDM,OAAK,CAAC3J,OAAN,CAAc,UAAUoH,MAAV,EAAkB0C,KAAlB,EAAyB;AACnC,QAAI1C,MAAM,CAACwC,QAAD,CAAN,KAAqBP,KAAzB,EAAgC;AAC5B;AACAM,WAAK,CAACI,MAAN,CAAaD,KAAb,EAAoB,CAApB;AACH;AACJ,GALD;AAMH,C;;;;;;;;AC9kBY;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,gBAAgB,mBAAO,CAAC,MAAe;AACvC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;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,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;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;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;A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A,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;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,GAxSA;AAyUA;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;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;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ACA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;AACI;;;;;;;;ACHtB;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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?3308","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","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/_object-assign.js","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/./src/helpers/responsiveUtils.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/./src/helpers/utils.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/./src/components/GridItem.vue?11d8","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/domObjects.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/isWindow.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/window.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/is.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/browser.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/arr.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/clone.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/extend.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/raf.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/normalizeListeners.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Eventable.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/domUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/rect.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/getOriginXY.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/hypot.js","webpack://VueGridLayout/./node_modules/@interactjs/core/BaseEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/defaultOptions.js","webpack://VueGridLayout/./node_modules/@interactjs/core/InteractEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/isNonNativeEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Interactable.js","webpack://VueGridLayout/./node_modules/@interactjs/core/InteractableSet.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/pointerExtend.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/pointerUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/core/events.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactStatic.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/misc.js","webpack://VueGridLayout/./node_modules/@interactjs/core/PointerInfo.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Interaction.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactablePreventDefault.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactionFinder.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactions.js","webpack://VueGridLayout/./node_modules/@interactjs/core/scope.js","webpack://VueGridLayout/./node_modules/@interactjs/interact/index.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/InteractableMethods.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/base.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/dragAxis.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/hold.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/index.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/drag/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/drag/index.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/resize/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/resize/index.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/edgeTarget.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/elements.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/grid.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/all.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/Modification.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/base.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/aspectRatio.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/noop.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/pointer.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/edges.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/rect.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/size.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/pointer.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/size.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/edges.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/all.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/index.js","webpack://VueGridLayout/./node_modules/@interactjs/dev-tools/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/dev-tools/index.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["currentDir","hasDocument","document","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","VueGridLayout","GridLayout","GridItem","install","Vue","installed","Object","keys","forEach","name","component","plugin","GlobalVue","global","use","getBreakpointFromWidth","breakpoints","width","sorted","sortBreakpoints","matching","i","len","length","breakpointName","getColsFromBreakpoint","breakpoint","cols","Error","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","slice","indexOf","b","compact","correctBounds","generateResponsiveLayout","sort","a","bottom","max","bottomY","y","h","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compareWith","getStatics","sortLayoutItemsByRowCol","out","l","static","compactItem","push","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","validateLayout","contextName","subProps","isArray","item","j","autoBindHandlers","el","fns","key","bind","createMarkup","obj","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","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN"],"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;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;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;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;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;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;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;AAAA;AAAA;AAAA;AAAA,IAAIA;AAAkC;AAAA,EAAI,MAA1C,C,CACA;;AAEA,SAASC,WAAT,GAAsB;AAClB,SAAQ,OAAOC,QAAP,KAAoB,WAA5B;AACH;;AAED,SAASC,SAAT,GAAoB;AAChB,SAAQ,OAAOC,MAAP,KAAkB,WAA1B;AACH;;AAEM,SAASC,cAAT,GAAyB;AAC5B,MAAG,CAACJ,WAAW,EAAf,EAAkB;AACd,WAAOD,UAAP;AACH;;AACD,MAAMM,SAAS,GAAI,OAAOJ,QAAQ,CAACK,GAAhB,KAAwB,WAAzB,GACdL,QAAQ,CAACK,GADK,GAEdL,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCC,YAAzC,CAAsD,KAAtD,CAFJ;AAGA,SAAOH,SAAP;AACH;AAEM,SAASI,cAAT,CAAwBH;AAAxB;AAAA,EAAoD;AAC3D;AACI,MAAG,CAACN,WAAJ,EAAgB;AACZD,cAAU,GAAGO,GAAb;AACA;AACH;;AAED,MAAMI,IAAI,GAAGT,QAAQ,CAACM,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,CAAb;AACAG,MAAI,CAACC,YAAL,CAAkB,KAAlB,EAAyBL,GAAzB;AACH;AAEM,SAASM,sBAAT,CAAgCC;AAAhC;AAAA,EAA8CC;AAA9C;AAAA,EAAoE;AACvE,MAAG,CAACZ,SAAJ,EAAc;AAEVY,YAAQ;AACR;AACH;;AACDX,QAAM,CAACY,gBAAP,CAAwBF,KAAxB,EAA+BC,QAA/B;AACH;AAEM,SAASE,yBAAT,CAAmCH;AAAnC;AAAA,EAAiDC;AAAjD;AAAA,EAAuE;AAC1E,MAAG,CAACZ,SAAJ,EAAc;AACV;AACH;;AACDC,QAAM,CAACc,mBAAP,CAA2BJ,KAA3B,EAAkCC,QAAlC;AACH,C;;;;;;;AC9CD,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;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;;ACAA;AAAA;;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;;;;;;;;AC5FA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;A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+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,sEAFA,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,0EA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,sEADA,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,KA9IA;AAgJA;AACA,wBAjJA,kCAiJA;AACA;AACA,uGAFA,CAIA;;AACA,6EACA,sFANA,CAQA;;AACA,qFACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EATA,CAmBA;;AACA;;AAEA;AACA;AACA,OAxBA,CA0BA;;;AACA;AAEA;AACA;AACA,KAhLA;AAkLA;AACA,0BAnLA,oCAmLA;AACA;AACA;AACA,KAtLA;AAwLA;AACA,kBAzLA,0BAyLA,MAzLA,EAyLA,cAzLA,EAyLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AA3MA;AArOA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,2F;;;;;;;ACnBf;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,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;;;;;;;;;ACda;;AAEb,kBAAkB,mBAAO,CAAC,MAAU;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;;;;;;;;ACzDA,cAAc;;;;;;;;ACAd,W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A;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,0BAA0B,aAAa,0BAA0B,wBAAwB,iBAAiB,4EAA4E,2DAA2D,4CAA4C;AAC7R;;;;;;;;;;;;;;;;;;ACDA;AACO,SAASE,kBAAT,CAA4BC,CAA5B,EAA+B;AAClC,SAAOC,oBAAoB,CAACD,CAAD,CAA3B;AACH,C,CAGD;;AACO,SAASC,oBAAT,CAA8BC,GAA9B,EAAmC;AACtC,MAAMC,YAAY,GAAGD,GAAG,CAACE,MAAJ,CAAWD,YAAX,IAA2B7L,QAAQ,CAAC+L,IAAzD;AACA,MAAMC,gBAAgB,GAAGJ,GAAG,CAACC,YAAJ,KAAqB7L,QAAQ,CAAC+L,IAA9B,GAAqC;AAAC7E,QAAI,EAAE,CAAP;AAAUD,OAAG,EAAE;AAAf,GAArC,GAAyD4E,YAAY,CAACI,qBAAb,EAAlF;AAEA,MAAMnH,CAAC,GAAG8G,GAAG,CAACM,OAAJ,GAAcL,YAAY,CAACM,UAA3B,GAAwCH,gBAAgB,CAAC9E,IAAnE;AACA,MAAMhD,CAAC,GAAG0H,GAAG,CAACQ,OAAJ,GAAcP,YAAY,CAACQ,SAA3B,GAAuCL,gBAAgB,CAAC/E,GAAlE;AAEA;;;AAIA,SAAO;AAACnC,KAAC,EAADA,CAAD;AAAIZ,KAAC,EAADA;AAAJ,GAAP;AACH,C,CAGD;;AACO,SAASoI,cAAT,CAAwBC,KAAxB,EAA+BC,KAA/B,EAAsC1H,CAAtC,EAAyCZ,CAAzC,EAA4C;AAC/C;AACA,MAAMuI,OAAO,GAAG,CAACC,KAAK,CAACH,KAAD,CAAtB;;AAEA,MAAIE,OAAJ,EAAa;AACT;AACA,WAAO;AACHE,YAAM,EAAE,CADL;AACQC,YAAM,EAAE,CADhB;AAEHL,WAAK,EAAEzH,CAFJ;AAEO0H,WAAK,EAAEtI,CAFd;AAGHY,OAAC,EAAEA,CAHA;AAGGZ,OAAC,EAAEA;AAHN,KAAP;AAKH,GAPD,MAOO;AACH;AACA,WAAO;AACHyI,YAAM,EAAE7H,CAAC,GAAGyH,KADT;AACgBK,YAAM,EAAE1I,CAAC,GAAGsI,KAD5B;AAEHD,WAAK,EAAEA,KAFJ;AAEWC,WAAK,EAAEA,KAFlB;AAGH1H,OAAC,EAAEA,CAHA;AAGGZ,OAAC,EAAEA;AAHN,KAAP;AAKH;AACJ;;AAGD,SAASwI,KAAT,CAAe3F,GAAf,EAAqB;AACjB,SAAO,OAAOA,GAAP,KAAe,QAAf,IAA2B,CAAC8F,KAAK,CAAC9F,GAAD,CAAxC;AACH,C;;;;;;;;AC/CD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEe,+DAAU,EAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;AC/BgB,gHAAmE,EAAE;AACrF,oC;;ACDqC;AAC9B;AACP;AACyB;AAClB,SAAS,WAAI;AACpB;AACA,sBAAsB;;AAEtB,gDAAgD;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE,WAAI;AACN;;AAEO;AACP,MAAM,QAAQ;AACd;AACA;;AAEA;AACA;AACA;AACA,kC;;AC9BqC;AACF;;AAEnC,MAAM,SAAM,sBAAsB,GAAU,IAAI,QAAQ;;AAExD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,MAAM,UAAO;AACb;AACA;AACA,GAAG;;;AAGH,kBAAkB,SAAa,WAAW,GAAU;;AAEpD;AACA;AACA;;AAEA;;AAEA;;AAEe;AACf,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC,EAAC;AACF,8B;;AC7CyC;AAChB;AACU;AACnC;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,YAAI;AACb,kBAAkB,gBAAU;AAC5B,oBAAoB,GAAU,WAAW;;AAEzC,sDAAsD,EAAE,+BAA+B,gBAAU,0CAA0C;;AAE3I,yEAAyE,gBAAU;AACnF,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA,uDAAuD,gBAAU;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX,yCAAyC,gBAAU;AACnD;;AAEe,yDAAO,EAAC;AACvB,mC;;ACnDO;AACA,MAAM,UAAM;AACZ;AACP;AACA;AACA;;AAEA;AACA;AACO;AACA;AACP,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP,+B;;ACpBgC;AACP;;AAEV;AACf;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK,UAAU,EAAE;AACjB,mBAAmB,IAAQ;AAC3B,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,iC;;ACpBe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA,kC;;ACRA;AACA;AACA;;AAEA,SAAS,QAAI;AACb;AACA;;AAEA;AACA;;AAEA;AACA,0BAA0B,OAAO;AACjC,yBAAyB,OAAO,oCAAoC,OAAO;AAC3E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iEAAiE;;AAEjE;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA,MAAM;AACN,CAAC,EAAC;AACF,+B;;ACzCiC;AACR;AACV;AACf;;AAEA,MAAM,EAAE;AACR;AACA;;AAEA,MAAM,EAAE;AACR,mCAAmC,MAAM;AACzC,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C,MAAM,EAAE;AACR;AACA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA,GAAG,UAAU,EAAE;AACf;AACA;AACA;AACA,GAAG,UAAU,EAAE;AACf;AACA,sDAAsD,KAAK,EAAE,EAAE;AAC/D;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,8C;;ACvCuC;AACC;AACe;;AAEvD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEO,MAAM,mBAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,MAAM,GAAG,eAAe;AAC3C;;AAEA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,SAAS;;AAE/B;AACA,yBAAyB,KAAS;AAClC;AACA;;AAEA;AACA,sBAAsB,SAAS;;AAE/B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qC;;ACxEmC;AACM;AAChB;AACU;AAC5B;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACO,SAAS,gBAAO;AACvB,SAAS,EAAE;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP;;AAEA,MAAM,EAAE;AACR;AACA;AACA,qCAAqC,EAAE;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACO;AACP;AACA,MAAM,GAAU,KAAK,UAAc;AACnC;AACA;;AAEA,iBAAiB,aAAO;AACxB;;AAEA,iDAAiD;;;AAG1C;AACP;AACA;;AAEA,iBAAiB,qBAAqB;AACtC;AACA,mDAAmD;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA,sBAAsB;;AAEtB,+BAA+B,gBAAU,uCAAuC,gBAAU,wCAAwC,gBAAU;AAC5I;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,wBAAwB;;AAExB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+BAA+B,SAAa;AAC5C,8BAA8B,SAAa;AAC3C;AACA;;AAEO;AACP,SAAS,EAAE;AACX;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACO;AACP,qCAAqC,GAAU;AAC/C;AACA;AACA;AACA;AACA;AACO;AACP,wCAAwC,gBAAU;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA,OAAO,aAAO;AACd,+BAA+B,SAAa;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP,OAAO,EAAE;AACT;AACA,GAAG;;;AAGH,EAAE,gBAAU;AACZ;AACA;AACA,oC;;AC/NoE;AACnC;AACR;AAClB;AACP;AACA,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;;AAEA,SAAS,gBAAO;AAChB;AACO;AACP;;AAEA,MAAM,EAAE;AACR;AACA,GAAG,UAAU,EAAE;AACf;AACA;;AAEA,MAAM,EAAE;AACR,kBAAkB,cAAc;AAChC;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA,WAAW,MAAM,GAAG;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA,WAAW,MAAM,GAAG;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gC;;AC7EsD;AACvC;AACf;AACA;AACA;AACA,qBAAqB,eAAe;AACpC,SAAS,QAAQ;AACjB;AACA;AACA;AACA,CAAC;AACD,uC;;ACXgB,4EAAkC,EAAE;AACpD,iC;;ACDO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD,qC;;AC5CA;AACA;AACO,MAAM,uBAAQ;AACrB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0C;;AChBwC;AACU;AACZ;AACK;AACI;AACxC,MAAM,2BAAa,SAAS,SAAS;AAC5C;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;AACA;AACA;AACA,qDAAqD,uBAAQ;AAC7D,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,MAAM,GAAG;AACzB,kBAAkB,MAAM,GAAG;AAC3B,gBAAgB,MAAM,GAAG;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,6CAA6C;;AAE7C,oBAAoB,MAAM,GAAG;AAC7B,iBAAiB,KAAK;AACtB;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,CAAC;AACD;;AAEA,wBAAwB,2BAAa;AACrC;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA,KAAK;;AAEL;AAC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CA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,0BAA0B;AACvC,aAAa,iBAAiB;AAC9B;AACA,cAAc,aAAa;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,0BAA0B;AACvC,aAAa,iBAAiB;AAC9B;AACA,cAAc,aAAa;AAC3B;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;;;AAGA;AACA;;AAEA,SAAS,EAAE;AACX;AACA;;AAEA,mBAAmB,KAAK;;AAExB;AACA;AACA;AACA;AACA,oCAAoC,MAAM,CAAC,MAAM,GAAG;AACpD;AACA;;AAEA;AACA,UAAU,EAAE;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;;AAEA,4CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,wC;;AC/YuC;AACU;AACT;AACR;AACzB,MAAM,+BAAe;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT,+BAA+B,EAAE;AACjC,4BAA4B,SAAa;;AAEzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA,cAAc,MAAM,cAAc;AAClC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,uBAAuB,EAAE;AACzB;;AAEA;AACA;AACA;;AAEA,kBAAkB,IAAQ;AAC1B;AACA;;AAEA;AACA;AACA;;AAEA,WAAW,EAAE;AACb,QAAQ,EAAE,kBAAkB,eAAwB;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2C;;ACtGA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACe,qEAAa,EAAC;AAC7B,yC;;ACzBmC;AACD;AACQ;AACX;AACN;AACsB;AACxC;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP,4BAA4B,gBAAG,6BAA6B,gBAAG;AAC/D,CAAC;;AAEM;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,IAAI;;AAEJ,MAAM,aAAO;AACb;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACO;AACP;;AAEA,MAAM,aAAO;AACb;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACO;AACP,SAAS,EAAE;AACX;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP,qBAAqB;;AAErB,MAAM,EAAE;AACR;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,SAAS,EAAE,qDAAqD,EAAE;AAClE;AACA,qDAAqD,gBAAG;AACxD,CAAC;;AAEM;AACP,eAAe,EAAE;AACjB,UAAU,gBAAyB,iCAAiC,gBAAyB;AAC7F;AACO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACO;AACP;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACyB;AACzB,wC;;ACzPuC;AACU;AACT;AACR;AACgB;AACS;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,GAAG;AACH;;AAEA;AACA;AACA,iBAAiB,IAAQ;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yCAAyC,QAAY;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB,SAAa;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA,OAAO;AACP,uBAAuB,0BAA0B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB,IAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL,sCAAsC,YAAY;AAClD,mCAAmC;;AAEnC;AACA;AACA;AACA,SAAS,OAAO;;AAEhB,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA,WAAW,iBAAiB;;AAE5B;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA,yCAAyC;;AAEzC;AACA;AACA,aAAa;;;AAGb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;AACA;AACA,0BAA0B,gBAAS;AACnC;AACA,0BAA0B,eAA4B;AACtD,8BAA8B;;AAE9B,WAAW,EAAE;AACb,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA,SAAS;;AAET,YAAY,eAAwB,uBAAuB,YAAqB,0BAA0B,YAAqB;AAC/H;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAmB;AACnC;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA,MAAM,gBAAS;AACf;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC,IAAI,mBAAO;AACX;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,OAAO,EAAE;AACT;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,MAAM,GAAG;AAC3B;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA,CAAC,EAAC;AACF,kC;;ACnRA;AAC0C;AACO;AACjB;AACyB;AACJ;AAC9C;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ,+BAA+B,cAA2B;AAC1D,0BAA0B,SAAsB;AAChD,8BAA8B,aAA0B;AACxD,2BAA2B,UAAuB;AAClD,4BAA4B,cAAuB;AACnD,kCAAkC,oBAA6B;AAC/D,6BAA6B,eAAwB;AACrD,qBAAqB,gBAAgB;AACrC,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB,YAAY,SAAS;AACrB,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,aAAa,SAAS;AACtB,aAAa,iBAAiB;AAC9B;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,aAAa,SAAS;AACtB,aAAa,iBAAiB;AAC9B;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA,QAAQ,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,WAAW,aAAO;AAClB;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,WAAW,aAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc;AACd;;;AAGA;AACA,QAAQ,EAAE;AACV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0C;;AC7PqC;AAC9B;AACP;AACA;AACA;AACA,MAAM,GAAM;AACZ;AACA;;AAEA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,gC;;AClBO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uC;;ACfuC;AACC;AACF;AACkB;AACC;AACX;AACK;AACJ;AACxC;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oCAAoC;;AAE9B;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sCAAsC;;AAEvC;AACO,MAAM,uBAAW;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;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,kBAAkB,QAAQ;AAC1B;AACA,KAAK;AACL;AACA;AACA,aAAa,SAAsB;AACnC;AACA,YAAY,SAAsB;AAClC;AACA,WAAW,SAAsB;AACjC;AACA,aAAa,SAAsB;AACnC;AACA,gBAAgB,SAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;;AAEA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,8BAA8B,eAAe;AAC7C;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,qBAAqB;AAClE;AACA;AACA,aAAa,OAAO;AACpB,aAAa,aAAa;AAC1B,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB;;;AAGA;AACA;AACA;AACA;;AAEA,IAAI,UAAU;AACd;AACA;AACA;AACA,uCAAuC,MAAM,GAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA,6BAA6B,KAAK;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,gBAA6B;AACnC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,UAAuB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ,eAAe;AAChE;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,MAAM,aAA0B;AAChC;;AAEA,gBAAgB,MAAM;AACtB;AACA;AACA;AACA;AACA,KAAK,iBAAiB;AACtB;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,oCAAoC,KAAK;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,aAAa;AAC1B;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,YAAyB,UAAU;;AAEzD,mGAAmG,SAAa;AAChH;;AAEA;AACA;AACA;;AAEA;AACA,eAAe,YAAyB;AACxC;AACA;AACA;;AAEA;AACA,wBAAwB,WAAW;AACnC;AACA;AACA,KAAK;AACL;AACA;;AAEA,IAAI,SAAsB;AAC1B,IAAI,cAA2B;;AAE/B;AACA;AACA;AACA;AACA,MAAM,mBAA0B;;AAEhC;AACA,QAAQ,UAAuB;AAC/B,QAAQ,UAAuB;AAC/B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,2BAAa;AAC5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,MAAM,QAAkB;AACxB;AACA;AACA;;AAEA,uEAAuE,MAAM;;AAE7E;AACA;AACA;;AAEA;;AAEA,2CAA2C,MAAM;;AAEjD;AACA;AACA;;AAEA;;AAEA,iDAAiD,MAAM;;AAEvD;AACA;;AAEA;AACA;AACA;;AAEA;AACe,4EAAW,EAAC;AACJ;AACvB,uC;;ACxgBqE;AACrC;AACe;;AAE/C;AACA;AACA;AACA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,mCAAmC,WAAW;AAC9C;;;AAGA;AACA,gBAAgB,SAAS;AACzB;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,GAAG;;;AAGH,MAAM,EAAE,0BAA0B,eAAe;AACjD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEO,SAAS,kCAAO;AACvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,sBAAsB;AACpC;;AAEA;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA,4EAA4E,YAAY;AACxF;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACe;AACf;AACA,SAAS;AACT;AACA,wBAAwB,UAAU;AAClC;AACA,GAAG,IAAI;AACP,CAAC,EAAC;AACF,sD;;AC9G4C;AAC5C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,UAAc;AAClC;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEe,4DAAM,EAAC;AACtB,6C;;AC/I0C;AACM;AACI;AACK;AACV;AAC0B;AAC7B;AAC5C;;AAEA,SAAS,oBAAO;AAChB;;AAEA;AACA;AACA;;AAEA,sBAAsB,aAAO;AAC7B;;AAEA,MAAM,gBAAU;AAChB;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;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG,EAAE;;AAEL;AACA,oCAAoC,gBAAe;AACnD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA,SAAS,KAAK,YAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,0BAA0B;AAC5C;;AAEA;AACA;AACA;AACA,wBAAwB,cAA2B;AACnD,0CAA0C,eAA4B;AACtE,uBAAuB;;AAEvB;AACA,wCAAwC;;AAExC;AACA;AACA,0BAA0B,YAAyB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,WAAW,aAAO;AAClB;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,YAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,2BAA2B,iBAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,MAAM,yBAAY;AAClB;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sDAAsD,QAAQ;AAC9D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACe,+EAAY,EAAC;AAC5B,wC;;ACpR0C;AACJ;AACU;AACR;AACN;AACQ;AACC;AACQ;AACkB;AACd;AACR;AACd;AAC0B;AACd;AACtC,MAAM,WAAK;AAClB;AACA;AACA;AACA;AACA;AACA,kCAAkC,gCAAgC;AAClE;AACA;AACA,mBAAmB,aAAO;AAC1B,oBAAoB,KAAK,CAAC,uBAAQ;AAClC,qBAAqB,mBAAS;AAC9B;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,OAAO;AACP,oBAAoB;AACpB;AACA;AACA,0BAA0B,oBAAoB;AAC9C,yBAAyB,2BAAa;AACtC;AACA,6BAA6B,+BAAe;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,sCAAsC,yBAAgB;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI;;AAEX,YAAY,aAAa;AACzB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,SAAa;AAChC,wBAAwB,MAAM,GAAG;AACjC;AACA;AACA;AACA,KAAK;AACL,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,mBAAmB,SAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACO;AACP;AACA,EAAE,WAAQ;AACV,EAAE,gBAAU;AACZ,EAAE,aAAO;AACT,EAAE,GAAG;AACL;AACA;AACA,kBAAkB,iBAAY;AAC9B,kBAAkB,MAAM;AACxB;AACA;;AAEA;AACA;AACA;AACA,iC;;ACxOyC;AACzC,MAAM,cAAK,OAAO,WAAK;AACvB,MAAM,iBAAQ,GAAG,cAAK;AACP,0EAAQ,EAAC;AACjB,MAAM,aAAI,UAAU,cAAK;;AAEhC;AACA,EAAE,aAAI;AACN;AACA,iC;;ACTgC;AACY;;AAE5C,SAAS,2BAAO;AAChB;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;;AAGA,sCAAsC,QAAQ;AAC9C;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA,qCAAqC,QAAQ;AAC7C;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;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;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEe;AACf;AACA,SAAS;AACT,CAAC,EAAC;AACF,+C;;AC5KiD;AACT;AACR;AACc;AACa;;AAE3D,SAAS,YAAO;AAChB;AACA;AACA;AACA,GAAG;AACH,kBAAkB,mBAAmB;AACrC;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;;AAEH;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,SAAS,EAAE;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,UAAmB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAE,UAAU;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;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,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACe,kDAAS,EAAC;AACzB,gC;;AC7TkD;AAClB;AACE;;AAElC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,qCAAqC;;AAErC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,6FAA6F,IAAS;AACtG;AACA;AACA;AACA,MAAM;;;AAGN,WAAW,EAAE;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,UAAU;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA,CAAC,EAAC;AACF,oC;;AC5EmC;;AAEnC,SAAS,YAAO;AAChB;AACA;AACA,GAAG;AACH,kBAAkB,IAAU;AAC5B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC,EAAC;AACF,gC;;AChEkC;AACG;AACR;AACd;AACf;;AAEA;AACA,oBAAoB,IAAS;AAC7B,oBAAoB,IAAI;AACxB,oBAAoB,QAAQ;AAC5B;;AAEA,CAAC,EAAC;AACF,kC;;ACbA;AACsD;AACrB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,iBAAM;AACnB,iC;;ACfmC;;AAEnC,SAAS,cAAO;AAChB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;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,MAAM,gBAAS;AACf,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACe,oDAAI,EAAC;AACpB,kC;;ACjKA;AACyD;AACxB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,WAAM;AACnB,iC;;ACfwD;AACT;AACJ;AACR;;AAEnC,SAAS,qBAAO;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG,SAAS;;AAEZ;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,MAAM,GAAG;AACxB;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH,MAAM,EAAE;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAM,EAAE;AACR;AACA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK,UAAU,EAAE;AACjB;AACA;;AAEA;AACA;;AAEA,MAAM,EAAE;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA,kBAAkB,EAAE;AACpB,mBAAmB,EAAE,4DAA4D;;AAEjF;;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,OAAO,EAAE;AACT;AACA;;AAEA,SAAS,EAAE;AACX;AACA,IAAI,WAAe;AACnB;;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;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,MAAM,GAAG;AACpB,eAAe,MAAM,GAAG;AACxB,cAAc,MAAM,GAAG;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAI;AACb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA,oEAAoE;;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,MAAM;;AAER;AACA;AACA,IAAI,MAAM;;AAEV;AACA;AACA;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,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,MAAM,WAAI;AACV;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACe,wDAAM,EAAC;AACtB,kC;;AC7bA;AACyD;AACxB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,aAAM;AACnB,iC;;ACfgB,uDAAQ,EAAE;AAC1B,sC;;ACDgB,8DAAQ,EAAE;AAC1B,oC;;ACDgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC,EAAE;AACH,gC;;ACtCwD;AACJ;AACR;AAC5C,+B;;ACHwC;AACA;AACxC;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,wBAAwB,MAAM,wBAAwB,EAAE,mBAAW;AACnE;AACA;;AAEA;AACe,kEAAc,EAAC;AAC9B,kC;;ACfsC;AACE;AACM;AAC/B,MAAM,yBAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB,MAAM,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,iBAAiB,MAAM,GAAG;AAC1B,eAAe,MAAM,GAAG;AACxB;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,iCAAiC,MAAM,GAAG;AAC1C;;AAEA;AACA;AACA;AACA,QAAQ,QAAkB;AAC1B;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,MAAM,MAAM;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL,yBAAyB;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,wBAAwB,MAAM;AAC9B;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,wCAAwC,KAAK;AAC7C,+BAA+B,MAAM,GAAG,wBAAwB,MAAM,GAAG;AACzE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,wC;;ACvY6C;AACtC;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,qCAAqC,yBAAY;AACjD,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,gEAAa,EAAC;AAC7B,gC;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,eAAe;AAC5D,QAAQ;AACR,6BAA6B,oBAAoB;AACjD;AACA,IAAI;AACJ;AACA;AACwC;AACI;AACC;AACJ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,wBAAwB,MAAM,GAAG;AACjC,sBAAsB,MAAM,GAAG;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,IAAI,MAAM;;AAEV;AACA;AACA;;AAEA,gCAAgC,yBAAY;AAC5C;AACA;AACA;AACA,8BAA8B;AAC9B,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,0BAA0B,MAAM,GAAG;AACnC;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,MAAM,GAAG;AACnC,IAAI,QAAQ;AACZ;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA,oEAAoE;;AAEpE;AACA,MAAM,MAAM;AACZ;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEe,sEAAY,4BAA4B,EAAC;AACjC;AACvB,uC;;ACtJA;;AAEA;AACe,uDAAI,EAAC;AACpB,gC;;ACJ2C;AACR;AACc;AACP;;AAE1C,SAAS,aAAK;AACd;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,iBAAiB,MAAM;AACvB;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,CAAC;AACD;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA,eAAe,UAAoB;AACnC;AACA;AACA;;AAEO;AACP,MAAM,EAAE;AACR,WAAW,eAAyB;AACpC,GAAG;AACH,WAAW,eAAyB;AACpC;AACA;AACA,MAAM,gBAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,UAAU;AACV;AACe,iEAAY,sBAAsB,EAAC;AAC9B;AACpB,mC;;AC7FA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACuC;AACM;AACP;AACQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,WAAK;AACd;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;;AAEA;AACA,uBAAuB,kBAAkB;AACzC,aAAa,QAAkB;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,SAAG;AACZ;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,eAAe,MAAM,GAAG;AACxB,gBAAgB,kBAAkB;AAClC,gBAAgB,kBAAkB;AAClC;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,cAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,+DAAY,gCAAgC,EAAC;AACnC;AACzB,iC;;AClH2C;AACD;AACF;AACxC,MAAM,aAAQ,GAAG,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC,EAAE,QAAQ;AACX;AACA,SAAS,QAAQ;AACjB,OAAO,QAAQ;AACf,UAAU;AACV;AACe,8DAAY,8BAA8B,EAAC;AAClC;AACxB,gC;;ACvB2C;AACM;AACP;AACC;AACO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,UAAK;AACd,SAAS,aAAa;AACtB;;AAEA,SAAS,QAAG;AACZ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA,kBAAkB,UAAoB,CAAC,kBAAkB;AACzD,kBAAkB,UAAoB,CAAC,kBAAkB;AACzD;AACA;AACA,WAAW,MAAM,GAAG,EAAE,aAAa;AACnC,WAAW,MAAM,GAAG,EAAE,aAAa;AACnC;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,EAAE,aAAa;AACf;AACA;;AAEA,MAAM,aAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,qDAAY,8BAA8B,EAAC;AAClC;AACxB,gC;;AC1E2C;AACU;AACZ;AACN;AAC6B;AACtB;;AAE1C,SAAS,kBAAK;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,uBAAuB,eAAe;AACtC,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,MAAM;AACf;AACA;AACA,GAAG;AACH;;AAEA,SAAS,WAAG;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,iBAAiB,WAAW;AAC5B,eAAe,MAAM,GAAG;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qDAAqD,aAAa;AAClE;AACA;;AAEA,UAAU,EAAE;AACZ;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY,EAAE;AACd,YAAY,EAAE;AACd,eAAe,EAAE;AACjB;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,KAAK;AAC1B,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,QAAQ,CAAC,eAAe;AAChD,kCAAkC,WAAW;AAC7C;AACA;;AAEA,MAAM,qBAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,6DAAY,cAAc,EAAC;AAC1B;AAChB,mC;;AC/KA;AACA;AAC2C;AACR;AACO;AACN;;AAEpC,SAAS,eAAK;AACd;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,EAAE,IAAI;AACN;AACA;AACA;;AAEA,SAAS,aAAG;AACZ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,kBAAkB,MAAM,GAAG;AAC3B;;AAEA;AACA;;AAEA,QAAQ,EAAE;AACV;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,sBAAsB,IAAI;AAC1B;AACA;AACA;;AAEA,MAAM,kBAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,UAAU;AACV;AACe,0DAAY,sBAAsB,EAAC;AAC9B;AACpB,gC;;ACrGA;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;AACyC;AACE;AACD;AACL;;AAErC,SAAS,gBAAK;AACd;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA,SAAS,QAAQ;AACjB;;AAEA;AACA,OAAO;AACP,OAAO,QAAQ;AACf,YAAY,MAAM,CAAC,KAAK,CAAC,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACe,2DAAY,wBAAwB,EAAC;AAC/B;AACrB,iC;;AC5DA;AAC2C;AACZ;AACiB;AACH;AACC;AACA;AACL;AACD;AACH;AACC;AACL;AACM;AACxB;AACf,EAAE,kCAAW;AACb,EAAE,6BAAa;AACf,EAAE,0BAAQ;AACV,EAAE,2BAAY;AACd,EAAE,kBAAY;AACd,EAAE,qBAAS;AACX,EAAE,kBAAI;AACN,EAAE,mBAAQ;AACV,EAAE,sBAAM;AACR,EAAE,qBAAK;AACP,EAAE,yBAAS;AACX,EAAE,0BAAU;AACZ,CAAC,EAAC;AACF,+B;;AC3B6C;AAClB;AACE;AAC7B,MAAM,gBAAS;AACf;;AAEA;AACA;AACA;AACA,KAAK;AACL,oBAAoB,cAAI;AACxB,oBAAoB,eAAQ;AAC5B,yBAAyB,aAAG,CAAC;;AAE7B,uBAAuB,aAAG;AAC1B;AACA;AACA;AACA,OAAO,GAAG,aAAG;AACb;AACA;AACA;AACA;;AAEA;AACe,qEAAS,EAAC;AACzB,kC;;AC1BA;AACsD;AACrB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,gBAAM;AACnB,iC;;ACfA;AACgD;AACE;AACV;AACR;AACU;AAC1C;;AAEA;AACA;AACA;AACA;AACA,CAAC,8BAA8B;;AAE/B;AACA;AACA;AACA;AACA,EAAE;;AAEF,oDAAoD;;AAEpD,SAAS,wBAAO;AAChB;AACA,CAAC,KAAK;AACN;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,MAAM;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,KAAK;AACL,wEAAwE,gBAAU;AAClF,GAAG;;AAEH;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA,CAAC;AACD;;AAEA;AACA;AACA,mEAAmE,WAAW;AAC9E;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA,uCAAuC,GAAU;AACjD;AACA;;AAEA;AACA;;AAEA,SAAS,EAAE;AACX;AACA;AACA;;AAEA,aAAa,UAAU;AACvB;;AAEA;AACA;;AAEA,MAAM,SAAE;AACR;AACA,IAAI;AACJ;AACA,CAAC;AACD,IAAI;AACJ,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACe,kEAAa,EAAC;AAC7B,kC;;AC3IA;AACsD;AACrB;;AAEjC;AACA,EAAE,aAAI;AACN,CAAC;;;AAGD,KAAK,KAAsC,MAAM,oBAAQ;AACzD,EAAE,oBAAQ;AACV;AACA;;AAEA,oBAAQ,KAAK,gBAAM;AACnB,iC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyEA;AACA;AACA;CAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,kBADA;AAEA;AACA;;;;;AAIA;;;;;;;;;;;;;;;;AAiBA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KAtBA;AA2BA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KA3BA;;AAgCA;;;;;AAKA;AACA,mBADA;AAEA,qBAFA;AAGA;AAHA,KArCA;AA0CA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KA1CA;AA+CA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KA/CA;AAoDA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KApDA;AAyDA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAzDA;AA8DA;AACA,kBADA;AAEA;AAFA,KA9DA;AAkEA;AACA,kBADA;AAEA;AAFA,KAlEA;AAsEA;AACA,kBADA;AAEA;AAFA,KAtEA;AA0EA;AACA,kBADA;AAEA;AAFA,KA1EA;AA8EA;AACA;AADA,KA9EA;AAiFA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAjFA;AAsFA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA,KAtFA;AA2FA;AACA,kBADA;AAEA,qBAFA;AAGA;AAHA;AA3FA,GAFA;AAmGA,gCAnGA;AAoGA;AACA;AACA,aADA;AAEA,yBAFA;AAGA,mBAHA;AAIA,sBAJA;AAKA,uBALA;AAMA,qBANA;AAOA,qBAPA;AAQA,4BARA;AASA,0BATA;AAWA,uBAXA;AAYA,oBAZA;AAaA,uBAbA;AAcA,oBAdA;AAeA,gBAfA;AAgBA,gBAhBA;AAiBA,gBAjBA;AAkBA,gBAlBA;AAmBA,eAnBA;AAoBA,gBApBA;AAsBA,yBAtBA;AAuBA,2BAvBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,qBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA,oBA/BA;AAgCA;AAhCA;AAkCA,GAvIA;AAwIA,SAxIA,qBAwIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA3LA;AA4LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GA1MA;AA2MA;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA,GAnOA;AAoOA;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,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GApOA;AA+SA;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,GA/SA;AAgVA;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;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KAlVA;AAmVA;AACA;;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,2EAFA;AAGA,4EAHA;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,KArYA;AAsYA;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;AA3aA;AAhVA,G;;ACrGkU,CAAgB,gHAAG,EAAC,C;;;;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGpE;AAC0F;AAC1F,gBAAgB,8CAAU;AAC1B,EAAE,2CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,yF;;;;;;;ACnBf;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;;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A;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;AACA;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;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;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;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;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;;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;AACA;;;;;;;;ACppBA;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;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,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA;AACA;;;;;;;;ACFA,iBAAiB,mBAAO,CAAC,MAAW;;;;;;;;ACApC,eAAe,mBAAO,CAAC,MAAW;AAClC;;;;;;;;;;;;ACDA;;AAEA;AACA,MAAM,IAAuC;AAC7C,IAAI,mBAAO,CAAC,MAAyB;AACrC;;AAEA;AACA;AACA,IAAI,qBAAuB;AAC3B;AACA;;AAEA;AACe,sDAAI;;;;;;ACdnB;AAAA;AAAA;AAAwB;AACA;AACT,4GAAG;AACI;;;;;;;;ACHtB;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!./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=27b36423&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=5b39b04a&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n\n function initDocument(targetDocument) {\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n injectScrollStyle(targetDocument, styleId, detectionContainerClass);\n }\n\n initDocument(window.document);\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width*2 + \"px\", \"height: \" + height*2 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n var container = document.createElement(\"div\");\n container.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width + \"px\", \"height: \" + height + \"px\", \"overflow: scroll\", \"visibility: none\", \"top: \" + -width*3 + \"px\", \"left: \" + -height*3 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(targetDocument, styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n targetDocument.head.appendChild(element);\n };\n\n var styleElement = targetDocument.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!targetDocument.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { \" + buildCssTextString([\"display: none\"]) + \" }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { \" + buildCssTextString([\"-webkit-animation-duration: 0.1s\", \"animation-duration: 0.1s\", \"-webkit-animation-name: \" + containerAnimationClass, \"animation-name: \" + containerAnimationClass]) + \" }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = buildCssTextString([\"visibility: hidden\", \"display: inline\", \"width: 0px\", \"height: 0px\", \"z-index: -1\", \"overflow: hidden\", \"margin: 0\", \"padding: 0\"]);\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\",options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return [\"left: \" + left, \"top: \" + top, \"right: \" + right, \"bottom: \" + bottom];\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\", \"left: 0px\", \"top: 0px\"]);\n var containerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth)));\n var expandStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var shrinkStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var expandChildStyle = buildCssTextString([\"position: absolute\", \"left: 0\", \"top: 0\"]);\n var shrinkChildStyle = buildCssTextString([\"position: absolute\", \"width: 200%\", \"height: 200%\"]);\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.setProperty(\"width\", expandWidth + \"px\", options.important ? \"important\" : \"\");\n expandChild.style.setProperty(\"height\", expandHeight + \"px\", options.important ? \"important\" : \"\");\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped.\n var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!sizeChanged) {\n return;\n }\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then\n // been restored to the original size, which will have changed the scrollbar positions.\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (sizeChanged && done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n updateDetectorElements(notifyListenersIfNeeded);\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var importantCssRules = getOption(options, \"important\", false);\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler,\n important: importantCssRules\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n function initDocument(targetDocument) {\n detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument);\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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 e2d5877c..6b063c47 100644 --- a/dist/vue-grid-layout.umd.min.js +++ b/dist/vue-grid-layout.umd.min.js @@ -1,2 +1,3 @@ -(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["VueGridLayout"]=e(require("vue")):t["VueGridLayout"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),u=n("41a0"),c=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,y,m,b,x){u(n,e,y);var w,S,O,_=function(t){if(!d&&t in M)return M[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},E=e+" Iterator",P=m==v,j=!1,M=t.prototype,T=M[f]||M[p]||m&&M[m],k=T||_(m),z=m?P?_("entries"):k:void 0,I="Array"==e&&M.entries||T;if(I&&(O=l(I.call(new t)),O!==Object.prototype&&O.next&&(c(O,E,!0),r||"function"==typeof O[f]||a(O,f,g))),P&&T&&T.name!==v&&(j=!0,k=function(){return T.call(this)}),r&&!x||!d&&!j&&M[f]||a(M,f,k),s[e]=k,s[E]=g,m)if(w={values:P?k:_(v),keys:b?k:_(h),entries:z},x)for(S in w)S in M||o(M,S,w[S]);else i(i.P+i.F*(d||j),e,w);return w}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),u=r(n),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1156:function(t,e,n){var r=n("ad20");"string"===typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),u)try{return c(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),s=a.length,u=0;while(s>u)r.f(t,n=a[u++],e[n]);return t}},"18d2":function(t,e,n){"use strict";var r=n("18e9");t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState;if(!e)throw new Error("Missing required dependency: reporter.");function o(t,e){if(!s(t))throw new Error("Element is not detectable by this strategy.");function n(){e(t)}if(r.isIE(8))i(t).object={proxy:n},t.attachEvent("onresize",n);else{var o=s(t);o.contentDocument.defaultView.addEventListener("resize",n)}}function a(t,o,a){a||(a=o,o=t,t=null),t=t||{};t.debug;function s(t,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(t),c=t.offsetWidth,l=t.offsetHeight;function f(){function n(){if("static"===u.position){t.style.position="relative";var n=function(t,e,n,r){function i(t){return t.replace(/[^-\d\.]/g,"")}var o=n[r];"auto"!==o&&"0"!==i(o)&&(t.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: ",e),e.style[r]=0)};n(e,t,u,"top"),n(e,t,u,"right"),n(e,t,u,"bottom"),n(e,t,u,"left")}}function c(){function e(t,n){t.contentDocument?n(t.contentDocument):setTimeout((function(){e(t,n)}),100)}s||n();var r=this;e(r,(function(e){o(t)}))}""!==u.position&&(n(u),s=!0);var l=document.createElement("object");l.style.cssText=a,l.tabIndex=-1,l.type="text/html",l.setAttribute("aria-hidden","true"),l.onload=c,r.isIE()||(l.data="about:blank"),t.appendChild(l),i(t).object=l,r.isIE()&&(l.data="about:blank")}i(t).startSize={width:c,height:l},n?n.add(f):f()}r.isIE(8)?a(o):s(o,a)}function s(t){return i(t).object}function u(t){r.isIE(8)?t.detachEvent("onresize",i(t).object.proxy):t.removeChild(s(t)),delete i(t).object}return{makeDetectable:a,addListener:o,uninstall:u}}},"18e9":function(t,e,n){"use strict";var r=t.exports={};r.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return-1!==t.indexOf("msie")||-1!==t.indexOf("trident")||-1!==t.indexOf(" edge/")}if(!e())return!1;if(!t)return!0;var n=function(){var t,e=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++e+"]>4?e:t}();return t===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1ca7":function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"a",(function(){return s})),n.d(e,"c",(function(){return u}));var r="auto";function i(){return"undefined"!==typeof document}function o(){return"undefined"!==typeof window}function a(){if(!i())return r;var t="undefined"!==typeof document.dir?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir");return t}function s(t,e){o?window.addEventListener(t,e):e()}function u(t,e){o&&window.removeEventListener(t,e)}},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),c=s("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=s(t),p=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),h=p?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!e})):void 0;if(!p||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[d],g=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===u?p&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),y=g[0],m=g[1];r(String.prototype,t,y),i(RegExp.prototype,d,2==e?function(t,e){return m.call(t,this,e)}:function(t){return m.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},2350:function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,n){"string"===typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[u][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2af9":function(t,e,n){"use strict";(function(t){n.d(e,"d",(function(){return a}));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var r=n("bc21");n.d(e,"a",(function(){return r["a"]}));var i=n("37c8");n.d(e,"b",(function(){return i["a"]}));var o={GridLayout:i["a"],GridItem:r["a"]};function a(t){a.installed||(a.installed=!0,Object.keys(o).forEach((function(e){t.component(e,o[e])})))}var s={install:a},u=null;"undefined"!==typeof window?u=window.Vue:"undefined"!==typeof t&&(u=t.Vue),u&&u.use(s),e["c"]=o}).call(this,n("c8ba"))},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},"2cef":function(t,e,n){"use strict";t.exports=function(){var t=1;function e(){return t++}return{generate:e}}},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"37c8":function(t,e,n){"use strict";var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:t.mergedStyle},[t._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:t.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:t.placeholder.x,y:t.placeholder.y,w:t.placeholder.w,h:t.placeholder.h,i:t.placeholder.i}})],2)},i=[],o=(n("8e6e"),n("cadf"),n("456d"),n("f751"),n("fca0"),n("ac6a"),n("85f2")),a=n.n(o);function s(t,e,n){return e in t?a()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("c5f6");var u=n("8bbf"),c=n.n(u),l=n("a2b6");n("55dd");function f(t,e){for(var n=h(t),r=n[0],i=1,o=n.length;it[a]&&(r=a)}return r}function d(t,e){if(!e[t])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function p(t,e,n,r,i,o,a){if(e[r])return Object(l["b"])(e[r]);for(var s=t,u=h(n),c=u.slice(u.indexOf(r)),f=0,d=c.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(t):this.originalLayout=this.originalLayout.filter((function(e){return!t.some((function(t){return e.i===t.i}))}))),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight(),this.$emit("layout-updated",this.layout)}},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){var t=Object(l["a"])(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return t}},dragEvent:function(t,e,n,r,i,o){var a=Object(l["f"])(this.layout,e);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===t||"dragstart"===t?(this.placeholder.i=e,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=Object(l["g"])(this.layout,a,n,r,!0,this.preventCollision),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===t&&this.$emit("layout-updated",this.layout)},resizeEvent:function(t,e,n,r,i,o){var a,s=Object(l["f"])(this.layout,e);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=Object(l["e"])(this.layout,m({},s,{w:o,h:i})).filter((function(t){return t.i!==s.i}));if(a=u.length>0,a){var c=1/0,f=1/0;u.forEach((function(t){t.x>s.x&&(c=Math.min(c,t.x)),t.y>s.y&&(f=Math.min(f,t.y))})),Number.isFinite(c)&&(s.w=c-s.x),Number.isFinite(f)&&(s.h=f-s.y)}}a||(s.w=o,s.h=i),"resizestart"===t||"resizemove"===t?(this.placeholder.i=e,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(),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===t&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var t=f(this.breakpoints,this.width),e=d(t,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=Object(l["b"])(this.layout));var n=p(this.originalLayout,this.layouts,this.breakpoints,t,this.lastBreakpoint,e,this.verticalCompact);this.layouts[t]=n,this.lastBreakpoint!==t&&this.$emit("breakpoint-changed",t,n),this.$emit("update:layout",n),this.lastBreakpoint=t,this.eventBus.$emit("setColNum",d(t,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},findDifference:function(t,e){var n=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))})),r=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))}));return n.concat(r)}}},w=x,S=(n("e279"),n("2877")),O=Object(S["a"])(w,r,i,!1,null,null,null);e["a"]=O.exports},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(t){return i(r(t))}}))},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(t,e,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(t,e,n,s){return[function(n){var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=s(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,c))){var h=String(f[0]);d[p]=h,""===h&&(u.lastIndex=o(c,i(u.lastIndex),l)),p++}return 0===p?null:d}]}))},"499e":function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i=m&&(n=i);else n=i}else n=i}var h,g,y,m;return n},S.matchesUpTo=function(t,e,n){for(;o.default.element(t);){if(_(t,e))return!0;if((t=O(t))===n)return _(t,e)}return!1},S.getActualElement=function(t){return t.correspondingUseElement||t},S.getScrollXY=j,S.getElementClientRect=M,S.getElementRect=function(t){var n=M(t);if(!b.default.isIOS7&&n){var r=j(e.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){for(var e=[];t;)e.push(t),t=O(t);return e},S.trySelector=function(t){return!!o.default.string(t)&&(v.default.document.querySelector(t),!0)};var E=function(t){return t.parentNode||t.host};function P(t,e){for(var n,r=[],i=t;(n=E(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function j(t){return{x:(t=t||e.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function M(t){var e=t instanceof v.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var T={};Object.defineProperty(T,"__esModule",{value:!0}),T.default=function(t,e){for(var n in e)t[n]=e[n];return t};var k={};function z(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?G(e):e[0];F(r,t.page),X(r,t.client),t.timeStamp=n},W.getTouchPair=Y,W.pointerAverage=G,W.touchBBox=function(t){if(!t.length)return null;var e=Y(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),i=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},W.touchDistance=function(t,e){var n=e+"X",r=e+"Y",i=Y(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,C.default)(o,a)},W.touchAngle=function(t,e){var n=e+"X",r=e+"Y",i=Y(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI},W.getPointerType=function(t){return o.default.string(t.pointerType)?t.pointerType:o.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof v.default.Touch?"touch":"mouse"},W.getEventTargets=function(t){var e=o.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},W.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},W.coordsToEvent=function(t){return{coords:t,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},preventDefault:function(){}}},Object.defineProperty(W,"pointerExtend",{enumerable:!0,get:function(){return H.default}});var V={};function U(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&v<=s.right&&g>=s.top&&g<=s.bottom}if(h&&o.default.number(c)){var y=Math.max(0,Math.min(s.right,h.right)-Math.max(s.left,h.left))*Math.max(0,Math.min(s.bottom,h.bottom)-Math.max(s.top,h.top))/(h.width*h.height);u=y>=c}return t.options.drop.checker&&(u=t.options.drop.checker(e,n,u,t,a,r,i)),u}(this,t,e,n,r,i,a)},n.dynamicDrop=function(e){return o.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,T.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=ht.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var i=n.dropState;i.activeDrops=null,i.events=null,i.activeDrops=ct(e,n.element),i.events=ft(n,0,r),i.events.activate&&(ut(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":pt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(dt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:action-end":function(t,e){if("drag"===t.interaction.prepared.name){var n=t.interaction,r=t.iEvent;pt(t,e),dt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ct,getDrop:lt,getDropEvents:ft,fireDropEvents:dt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},vt=ht;st.default=vt;var gt={};function yt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var i=e.pointers.map((function(t){return t.pointer})),a="start"===r,s="end"===r,u=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],a)n.distance=W.touchDistance(i,u),n.box=W.touchBBox(i),n.scale=1,n.ds=0,n.angle=W.touchAngle(i,u),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=W.touchDistance(i,u),n.box=W.touchBBox(i),n.scale=n.distance/e.gesture.startDistance,n.angle=W.touchAngle(i,u),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,o.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(gt,"__esModule",{value:!0}),gt.default=void 0;var mt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return o.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):o.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=mt,e.methodDict.gesture="gesturable",r.actions.gesture=mt.defaults},listeners:{"interactions:action-start":yt,"interactions:action-move":yt,"interactions:action-end":yt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},bt=mt;gt.default=bt;var xt={};function wt(t,e,n,r,i,a,s){if(!e)return!1;if(!0===e){var u=o.default.number(a.width)?a.width:a.right-a.left,c=o.default.number(a.height)?a.height:a.bottom-a.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?u:c)/2)),u<0&&("left"===t?t="right":"right"===t&&(t="left")),c<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(u>=0?a.left:a.right)+s;if("top"===t)return n.y<(c>=0?a.top:a.bottom)+s;if("right"===t)return n.x>(u>=0?a.right:a.left)-s;if("bottom"===t)return n.y>(c>=0?a.bottom:a.top)-s}return!!o.default.element(r)&&(o.default.element(e)?e===r:S.matchesUpTo(r,e,i))}function St(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(xt,"__esModule",{value:!0}),xt.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;Ot.cursors=function(t){return t.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"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){return o.default.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),o.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),o.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:o.default.bool(e.square)&&(t.options.resize.square=e.square),t):o.default.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",i.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.rect;n._rects={start:(0,T.default)({},i),corrected:(0,T.default)({},i),previous:(0,T.default)({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),St(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.interactable.options.resize.invert,o="reposition"===i||"negate"===i,a=n.rect,s=n._rects,u=s.start,c=s.corrected,l=s.delta,f=s.previous;if((0,T.default)(f,c),o){if((0,T.default)(c,a),"reposition"===i){if(c.top>c.bottom){var d=c.top;c.top=c.bottom,c.bottom=d}if(c.left>c.right){var p=c.left;c.left=c.right,c.right=p}}}else c.top=Math.min(a.top,u.bottom),c.bottom=Math.max(a.bottom,u.top),c.left=Math.min(a.left,u.right),c.right=Math.max(a.right,u.left);for(var h in c.width=c.right-c.left,c.height=c.bottom-c.top,c)l[h]=c[h]-f[h];r.edges=n.prepared.edges,r.rect=c,r.deltaRect=l}}(t),St(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,a=t.buttons;if(i){var s=(0,T.default)({},e.coords.cur.page),u=n.options.resize;if(u&&u.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(a&u.mouseButtons))){if(o.default.object(u.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var l in c)c[l]=wt(l,u.edges[l],s,e._latestPointer.eventTarget,r,i,u.margin||Ot.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:"resize",edges:c})}else{var f="y"!==u.axis&&s.x>i.right-Ot.defaultMargin,d="x"!==u.axis&&s.y>i.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=Ot.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],u=0;u=1){var l={x:At.x*c,y:At.y*c};if(l.x||l.y){var f=Ct(a);o.default.window(a)?a.scrollBy(l.x,l.y):a&&(a.scrollLeft+=l.x,a.scrollTop+=l.y);var d=Ct(a),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:a})}At.prevTime=s}At.isScrolling&&(Mt.default.cancel(At.i),At.i=Mt.default.request(At.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&At.check(e.interactable,e.prepared.name))if(e.simulation)At.x=At.y=0;else{var r,i,a,s,u=e.interactable,c=e.element,l=e.prepared.name,f=u.options[l].autoScroll,d=Dt(f.container,u,c);if(o.default.window(d))s=n.clientXd.innerWidth-At.margin,a=n.clientY>d.innerHeight-At.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-At.margin,a=n.clientY>p.bottom-At.margin}At.x=i?1:s?-1:0,At.y=a?1:r?-1:0,At.isScrolling||(At.margin=f.margin,At.speed=f.speed,At.start(e))}}};function Dt(t,n,r){return(o.default.string(t)?(0,k.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Ct(t){return o.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Ht={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=At,At.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=At.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,At.stop(),At.interaction&&(At.interaction=null)},"interactions:stop":At.stop,"interactions:action-move":function(t){return At.onInteractionMove(t)}}};Rt.default=Ht;var Lt={};Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.window.console.warn(n),r=!0),t.apply(this,arguments)}},Lt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Nt={};function Wt(t){return o.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Bt(t){return o.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.default=void 0;var $t={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,i){var o=function(t,e,n,r,i){var o=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:o,buttons:a};return i.fire("auto-start:check",s),s.action}(this,n,r,i,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,i,r):o},e.prototype.ignoreFrom=(0,Lt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Lt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Bt,e.prototype.styleCursor=Wt}};Nt.default=$t;var Ft={};function Xt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Ut(e,n,t,i)?t:null}function Yt(t,e,n,r,i,o,a){for(var s=0,u=r.length;s=s)return!1;if(d.interactable===t){if((c+=p===n.name?1:0)>=o)return!1;if(d.element===e&&(l++,p===n.name&&l>=a))return!1}}}return s>0}function qt(t,e){return o.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Zt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Kt(t,e){var n=t.interactable,r=t.element,i=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var a="";if(i.name){var s=n.options[i.name].cursorChecker;a=o.default.func(s)?s(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}Zt(t.element,a||"",e)}else e.autoStart.cursorElement&&Zt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.default=void 0;var Jt={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Nt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,T.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return qt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Ut,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||Vt(n,Gt(n,r,i,o,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Vt(n,Gt(n,r,i,o,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,i=n.prepared.name;i&&r&&(r.options[i].manualStart||!Ut(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Kt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Zt(n.element,"",e)}},maxInteractions:qt,withinInteractionLimit:Ut,validateAction:Xt};Ft.default=Jt;var Qt={};Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.default=void 0;var te={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,a=t.dy;if("drag"===n.prepared.name){var s=Math.abs(i),u=Math.abs(a),c=n.interactable.options.drag,l=c.startAxis,f=s>u?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ne(e)>0&&(e.prepared.name=null)}},getHoldDuration:ne};ee.default=re;var ie={};Object.defineProperty(ie,"__esModule",{value:!0}),ie.default=void 0;var oe={id:"auto-start",install:function(t){t.usePlugin(Ft.default),t.usePlugin(ee.default),t.usePlugin(Qt.default)}};ie.default=oe;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0,ae.default={};var se={};function ue(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):o.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function ce(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function le(t){var n=t.Interactable;n.prototype.preventDefault=ue,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var i=t.options.preventDefault;if("never"!==i)if("always"!==i){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var a=(0,e.getWindow)(r.target).document,s=n.getDocOptions(a);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||o.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,i=t.defaults;t.logger=n||console,i.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,T.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Ce(e.prototype,n),r&&Ce(e,r),o}(V.BaseEvent);Ae.InteractEvent=$e,Object.defineProperties($e.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.PointerInfo=void 0,Fe.PointerInfo=function t(e,n,r,i,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};var Xe,Ye,Ge={};function Ve(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:i,duplicate:o,interaction:this};o||W.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),o||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&W.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||W.setZeroCoords(this.coords.delta),(t=(0,T.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var i=this.getPointerIndex(t);-1===i&&(i=this.updatePointer(t,e,n,!1));var o=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(o),{pointer:t,pointerIndex:i,pointerInfo:this.pointers[i],event:e,eventTarget:n,type:o,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&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._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=W.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:Z.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var i=W.getPointerId(t),o=this.getPointerIndex(t),a=this.pointers[o];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Fe.PointerInfo(i,t,e,null,null),o=this.pointers.length,this.pointers.push(a)),W.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),W.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,W.pointerExtend(this.downPointer,t),this.interacting()||(W.copyCoords(this.coords.start,this.coords.cur),W.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:o,interaction:this}),o}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Ae.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,i=t.type,o=this.rect;if(o&&"move"===n&&(k.addEdges(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,i);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Ze;var Ke=Ze;Ge.default=Ke;var Je={};function Qe(t){t.pointerIsDown&&(rn(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function tn(t){en(t.interaction)}function en(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return rn(t.coords.cur,e),rn(t.coords.delta,e),k.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function nn(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function rn(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}Object.defineProperty(Je,"__esModule",{value:!0}),Je.addTotal=Qe,Je.applyPending=en,Je.default=void 0,Ge._ProxyMethods.offsetBy="";var on={id:"offset",before:["modifiers","pointer-events","actions","inertia"],install:function(t){t.Interaction.prototype.offsetBy=nn},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return Qe(t.interaction)},"interactions:before-action-start":tn,"interactions:before-action-move":tn,"interactions:before-action-end":function(t){var e=t.interaction;if(en(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};Je.default=on;var an={};function sn(t,e){for(var n=0;nn.minSpeed&&i>n.endSpeed)this.startInertia();else{if(o.result=o.setAll(this.modifierArg),!o.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=cn(this.interaction),r=n.resistance,i=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-i)/r,y:(e.y-i)/r},this.te=i,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var o=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},o.result=o.setAll(a),o.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+o.result.delta.x,y:this.targetOffset.y+o.result.delta.y}),this.onNextFrame((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.onNextFrame((function(){return t.smoothEndTick()}))}},{key:"onNextFrame",value:function(t){var e=this;this.timeout=Mt.default.request((function(){e.active&&t()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,i,o,a,s=this,u=this.interaction,c=cn(u).resistance,l=(u._now()-this.t0)/1e3;if(l=0;n--){var r=e[n],i=r.selector,a=r.context,s=r.listeners;i===this.target&&a===this._context&&e.splice(n,1);for(var u=s.length-1;u>=0;u--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[u][0],s[u][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();mn.Interactable=wn;var Sn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var h=p.listeners,v=h.length-1;v>=0;v--){var g=jn(h[v],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===i&&b===l.capture&&x===l.passive){h.splice(v,1),h.length||(f.splice(a,1),s(e,r,u),s(e,r,c,!0)),d=!0;break}}if(d)break}}},delegateListener:u,delegateUseCapture:c,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function a(t,n,r,o){var a=kn(o),s=Z.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!Z.contains(s.events[n],r)&&(t.addEventListener(n,r,i.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,o){var a=kn(o),u=Z.findIndex(e,(function(e){return e.eventTarget===t})),c=e[u];if(c&&c.events)if("all"!==n){var l=!1,f=c.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function Dn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Cn=An;Rn.default=Cn;var Hn={};function Ln(t){return(Ln="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Nn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Wn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Wn(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Zn,doOnInteractions:Un,methodNames:Vn};Hn.default=Kn;var Jn={};function Qn(t){return(Qn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tr(t,e,n){return(tr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ir(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function er(t,e){return(er=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function nr(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ir(t);if(e){var i=ir(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return rr(this,n)}}function rr(t,e){return!e||"object"!==Qn(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ir(t){return(ir=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function or(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ar(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(u.y),s.coords,s.rect),(0,T.default)(r,s.coords)),s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Tr(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i:n.x=r.x+(n.y-r.y)*i}function kr(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var u=r.width/a;n.y=o.y+(u-i.height)*s}else{var c=r.height*a;n.x=o.x+(c-i.width)*s}}_r.aspectRatio=Mr;var zr=(0,ke.makeModifier)(Mr,"aspectRatio");_r.default=zr;var Ir={};Object.defineProperty(Ir,"__esModule",{value:!0}),Ir.default=void 0;var Rr=function(){};Rr._defaults={};var Ar=Rr;Ir.default=Ar;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Object.defineProperty(Dr,"default",{enumerable:!0,get:function(){return Ir.default}});var Cr={};function Hr(t,e,n){return o.default.func(t)?k.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):k.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Cr,"__esModule",{value:!0}),Cr.getRestrictionRect=Hr,Cr.restrict=Cr.default=void 0;var Lr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,u=(0,T.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var c=Hr(a.restriction,i,o);if(c){var l=c.right-c.left-e.width,f=c.bottom-c.top-e.height;l<0&&(u.left+=l,u.right+=l),f<0&&(u.top+=f,u.bottom+=f)}u.left+=n.left-e.width*s.left,u.top+=n.top-e.height*s.top,u.right+=n.right-e.width*(1-s.right),u.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=u},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=Hr(i.restriction,n,e);if(a){var s=k.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Cr.restrict=Lr;var Nr=(0,ke.makeModifier)(Lr,"restrict");Cr.default=Nr;var Wr={};Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.restrictEdges=Wr.default=void 0;var Br={top:1/0,left:1/0,bottom:-1/0,right:-1/0},$r={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Fr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&o.call(a[0],n,(function(){for(l=1;ll){var p,h=u(arguments[l++]),v=f?i(h).concat(f(h)):i(h),g=v.length,y=0;while(g>y)p=v[y++],r&&!d.call(h,p)||(n[p]=h[p])}return n}:c},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var r=n("4588"),i=Math.max,o=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):o(t,e)}},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,o)&&r(t,o,{configurable:!0,value:e})}},"7f7f":function(t,e,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},8378:function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},"86cc":function(t,e,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var r=n("d3f4"),i=n("cb7c"),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(i){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:o}},"8bbf":function(e,n){e.exports=t},"8e60":function(t,e,n){t.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(t,e,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),s=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,r=o(t),u=a.f,c=i(r),l={},f=0;while(c.length>f)n=u(r,e=c[f++]),void 0!==n&&s(l,e,n);return l}})},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9cbe":function(t,e,n){e=t.exports=n("2350")(!1),e.push([t.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(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a2b6:function(t,e,n){"use strict";n.d(e,"a",(function(){return r})),n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return s})),n.d(e,"d",(function(){return c})),n.d(e,"f",(function(){return l})),n.d(e,"e",(function(){return d})),n.d(e,"g",(function(){return h})),n.d(e,"j",(function(){return g})),n.d(e,"k",(function(){return y})),n.d(e,"h",(function(){return m})),n.d(e,"i",(function(){return b})),n.d(e,"l",(function(){return w}));n("a481"),n("cadf"),n("456d"),n("ac6a"),n("55dd");function r(t){for(var e,n=0,r=0,i=t.length;rn&&(n=e);return n}function i(t){for(var e=Array(t.length),n=0,r=t.length;n=e.x+e.w)&&(!(t.y+t.h<=e.y)&&!(t.y>=e.y+e.h))))}function s(t,e){for(var n=p(t),r=x(t),i=Array(t.length),o=0,a=r.length;o0&&!f(t,e))e.y--;var r;while(r=f(t,e))e.y=r.y+r.h;return e}function c(t,e){for(var n=p(t),r=0,i=t.length;re.cols&&(o.x=e.cols-o.w),o.x<0&&(o.x=0,o.w=e.cols),o.static)while(f(n,o))o.y++;else n.push(o)}return t}function l(t,e){for(var n=0,r=t.length;nr;"number"===typeof n&&(e.x=n),"number"===typeof r&&(e.y=r),e.moved=!0;var c=x(t);u&&(c=c.reverse());var l=d(c,e);if(o&&l.length)return e.x=a,e.y=s,e.moved=!1,t;for(var f=0,p=l.length;fh.y&&e.y-h.y>h.h/4||(t=h.static?v(t,h,e,i):v(t,e,h,i)))}return t}function v(t,e,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(e.y-n.h,0),!f(t,o))return h(t,n,void 0,o.y,i)}return h(t,n,void 0,n.y+1,i)}function g(t,e,n,r){var i="translate3d("+e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function y(t,e,n,r){var i="translate3d("+-1*e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function m(t,e,n,r){return{top:t+"px",left:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function b(t,e,n,r){return{top:t+"px",right:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function x(t){return[].concat(t).sort((function(t,e){return t.y===e.y&&t.x===e.x?0:t.y>e.y||t.y===e.y&&t.x>e.x?1:-1}))}function w(t,e){e=e||"Layout";var n=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(var r=0,i=t.length;r]*>)/g,p=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),p="function"===typeof e;p||(e=String(e));var y=f.global;if(y){var m=f.unicode;f.lastIndex=0}var b=[];while(1){var x=u(f,d);if(null===x)break;if(b.push(x),!y)break;var w=String(x[0]);""===w&&(f.lastIndex=s(d,o(f.lastIndex),m))}for(var S="",O=0,_=0;_=O&&(S+=d.slice(O,P)+z,O=P+E.length)}return S+d.slice(O)}];function g(t,e,r,o,a,s){var u=r+t.length,c=o.length,l=p;return void 0!==a&&(a=i(a),l=d),n.call(s,l,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var d=f(l/10);return 0===d?n:d<=c?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[l-1]}return void 0===s?"":s}))}}))},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),f=function(t,e,n){var i={},s=o((function(){return!!a[t]()||u[t]()!=u})),c=i[t]=s?e(d):a[t];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},abb4:function(t,e,n){"use strict";t.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var r=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;nthis.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var t,e=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(e.top=this.dragging.top,this.renderRtl?e.right=this.dragging.left:e.left=this.dragging.left),this.isResizing&&(e.width=this.resizing.width,e.height=this.resizing.height),t=this.useCssTransforms?this.renderRtl?Object(o["k"])(e.top,e.right,e.width,e.height):Object(o["j"])(e.top,e.left,e.width,e.height):this.renderRtl?Object(o["i"])(e.top,e.right,e.width,e.height):Object(o["h"])(e.top,e.left,e.width,e.height),this.style=t},emitContainerResized:function(){for(var t={},e=0,n=["width","height"];ethis.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"!==t.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",t.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(t){if(!this.static&&!this.isResizing){var e=a(t);if(null!==e){var n,r=e.x,i=e.y,o={top:0,left:0};switch(t.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var s=t.target.offsetParent.getBoundingClientRect(),c=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(c.right-s.right):o.left=c.left-s.left,o.top=c.top-s.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var l=t.target.offsetParent.getBoundingClientRect(),f=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(f.right-l.right):o.left=f.left-l.left,o.top=f.top-l.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var d=u(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-d.deltaX:o.left=this.dragging.left+d.deltaX,o.top=this.dragging.top+d.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"!==t.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",t.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(t,e,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+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(t,e){var n=this.calcColWidth(),r=Math.round((e-this.margin[0])/(n+this.margin[0])),i=Math.round((t-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 t=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return t},calcWH:function(t,e){var n=this.calcColWidth(),r=Math.round((e+this.margin[0])/(n+this.margin[0])),i=Math.round((t+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(t,e){this.containerWidth=t,void 0!==e&&null!==e&&(this.cols=e)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=f(this.$refs.item)),this.draggable&&!this.static){var e={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(e),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(e){t.handleDrag(e)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=f(this.$refs.item)),this.resizable&&!this.static){var e=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:e.height,width:e.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(e){t.handleResize(e)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var t=this.$slots.default[0].elm.getBoundingClientRect(),e=this.calcWH(t.height,t.width);e.wthis.maxW&&(e.w=this.maxW),e.hthis.maxH&&(e.h=this.maxH),e.h<1&&(e.h=1),e.w<1&&(e.w=1),this.innerW===e.w&&this.innerH===e.h||this.$emit("resize",this.i,e.h,e.w,t.height,t.width),this.previousW===e.w&&this.previousH===e.h||(this.$emit("resized",this.i,e.h,e.w,t.height,t.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,e.h,e.w))}}},p=d,h=(n("5ed4"),n("2877")),v=Object(h["a"])(p,r,i,!1,null,null,null);e["a"]=v.exports},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c274:function(t,e,n){"use strict";var r=n("50bf");function i(){var t={},e=0,n=0,r=0;function i(i,o){o||(o=i,i=0),i>n?n=i:il)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),c=n("9093").f,l=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(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=m?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,u=e.slice(2),c=0,l=u.length;ci)return NaN;return parseInt(u,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(y?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new v(b(e)),n,h):b(e)};for(var x,w=n("9e1e")?c(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(","),S=0;w.length>S;S++)i(v,x=w[S])&&!i(h,x)&&f(h,x,l(v,x));h.prototype=g,g.constructor=h,n("2aba")(r,p,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c946:function(t,e,n){"use strict";var r=n("b770").forEach;t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState,o=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!e)throw new Error("Missing required dependency: reporter.");var a=c(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function c(){var t=500,e=500,n=document.createElement("div");n.style.cssText="position: absolute; width: "+2*t+"px; height: "+2*e+"px; visibility: hidden; margin: 0; padding: 0;";var r=document.createElement("div");r.style.cssText="position: absolute; width: "+t+"px; height: "+e+"px; overflow: scroll; visibility: none; top: "+3*-t+"px; left: "+3*-e+"px; visibility: hidden; margin: 0; padding: 0;",r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=t-r.clientWidth,o=e-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function l(t,e){function n(e,n){n=n||function(t){document.head.appendChild(t)};var r=document.createElement("style");return r.innerHTML=e,r.id=t,n(r),r}if(!document.getElementById(t)){var r=e+"_animation",i=e+"_animation_active",o="/* Created by the element-resize-detector library. */\n";o+="."+e+" > 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(t){t.className+=" "+u+"_animation_active"}function d(t,n,r){if(t.addEventListener)t.addEventListener(n,r);else{if(!t.attachEvent)return e.error("[scroll] Don't know how to add event listeners.");t.attachEvent("on"+n,r)}}function p(t,n,r){if(t.removeEventListener)t.removeEventListener(n,r);else{if(!t.detachEvent)return e.error("[scroll] Don't know how to remove event listeners.");t.detachEvent("on"+n,r)}}function h(t){return i(t).container.childNodes[0].childNodes[0].childNodes[0]}function v(t){return i(t).container.childNodes[0].childNodes[0].childNodes[1]}function g(t,e){var n=i(t).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(t).listeners.push(e)}function y(t,s,c){function l(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),e.log.apply)e.log.apply(null,n);else for(var r=0;r=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,s=i(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);while(e.length>u)r(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d6eb:function(t,e,n){"use strict";var r="_erd";function i(t){return t[r]={},o(t)}function o(t){return t[r]}function a(t){delete t[r]}t.exports={initState:i,getState:o,cleanState:a}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(t,e,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.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(t,e,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),c=n("18e9"),l=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function h(t){return Array.isArray(t)||void 0!==t.length}function v(t){if(Array.isArray(t))return t;var e=[];return r(t,(function(t){e.push(t)})),e}function g(t){return t&&1===t.nodeType}function y(t,e,n){var r=t[e];return void 0!==r&&null!==r||void 0===n?r:n}t.exports=function(t){var e;if(t=t||{},t.idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=a(),m=s({idGenerator:n,stateHandler:f});e=m}var b=t.reporter;if(!b){var x=!1===b;b=u(x)}var w=y(t,"batchProcessor",l({reporter:b})),S={};S.callOnAdd=!!y(t,"callOnAdd",!0),S.debug=!!y(t,"debug",!1);var O,_=o(e),E=i({stateHandler:f}),P=y(t,"strategy","object"),j={reporter:b,batchProcessor:w,stateHandler:f,idHandler:e};if("scroll"===P&&(c.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),P="object"):c.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),P="object")),"scroll"===P)O=p(j);else{if("object"!==P)throw new Error("Invalid strategy name: "+P);O=d(j)}var M={};function T(t,n,i){function o(t){var e=_.get(t);r(e,(function(e){e(t)}))}function a(t,e,n){_.add(e,n),t&&n(e)}if(i||(i=n,n=t,t={}),!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(t,"callOnAdd",S.callOnAdd),c=y(t,"onReady",(function(){})),l=y(t,"debug",S.debug);r(n,(function(t){f.getState(t)||(f.initState(t),e.set(t));var d=e.get(t);if(l&&b.log("Attaching listener to element",d,t),!E.isDetectable(t))return l&&b.log(d,"Not detectable."),E.isBusy(t)?(l&&b.log(d,"System busy making it detectable"),a(u,t,i),M[d]=M[d]||[],void M[d].push((function(){s++,s===n.length&&c()}))):(l&&b.log(d,"Making detectable..."),E.markBusy(t,!0),O.makeDetectable({debug:l},t,(function(t){if(l&&b.log(d,"onElementDetectable"),f.getState(t)){E.markAsDetectable(t),E.markBusy(t,!1),O.addListener(t,o),a(u,t,i);var e=f.getState(t);if(e&&e.startSize){var p=t.offsetWidth,h=t.offsetHeight;e.startSize.width===p&&e.startSize.height===h||o(t)}M[d]&&r(M[d],(function(t){t()}))}else l&&b.log(d,"Element uninstalled before being detectable.");delete M[d],s++,s===n.length&&c()})));l&&b.log(d,"Already detecable, adding listener."),a(u,t,i),s++})),s===n.length&&c()}function k(t){if(!t)return b.error("At least one element is required.");if(g(t))t=[t];else{if(!h(t))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");t=v(t)}r(t,(function(t){_.removeAllListeners(t),O.uninstall(t),f.cleanState(t)}))}return{listenTo:T,removeListener:_.removeListener,removeAllListeners:_.removeAllListeners,uninstall:k}}},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));var i=n("2af9");n.d(e,"install",(function(){return i["d"]})),n.d(e,"GridLayout",(function(){return i["b"]})),n.d(e,"GridItem",(function(){return i["a"]}));e["default"]=i["c"]},fca0:function(t,e,n){var r=n("5ca1"),i=n("7726").isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})["default"]})); +/*! vue-grid-layout - 2.3.10 | (c) 2015, 2020 Gustavo Santos (JBay Solutions) (http://www.jbaysolutions.com) | https://github.com/jbaysolutions/vue-grid-layout */ +(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["VueGridLayout"]=e(require("vue")):t["VueGridLayout"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var i=n("2d00"),r=n("5ca1"),o=n("2aba"),s=n("32e9"),a=n("84f2"),c=n("41a0"),u=n("7f20"),l=n("38fd"),h=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),f="@@iterator",p="keys",g="values",m=function(){return this};t.exports=function(t,e,n,v,b,y,x){c(n,e,v);var w,S,E,T=function(t){if(!d&&t in M)return M[t];switch(t){case p:return function(){return new n(this,t)};case g:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",z=b==g,_=!1,M=t.prototype,I=M[h]||M[f]||b&&M[b],j=I||T(b),P=b?z?T("entries"):j:void 0,D="Array"==e&&M.entries||I;if(D&&(E=l(D.call(new t)),E!==Object.prototype&&E.next&&(u(E,O,!0),i||"function"==typeof E[h]||s(E,h,m))),z&&I&&I.name!==g&&(_=!0,j=function(){return I.call(this)}),i&&!x||!d&&!_&&M[h]||s(M,h,j),a[e]=j,a[O]=m,b)if(w={values:z?j:T(g),keys:y?j:T(p),entries:P},x)for(S in w)S in M||o(M,S,w[S]);else r(r.P+r.F*(d||_),e,w);return w}},"02f4":function(t,e,n){var i=n("4588"),r=n("be13");t.exports=function(t){return function(e,n){var o,s,a=String(r(e)),c=i(n),u=a.length;return c<0||c>=u?t?"":void 0:(o=a.charCodeAt(c),o<55296||o>56319||c+1===u||(s=a.charCodeAt(c+1))<56320||s>57343?t?a.charAt(c):o:t?a.slice(c,c+2):s-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var i=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?i(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0bfb":function(t,e,n){"use strict";var i=n("cb7c");t.exports=function(){var t=i(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var i=n("ce10"),r=n("e11e");t.exports=Object.keys||function(t){return i(t,r)}},1156:function(t,e,n){var i=n("ad20");"string"===typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);var r=n("499e").default;r("c1ec597e",i,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(t,e,n){var i=n("52a7"),r=n("4630"),o=n("6821"),s=n("6a99"),a=n("69a8"),c=n("c69a"),u=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?u:function(t,e){if(t=o(t),e=s(e,!0),c)try{return u(t,e)}catch(n){}if(a(t,e))return r(!i.f.call(t,e),t[e])}},1495:function(t,e,n){var i=n("86cc"),r=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){r(t);var n,s=o(e),a=s.length,c=0;while(a>c)i.f(t,n=s[c++],e[n]);return t}},"18d2":function(t,e,n){"use strict";var i=n("18e9");t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,r=t.stateHandler.getState;if(!e)throw new Error("Missing required dependency: reporter.");function o(t,e){function n(){e(t)}if(i.isIE(8))r(t).object={proxy:n},t.attachEvent("onresize",n);else{var o=c(t);if(!o)throw new Error("Element is not detectable by this strategy.");o.contentDocument.defaultView.addEventListener("resize",n)}}function s(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function a(t,o,a){a||(a=o,o=t,t=null),t=t||{};t.debug;function c(o,a){var c=s(["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"]),u=!1,l=window.getComputedStyle(o),h=o.offsetWidth,d=o.offsetHeight;function f(){function n(){if("static"===l.position){o.style.setProperty("position","relative",t.important?"important":"");var n=function(e,n,i,r){function o(t){return t.replace(/[^-\d\.]/g,"")}var s=i[r];"auto"!==s&&"0"!==o(s)&&(e.warn("An element that is positioned static has style."+r+"="+s+" 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: ",n),n.style.setProperty(r,"0",t.important?"important":""))};n(e,o,l,"top"),n(e,o,l,"right"),n(e,o,l,"bottom"),n(e,o,l,"left")}}function s(){function t(e,n){if(!e.contentDocument){var i=r(e);return i.checkForObjectDocumentTimeoutId&&window.clearTimeout(i.checkForObjectDocumentTimeoutId),void(i.checkForObjectDocumentTimeoutId=setTimeout((function(){i.checkForObjectDocumentTimeoutId=0,t(e,n)}),100))}n(e.contentDocument)}u||n();var e=this;t(e,(function(t){a(o)}))}""!==l.position&&(n(l),u=!0);var h=document.createElement("object");h.style.cssText=c,h.tabIndex=-1,h.type="text/html",h.setAttribute("aria-hidden","true"),h.onload=s,i.isIE()||(h.data="about:blank"),r(o)&&(o.appendChild(h),r(o).object=h,i.isIE()&&(h.data="about:blank"))}r(o).startSize={width:h,height:d},n?n.add(f):f()}i.isIE(8)?a(o):c(o,a)}function c(t){return r(t).object}function u(t){if(r(t)){var e=c(t);e&&(i.isIE(8)?t.detachEvent("onresize",e.proxy):t.removeChild(e),r(t).checkForObjectDocumentTimeoutId&&window.clearTimeout(r(t).checkForObjectDocumentTimeoutId),delete r(t).object)}}return{makeDetectable:a,addListener:o,uninstall:u}}},"18e9":function(t,e,n){"use strict";var i=t.exports={};i.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return-1!==t.indexOf("msie")||-1!==t.indexOf("trident")||-1!==t.indexOf(" edge/")}if(!e())return!1;if(!t)return!0;var n=function(){var t,e=3,n=document.createElement("div"),i=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++e+"]>4?e:t}();return t===n},i.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(t,e,n){var i=n("f772");t.exports=function(t,e){if(!i(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!i(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!i(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},"1ca7":function(t,e,n){"use strict";n.d(e,"b",(function(){return s})),n.d(e,"a",(function(){return a})),n.d(e,"c",(function(){return c}));var i="auto";function r(){return"undefined"!==typeof document}function o(){return"undefined"!==typeof window}function s(){if(!r())return i;var t="undefined"!==typeof document.dir?document.dir:document.getElementsByTagName("html")[0].getAttribute("dir");return t}function a(t,e){o?window.addEventListener(t,e):e()}function c(t,e){o&&window.removeEventListener(t,e)}},"1ec9":function(t,e,n){var i=n("f772"),r=n("e53d").document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},"214f":function(t,e,n){"use strict";n("b0c5");var i=n("2aba"),r=n("32e9"),o=n("79e5"),s=n("be13"),a=n("2b4c"),c=n("520a"),u=a("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),h=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=a(t),f=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),p=f?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[u]=function(){return n}),n[d](""),!e})):void 0;if(!f||!p||"replace"===t&&!l||"split"===t&&!h){var g=/./[d],m=n(s,d,""[t],(function(t,e,n,i,r){return e.exec===c?f&&!r?{done:!0,value:g.call(e,n,i)}:{done:!0,value:t.call(n,e,i)}:{done:!1}})),v=m[0],b=m[1];i(String.prototype,t,v),r(RegExp.prototype,d,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},"230e":function(t,e,n){var i=n("d3f4"),r=n("7726").document,o=i(r)&&i(r.createElement);t.exports=function(t){return o?r.createElement(t):{}}},2350:function(t,e){function n(t,e){var n=t[1]||"",r=t[3];if(!r)return n;if(e&&"function"===typeof btoa){var o=i(r),s=r.sources.map((function(t){return"/*# sourceURL="+r.sourceRoot+t+" */"}));return[n].concat(s).concat([o]).join("\n")}return[n].join("\n")}function i(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var i=n(e,t);return e[2]?"@media "+e[2]+"{"+i+"}":i})).join("")},e.i=function(t,n){"string"===typeof t&&(t=[[null,t,""]]);for(var i={},r=0;r";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(r+"script"+s+"document.F=Object"+r+"/script"+s),t.close(),u=t.F;while(i--)delete u[c][o[i]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(a[c]=i(t),n=new a,a[c]=null,n[s]=t):n=u(),void 0===e?n:r(n,e)}},"2af9":function(t,e,n){"use strict";(function(t){n.d(e,"d",(function(){return s}));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var i=n("bc21");n.d(e,"a",(function(){return i["a"]}));var r=n("37c8");n.d(e,"b",(function(){return r["a"]}));var o={GridLayout:r["a"],GridItem:i["a"]};function s(t){s.installed||(s.installed=!0,Object.keys(o).forEach((function(e){t.component(e,o[e])})))}var a={install:s},c=null;"undefined"!==typeof window?c=window.Vue:"undefined"!==typeof t&&(c=t.Vue),c&&c.use(a),e["c"]=o}).call(this,n("c8ba"))},"2b4c":function(t,e,n){var i=n("5537")("wks"),r=n("ca5a"),o=n("7726").Symbol,s="function"==typeof o,a=t.exports=function(t){return i[t]||(i[t]=s&&o[t]||(s?o:r)("Symbol."+t))};a.store=i},"2cef":function(t,e,n){"use strict";t.exports=function(){var t=1;function e(){return t++}return{generate:e}}},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var i=n("79e5");t.exports=function(t,e){return!!t&&i((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"32e9":function(t,e,n){var i=n("86cc"),r=n("4630");t.exports=n("9e1e")?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},"35e8":function(t,e,n){var i=n("d9f6"),r=n("aebd");t.exports=n("8e60")?function(t,e,n){return i.f(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},"37c8":function(t,e,n){"use strict";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:t.mergedStyle},[t._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:t.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:t.placeholder.x,y:t.placeholder.y,w:t.placeholder.w,h:t.placeholder.h,i:t.placeholder.i}})],2)},r=[],o=(n("8e6e"),n("cadf"),n("456d"),n("f751"),n("fca0"),n("ac6a"),n("85f2")),s=n.n(o);function a(t,e,n){return e in t?s()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}n("c5f6");var c=n("8bbf"),u=n.n(c),l=n("a2b6"),h=n("97a7"),d=n("bc21"),f=n("1ca7");function p(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function g(t){for(var e=1;e0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(t):this.originalLayout=this.originalLayout.filter((function(e){return!t.some((function(t){return e.i===t.i}))}))),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight(),this.$emit("layout-updated",this.layout)}},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){var t=Object(l["a"])(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return t}},dragEvent:function(t,e,n,i,r,o){var s=Object(l["f"])(this.layout,e);void 0!==s&&null!==s||(s={x:0,y:0}),"dragmove"===t||"dragstart"===t?(this.placeholder.i=e,this.placeholder.x=s.x,this.placeholder.y=s.y,this.placeholder.w=o,this.placeholder.h=r,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.layout=Object(l["g"])(this.layout,s,n,i,!0,this.preventCollision),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===t&&this.$emit("layout-updated",this.layout)},resizeEvent:function(t,e,n,i,r,o){var s,a=Object(l["f"])(this.layout,e);if(void 0!==a&&null!==a||(a={h:0,w:0}),this.preventCollision){var c=Object(l["e"])(this.layout,g({},a,{w:o,h:r})).filter((function(t){return t.i!==a.i}));if(s=c.length>0,s){var u=1/0,h=1/0;c.forEach((function(t){t.x>a.x&&(u=Math.min(u,t.x)),t.y>a.y&&(h=Math.min(h,t.y))})),Number.isFinite(u)&&(a.w=u-a.x),Number.isFinite(h)&&(a.h=h-a.y)}}s||(a.w=o,a.h=r),"resizestart"===t||"resizemove"===t?(this.placeholder.i=e,this.placeholder.x=n,this.placeholder.y=i,this.placeholder.w=a.w,this.placeholder.h=a.h,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.responsive&&this.responsiveGridLayout(),Object(l["c"])(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===t&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var t=Object(h["b"])(this.breakpoints,this.width),e=Object(h["c"])(t,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=Object(l["b"])(this.layout));var n=Object(h["a"])(this.originalLayout,this.layouts,this.breakpoints,t,this.lastBreakpoint,e,this.verticalCompact);this.layouts[t]=n,this.lastBreakpoint!==t&&this.$emit("breakpoint-changed",t,n),this.$emit("update:layout",n),this.lastBreakpoint=t,this.eventBus.$emit("setColNum",Object(h["c"])(t,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},findDifference:function(t,e){var n=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))})),i=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))}));return n.concat(i)}}},b=v,y=(n("e279"),n("2877")),x=Object(y["a"])(b,i,r,!1,null,null,null);e["a"]=x.exports},"38fd":function(t,e,n){var i=n("69a8"),r=n("4bf8"),o=n("613b")("IE_PROTO"),s=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=r(t),i(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},"41a0":function(t,e,n){"use strict";var i=n("2aeb"),r=n("4630"),o=n("7f20"),s={};n("32e9")(s,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=i(s,{next:r(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var i=n("584a").Object;t.exports=function(t,e,n){return i.defineProperty(t,e,n)}},"456d":function(t,e,n){var i=n("4bf8"),r=n("0d58");n("5eda")("keys",(function(){return function(t){return r(i(t))}}))},4588:function(t,e){var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?i:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var i=n("63b6");i(i.S+i.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(t,e,n){"use strict";var i=n("cb7c"),r=n("9def"),o=n("0390"),s=n("5f1b");n("214f")("match",1,(function(t,e,n,a){return[function(n){var i=t(this),r=void 0==n?void 0:n[e];return void 0!==r?r.call(n,i):new RegExp(n)[e](String(i))},function(t){var e=a(n,t,this);if(e.done)return e.value;var c=i(t),u=String(this);if(!c.global)return s(c,u);var l=c.unicode;c.lastIndex=0;var h,d=[],f=0;while(null!==(h=s(c,u))){var p=String(h[0]);d[f]=p,""===p&&(c.lastIndex=o(u,r(c.lastIndex),l)),f++}return 0===f?null:d}]}))},"499e":function(t,e,n){"use strict";function i(t,e){for(var n=[],i={},r=0;rn.parts.length&&(i.parts.length=n.parts.length)}else{var s=[];for(r=0;r1&&o.call(s[0],n,(function(){for(l=1;ll){var f,p=c(arguments[l++]),g=h?r(p).concat(h(p)):r(p),m=g.length,v=0;while(m>v)f=g[v++],i&&!d.call(p,f)||(n[f]=p[f])}return n}:u},7726:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(t,e,n){var i=n("4588"),r=Math.max,o=Math.min;t.exports=function(t,e){return t=i(t),t<0?r(t+e,0):o(t,e)}},"794b":function(t,e,n){t.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,n){var i=n("86cc").f,r=n("69a8"),o=n("2b4c")("toStringTag");t.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,o)&&i(t,o,{configurable:!0,value:e})}},"7f7f":function(t,e,n){var i=n("86cc").f,r=Function.prototype,o=/^\s*function ([^ (]*)/,s="name";s in r||n("9e1e")&&i(r,s,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(t){return""}}})},8378:function(t,e){var n=t.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(t,e){t.exports={}},"85f2":function(t,e,n){t.exports=n("454f")},"86cc":function(t,e,n){var i=n("cb7c"),r=n("c69a"),o=n("6a99"),s=Object.defineProperty;e.f=n("9e1e")?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},"8b97":function(t,e,n){var i=n("d3f4"),r=n("cb7c"),o=function(t,e){if(r(t),!i(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,i){try{i=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),i(t,[]),e=!(t instanceof Array)}catch(r){e=!0}return function(t,n){return o(t,n),e?t.__proto__=n:i(t,n),t}}({},!1):void 0),check:o}},"8bbf":function(e,n){e.exports=t},"8e60":function(t,e,n){t.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(t,e,n){var i=n("5ca1"),r=n("990b"),o=n("6821"),s=n("11e9"),a=n("f1ae");i(i.S,"Object",{getOwnPropertyDescriptors:function(t){var e,n,i=o(t),c=s.f,u=r(i),l={},h=0;while(u.length>h)n=c(i,e=u[h++]),void 0!==n&&a(l,e,n);return l}})},9093:function(t,e,n){var i=n("ce10"),r=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,r)}},"97a7":function(t,e,n){"use strict";n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return o})),n.d(e,"a",(function(){return s}));n("55dd"),n("ac6a"),n("cadf"),n("456d");var i=n("a2b6");function r(t,e){for(var n=a(t),i=n[0],r=1,o=n.length;rt[s]&&(i=s)}return i}function o(t,e){if(!e[t])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function s(t,e,n,r,o,s,c){if(e[r])return Object(i["b"])(e[r]);for(var u=t,l=a(n),h=l.slice(l.indexOf(r)),d=0,f=h.length;d.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(t,e,n){var i=n("4588"),r=Math.min;t.exports=function(t){return t>0?r(i(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a2b6:function(t,e,n){"use strict";n.d(e,"a",(function(){return i})),n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return a})),n.d(e,"d",(function(){return u})),n.d(e,"f",(function(){return l})),n.d(e,"e",(function(){return d})),n.d(e,"g",(function(){return p})),n.d(e,"j",(function(){return m})),n.d(e,"k",(function(){return v})),n.d(e,"h",(function(){return b})),n.d(e,"i",(function(){return y})),n.d(e,"l",(function(){return w}));n("a481"),n("cadf"),n("456d"),n("ac6a"),n("55dd");function i(t){for(var e,n=0,i=0,r=t.length;in&&(n=e);return n}function r(t){for(var e=Array(t.length),n=0,i=t.length;n=e.x+e.w)&&(!(t.y+t.h<=e.y)&&!(t.y>=e.y+e.h))))}function a(t,e){for(var n=f(t),i=x(t),r=Array(t.length),o=0,s=i.length;o0&&!h(t,e))e.y--;var i;while(i=h(t,e))e.y=i.y+i.h;return e}function u(t,e){for(var n=f(t),i=0,r=t.length;ie.cols&&(o.x=e.cols-o.w),o.x<0&&(o.x=0,o.w=e.cols),o.static)while(h(n,o))o.y++;else n.push(o)}return t}function l(t,e){for(var n=0,i=t.length;ni;"number"===typeof n&&(e.x=n),"number"===typeof i&&(e.y=i),e.moved=!0;var u=x(t);c&&(u=u.reverse());var l=d(u,e);if(o&&l.length)return e.x=s,e.y=a,e.moved=!1,t;for(var h=0,f=l.length;hp.y&&e.y-p.y>p.h/4||(t=p.static?g(t,p,e,r):g(t,e,p,r)))}return t}function g(t,e,n,i){var r=!1;if(i){var o={x:n.x,y:n.y,w:n.w,h:n.h,i:"-1"};if(o.y=Math.max(e.y-n.h,0),!h(t,o))return p(t,n,void 0,o.y,r)}return p(t,n,void 0,n.y+1,r)}function m(t,e,n,i){var r="translate3d("+e+"px,"+t+"px, 0)";return{transform:r,WebkitTransform:r,MozTransform:r,msTransform:r,OTransform:r,width:n+"px",height:i+"px",position:"absolute"}}function v(t,e,n,i){var r="translate3d("+-1*e+"px,"+t+"px, 0)";return{transform:r,WebkitTransform:r,MozTransform:r,msTransform:r,OTransform:r,width:n+"px",height:i+"px",position:"absolute"}}function b(t,e,n,i){return{top:t+"px",left:e+"px",width:n+"px",height:i+"px",position:"absolute"}}function y(t,e,n,i){return{top:t+"px",right:e+"px",width:n+"px",height:i+"px",position:"absolute"}}function x(t){return[].concat(t).sort((function(t,e){return t.y===e.y&&t.x===e.x?0:t.y>e.y||t.y===e.y&&t.x>e.x?1:-1}))}function w(t,e){e=e||"Layout";var n=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(var i=0,r=t.length;i]*>)/g,f=/\$([$&`']|\d\d?)/g,p=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,g){return[function(i,r){var o=t(this),s=void 0==i?void 0:i[e];return void 0!==s?s.call(i,o,r):n.call(String(o),i,r)},function(t,e){var r=g(n,t,this,e);if(r.done)return r.value;var h=i(t),d=String(this),f="function"===typeof e;f||(e=String(e));var v=h.global;if(v){var b=h.unicode;h.lastIndex=0}var y=[];while(1){var x=c(h,d);if(null===x)break;if(y.push(x),!v)break;var w=String(x[0]);""===w&&(h.lastIndex=a(d,o(h.lastIndex),b))}for(var S="",E=0,T=0;T=E&&(S+=d.slice(E,z)+P,E=z+O.length)}return S+d.slice(E)}];function m(t,e,i,o,s,a){var c=i+t.length,u=o.length,l=f;return void 0!==s&&(s=r(s),l=d),n.call(a,l,(function(n,r){var a;switch(r.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,i);case"'":return e.slice(c);case"<":a=s[r.slice(1,-1)];break;default:var l=+r;if(0===l)return n;if(l>u){var d=h(l/10);return 0===d?n:d<=u?void 0===o[d-1]?r.charAt(1):o[d-1]+r.charAt(1):n}a=o[l-1]}return void 0===a?"":a}))}}))},aa77:function(t,e,n){var i=n("5ca1"),r=n("be13"),o=n("79e5"),s=n("fdef"),a="["+s+"]",c="​…",u=RegExp("^"+a+a+"*"),l=RegExp(a+a+"*$"),h=function(t,e,n){var r={},a=o((function(){return!!s[t]()||c[t]()!=c})),u=r[t]=a?e(d):s[t];n&&(r[n]=u),i(i.P+i.F*a,"String",r)},d=h.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(l,"")),t};t.exports=h},abb4:function(t,e,n){"use strict";t.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var i=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;n!(!t||!t.Window)&&t instanceof t.Window;let b=void 0,y=void 0;function x(t){b=t;const e=t.document.createTextNode("");e.ownerDocument!==t.document&&"function"===typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),y=t}function w(t){if(v(t))return t;const e=t.ownerDocument||t;return e.defaultView||y.window}"undefined"!==typeof window&&window&&x(window);const S=t=>t===y||v(t),E=t=>T(t)&&11===t.nodeType,T=t=>!!t&&"object"===typeof t,O=t=>"function"===typeof t,z=t=>"number"===typeof t,_=t=>"boolean"===typeof t,M=t=>"string"===typeof t,I=t=>{if(!t||"object"!==typeof t)return!1;const e=w(t)||y;return/object|function/.test(typeof e.Element)?t instanceof e.Element:1===t.nodeType&&"string"===typeof t.nodeName},j=t=>T(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString()),P=t=>T(t)&&"undefined"!==typeof t.length&&O(t.splice);var D={window:S,docFrag:E,object:T,func:O,number:z,bool:_,string:M,element:I,plainObject:j,array:P};const k={init:R,supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};function R(t){const e=g.Element,n=y.navigator;k.supportsTouch="ontouchstart"in t||D.func(t.DocumentTouch)&&g.document instanceof t.DocumentTouch,k.supportsPointerEvent=!1!==n.pointerEnabled&&!!g.PointerEvent,k.isIOS=/iP(hone|od|ad)/.test(n.platform),k.isIOS7=/iP(hone|od|ad)/.test(n.platform)&&/OS 7[^\d]/.test(n.appVersion),k.isIe9=/MSIE 9/.test(n.userAgent),k.isOperaMobile="Opera"===n.appName&&k.supportsTouch&&/Presto/.test(n.userAgent),k.prefixedMatchesSelector="matches"in e.prototype?"matches":"webkitMatchesSelector"in e.prototype?"webkitMatchesSelector":"mozMatchesSelector"in e.prototype?"mozMatchesSelector":"oMatchesSelector"in e.prototype?"oMatchesSelector":"msMatchesSelector",k.pEventTypes=k.supportsPointerEvent?g.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,k.wheelEvent="onmousewheel"in g.document?"mousewheel":"wheel"}var A=k;const C=(t,e)=>-1!==t.indexOf(e),H=(t,e)=>{for(const n of e)t.push(n);return t},L=t=>H([],t),N=(t,e)=>{for(let n=0;nt[N(t,e)];function W(t){const e={};for(const n in t){const i=t[n];D.plainObject(i)?e[n]=W(i):D.array(i)?e[n]=L(i):e[n]=i}return e}function B(t,e){for(const i in e)t[i]=e[i];const n=t;return n}let F,G,X=0;function Y(t){if(F=t.requestAnimationFrame,G=t.cancelAnimationFrame,!F){const e=["ms","moz","webkit","o"];for(const n of e)F=t[`${n}RequestAnimationFrame`],G=t[`${n}CancelAnimationFrame`]||t[`${n}CancelRequestAnimationFrame`]}F=F&&F.bind(t),G=G&&G.bind(t),F||(F=e=>{const n=Date.now(),i=Math.max(0,16-(n-X)),r=t.setTimeout(()=>{e(n+i)},i);return X=n+i,r},G=t=>clearTimeout(t))}var U={request:t=>F(t),cancel:t=>G(t),init:Y};function q(t,e,n){if(n=n||{},D.string(t)&&-1!==t.search(" ")&&(t=V(t)),D.array(t))return t.reduce((t,i)=>B(t,q(i,e,n)),n);if(D.object(t)&&(e=t,t=""),D.func(e))n[t]=n[t]||[],n[t].push(e);else if(D.array(e))for(const i of e)q(t,i,n);else if(D.object(e))for(const i in e){const r=V(i).map(e=>`${t}${e}`);q(r,e[i],n)}return n}function V(t){return t.trim().split(/ +/)}function Z(t,e){for(const n of e){if(t.immediatePropagationStopped)break;n(t)}}class K{constructor(t){this.options=void 0,this.types={},this.propagationStopped=!1,this.immediatePropagationStopped=!1,this.global=void 0,this.options=B({},t||{})}fire(t){let e;const n=this.global;(e=this.types[t.type])&&Z(t,e),!t.propagationStopped&&n&&(e=n[t.type])&&Z(t,e)}on(t,e){const n=q(t,e);for(t in n)this.types[t]=H(this.types[t]||[],n[t])}off(t,e){const n=q(t,e);for(t in n){const e=this.types[t];if(e&&e.length)for(const i of n[t]){const t=e.indexOf(i);-1!==t&&e.splice(t,1)}}}getRect(t){return null}}function J(t,e){if(t.contains)return t.contains(e);while(e){if(e===t)return!0;e=e.parentNode}return!1}function Q(t,e){while(D.element(t)){if(et(t,e))return t;t=tt(t)}return null}function tt(t){let e=t.parentNode;if(D.docFrag(e)){while((e=e.host)&&D.docFrag(e));return e}return e}function et(t,e){return y!==b&&(e=e.replace(/\/deep\//g," ")),t[A.prefixedMatchesSelector](e)}function nt(t,e,n){while(D.element(t)){if(et(t,e))return!0;if(t=tt(t),t===n)return et(t,e)}return!1}function it(t){return t.correspondingUseElement||t}function rt(t){return t=t||y,{x:t.scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function ot(t){const e=t instanceof g.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}function st(t){const e=ot(t);if(!A.isIOS7&&e){const n=rt(w(t));e.left+=n.x,e.right+=n.x,e.top+=n.y,e.bottom+=n.y}return e}function at(t){return!!D.string(t)&&(g.document.querySelector(t),!0)}function ct(t,e,n){return"parent"===t?tt(n):"self"===t?e.getRect(n):Q(n,t)}function ut(t,e,n,i){let r=t;return D.string(r)?r=ct(r,e,n):D.func(r)&&(r=r(...i)),D.element(r)&&(r=st(r)),r}function lt(t){return t&&{x:"x"in t?t.x:t.left,y:"y"in t?t.y:t.top}}function ht(t){return!t||"left"in t&&"top"in t||(t=B({},t),t.left=t.x||0,t.top=t.y||0,t.right=t.right||t.left+t.width,t.bottom=t.bottom||t.top+t.height),t}function dt(t){return!t||"x"in t&&"y"in t||(t=B({},t),t.x=t.left||0,t.y=t.top||0,t.width=t.width||(t.right||0)-t.x,t.height=t.height||(t.bottom||0)-t.y),t}function ft(t,e,n){t.left&&(e.left+=n.x),t.right&&(e.right+=n.x),t.top&&(e.top+=n.y),t.bottom&&(e.bottom+=n.y),e.width=e.right-e.left,e.height=e.bottom-e.top}var pt=function(t,e,n){const i=t.options[n],r=i&&i.origin,o=r||t.options.origin,s=ut(o,t,e,[t&&e]);return lt(s)||{x:0,y:0}},gt=(t,e)=>Math.sqrt(t*t+e*e);class mt{constructor(t){this.type=void 0,this.target=void 0,this.currentTarget=void 0,this.interactable=void 0,this._interaction=void 0,this.timeStamp=void 0,this.immediatePropagationStopped=!1,this.propagationStopped=!1,this._interaction=t}preventDefault(){}stopPropagation(){this.propagationStopped=!0}stopImmediatePropagation(){this.immediatePropagationStopped=this.propagationStopped=!0}}Object.defineProperty(mt.prototype,"interaction",{get(){return this._interaction._proxy},set(){}});const vt={base:{preventDefault:"auto",deltaSource:"page"},perAction:{enabled:!1,origin:{x:0,y:0}},actions:{}};class bt extends mt{constructor(t,e,n,i,r,o,s){super(t),this.target=void 0,this.currentTarget=void 0,this.relatedTarget=null,this.screenX=void 0,this.screenY=void 0,this.button=void 0,this.buttons=void 0,this.ctrlKey=void 0,this.shiftKey=void 0,this.altKey=void 0,this.metaKey=void 0,this.page=void 0,this.client=void 0,this.delta=void 0,this.rect=void 0,this.x0=void 0,this.y0=void 0,this.t0=void 0,this.dt=void 0,this.duration=void 0,this.clientX0=void 0,this.clientY0=void 0,this.velocity=void 0,this.speed=void 0,this.swipe=void 0,this.timeStamp=void 0,this.dragEnter=void 0,this.dragLeave=void 0,this.axes=void 0,this.preEnd=void 0,r=r||t.element;const a=t.interactable,c=(a&&a.options||vt).deltaSource,u=pt(a,r,n),l="start"===i,h="end"===i,d=l?this:t.prevEvent,f=l?t.coords.start:h?{page:d.page,client:d.client,timeStamp:t.coords.cur.timeStamp}:t.coords.cur;this.page=B({},f.page),this.client=B({},f.client),this.rect=B({},t.rect),this.timeStamp=f.timeStamp,h||(this.page.x-=u.x,this.page.y-=u.y,this.client.x-=u.x,this.client.y-=u.y),this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.button=e.button,this.buttons=e.buttons,this.target=r,this.currentTarget=r,this.preEnd=o,this.type=s||n+(i||""),this.interactable=a,this.t0=l?t.pointers[t.pointers.length-1].downTime:d.t0,this.x0=t.coords.start.page.x-u.x,this.y0=t.coords.start.page.y-u.y,this.clientX0=t.coords.start.client.x-u.x,this.clientY0=t.coords.start.client.y-u.y,this.delta=l||h?{x:0,y:0}:{x:this[c].x-d[c].x,y:this[c].y-d[c].y},this.dt=t.coords.delta.timeStamp,this.duration=this.timeStamp-this.t0,this.velocity=B({},t.coords.velocity[c]),this.speed=gt(this.velocity.x,this.velocity.y),this.swipe=h||"inertiastart"===i?this.getSwipe():null}getSwipe(){const t=this._interaction;if(t.prevEvent.speed<600||this.timeStamp-t.prevEvent.timeStamp>150)return null;let e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;const n=22.5;e<0&&(e+=360);const i=135-n<=e&&e<225+n,r=225-n<=e&&e<315+n,o=!i&&(315-n<=e||e<45+n),s=!r&&45-n<=e&&e<135+n;return{up:r,down:s,left:i,right:o,angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}preventDefault(){}stopImmediatePropagation(){this.immediatePropagationStopped=this.propagationStopped=!0}stopPropagation(){this.propagationStopped=!0}}function yt(t,e){if(e.phaselessTypes[t])return!0;for(const n in e.map)if(0===t.indexOf(n)&&t.substr(n.length)in e.phases)return!0;return!1}Object.defineProperties(bt.prototype,{pageX:{get(){return this.page.x},set(t){this.page.x=t}},pageY:{get(){return this.page.y},set(t){this.page.y=t}},clientX:{get(){return this.client.x},set(t){this.client.x=t}},clientY:{get(){return this.client.y},set(t){this.client.y=t}},dx:{get(){return this.delta.x},set(t){this.delta.x=t}},dy:{get(){return this.delta.y},set(t){this.delta.y=t}},velocityX:{get(){return this.velocity.x},set(t){this.velocity.x=t}},velocityY:{get(){return this.velocity.y},set(t){this.velocity.y=t}}});class xt{get _defaults(){return{base:{},perAction:{},actions:{}}}constructor(t,e,n,i){this.options=void 0,this._actions=void 0,this.target=void 0,this.events=new K,this._context=void 0,this._win=void 0,this._doc=void 0,this._scopeEvents=void 0,this._rectChecker=void 0,this._actions=e.actions,this.target=t,this._context=e.context||n,this._win=w(at(t)?this._context:t),this._doc=this._win.document,this._scopeEvents=i,this.set(e)}setOnEvents(t,e){return D.func(e.onstart)&&this.on(`${t}start`,e.onstart),D.func(e.onmove)&&this.on(`${t}move`,e.onmove),D.func(e.onend)&&this.on(`${t}end`,e.onend),D.func(e.oninertiastart)&&this.on(`${t}inertiastart`,e.oninertiastart),this}updatePerActionListeners(t,e,n){(D.array(e)||D.object(e))&&this.off(t,e),(D.array(n)||D.object(n))&&this.on(t,n)}setPerAction(t,e){const n=this._defaults;for(const i in e){const r=i,o=this.options[t],s=e[r];"listeners"===r&&this.updatePerActionListeners(t,o.listeners,s),D.array(s)?o[r]=L(s):D.plainObject(s)?(o[r]=B(o[r]||{},W(s)),D.object(n.perAction[r])&&"enabled"in n.perAction[r]&&(o[r].enabled=!1!==s.enabled)):D.bool(s)&&D.object(n.perAction[r])?o[r].enabled=s:o[r]=s}}getRect(t){return t=t||(D.element(this.target)?this.target:null),D.string(this.target)&&(t=t||this._context.querySelector(this.target)),st(t)}rectChecker(t){return D.func(t)?(this._rectChecker=t,this.getRect=t=>{const e=B({},this._rectChecker(t));return"width"in e||(e.width=e.right-e.left,e.height=e.bottom-e.top),e},this):null===t?(delete this.getRect,delete this._rectChecker,this):this.getRect}_backCompatOption(t,e){if(at(e)||D.object(e)){this.options[t]=e;for(const n in this._actions.map)this.options[n][t]=e;return this}return this.options[t]}origin(t){return this._backCompatOption("origin",t)}deltaSource(t){return"page"===t||"client"===t?(this.options.deltaSource=t,this):this.options.deltaSource}context(){return this._context}inContext(t){return this._context===t.ownerDocument||J(this._context,t)}testIgnoreAllow(t,e,n){return!this.testIgnore(t.ignoreFrom,e,n)&&this.testAllow(t.allowFrom,e,n)}testAllow(t,e,n){return!t||!!D.element(n)&&(D.string(t)?nt(n,t,e):!!D.element(t)&&J(t,n))}testIgnore(t,e,n){return!(!t||!D.element(n))&&(D.string(t)?nt(n,t,e):!!D.element(t)&&J(t,n))}fire(t){return this.events.fire(t),this}_onOff(t,e,n,i){D.object(e)&&!D.array(e)&&(i=n,n=null);const r="on"===t?"add":"remove",o=q(e,n);for(let s in o){"wheel"===s&&(s=A.wheelEvent);for(const e of o[s])yt(s,this._actions)?this.events[t](s,e):D.string(this.target)?this._scopeEvents[`${r}Delegate`](this.target,this._context,s,e,i):this._scopeEvents[r](this.target,s,e,i)}return this}on(t,e,n){return this._onOff("on",t,e,n)}off(t,e,n){return this._onOff("off",t,e,n)}set(t){const e=this._defaults;D.object(t)||(t={}),this.options=W(e.base);for(const n in this._actions.methodDict){const i=n,r=this._actions.methodDict[i];this.options[i]={},this.setPerAction(i,B(B({},e.perAction),e.actions[i])),this[r](t[i])}for(const n in t)D.func(this[n])&&this[n](t[n]);return this}unset(){if(D.string(this.target))for(const t in this._scopeEvents.delegatedEvents){const e=this._scopeEvents.delegatedEvents[t];for(let n=e.length-1;n>=0;n--){const{selector:i,context:r,listeners:o}=e[n];i===this.target&&r===this._context&&e.splice(n,1);for(let e=o.length-1;e>=0;e--)this._scopeEvents.removeDelegate(this.target,this._context,t,o[e][0],o[e][1])}}else this._scopeEvents.remove(this.target,"all")}}class wt{constructor(t){this.list=[],this.selectorMap={},this.scope=void 0,this.scope=t,t.addListeners({"interactable:unset":({interactable:t})=>{const{target:e,_context:n}=t,i=D.string(e)?this.selectorMap[e]:e[this.scope.id],r=N(i,t=>t.context===n);i[r]&&(i[r].context=null,i[r].interactable=null),i.splice(r,1)}})}new(t,e){e=B(e||{},{actions:this.scope.actions});const n=new this.scope.Interactable(t,e,this.scope.document,this.scope.events),i={context:n._context,interactable:n};return this.scope.addDocument(n._doc),this.list.push(n),D.string(t)?(this.selectorMap[t]||(this.selectorMap[t]=[]),this.selectorMap[t].push(i)):(n.target[this.scope.id]||Object.defineProperty(t,this.scope.id,{value:[],configurable:!0}),t[this.scope.id].push(i)),this.scope.fire("interactable:new",{target:t,options:e,interactable:n,win:this.scope._win}),n}get(t,e){const n=e&&e.context||this.scope.document,i=D.string(t),r=i?this.selectorMap[t]:t[this.scope.id];if(!r)return null;const o=$(r,e=>e.context===n&&(i||e.interactable.inContext(t)));return o&&o.interactable}forEachMatch(t,e){for(const n of this.list){let i;if((D.string(n.target)?D.element(t)&&et(t,n.target):t===n.target)&&n.inContext(t)&&(i=e(n)),void 0!==i)return i}}}function St(t,e){for(const n in e){const i=St.prefixedPropREs;let r=!1;for(const t in i)if(0===n.indexOf(t)&&i[t].test(n)){r=!0;break}r||"function"===typeof e[n]||(t[n]=e[n])}return t}St.prefixedPropREs={webkit:/(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,moz:/(Pressure)$/};var Et=St;function Tt(t,e){t.page=t.page||{},t.page.x=e.page.x,t.page.y=e.page.y,t.client=t.client||{},t.client.x=e.client.x,t.client.y=e.client.y,t.timeStamp=e.timeStamp}function Ot(t,e,n){t.page.x=n.page.x-e.page.x,t.page.y=n.page.y-e.page.y,t.client.x=n.client.x-e.client.x,t.client.y=n.client.y-e.client.y,t.timeStamp=n.timeStamp-e.timeStamp}function zt(t,e){const n=Math.max(e.timeStamp/1e3,.001);t.page.x=e.page.x/n,t.page.y=e.page.y/n,t.client.x=e.client.x/n,t.client.y=e.client.y/n,t.timeStamp=n}function _t(t){t.page.x=0,t.page.y=0,t.client.x=0,t.client.y=0}function Mt(t){return t instanceof g.Event||t instanceof g.Touch}function It(t,e,n){return n=n||{},t=t||"page",n.x=e[t+"X"],n.y=e[t+"Y"],n}function jt(t,e){return e=e||{x:0,y:0},A.isOperaMobile&&Mt(t)?(It("screen",t,e),e.x+=window.scrollX,e.y+=window.scrollY):It("page",t,e),e}function Pt(t,e){return e=e||{},A.isOperaMobile&&Mt(t)?It("screen",t,e):It("client",t,e),e}function Dt(t){return D.number(t.pointerId)?t.pointerId:t.identifier}function kt(t,e,n){const i=e.length>1?At(e):e[0];jt(i,t.page),Pt(i,t.client),t.timeStamp=n}function Rt(t){const e=[];return D.array(t)?(e[0]=t[0],e[1]=t[1]):"touchend"===t.type?1===t.touches.length?(e[0]=t.touches[0],e[1]=t.changedTouches[0]):0===t.touches.length&&(e[0]=t.changedTouches[0],e[1]=t.changedTouches[1]):(e[0]=t.touches[0],e[1]=t.touches[1]),e}function At(t){const e={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0};for(const n of t)for(const t in e)e[t]+=n[t];for(const n in e)e[n]/=t.length;return e}function Ct(t){if(!t.length)return null;const e=Rt(t),n=Math.min(e[0].pageX,e[1].pageX),i=Math.min(e[0].pageY,e[1].pageY),r=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:i,left:n,top:i,right:r,bottom:o,width:r-n,height:o-i}}function Ht(t,e){const n=e+"X",i=e+"Y",r=Rt(t),o=r[0][n]-r[1][n],s=r[0][i]-r[1][i];return gt(o,s)}function Lt(t,e){const n=e+"X",i=e+"Y",r=Rt(t),o=r[1][n]-r[0][n],s=r[1][i]-r[0][i],a=180*Math.atan2(s,o)/Math.PI;return a}function Nt(t){return D.string(t.pointerType)?t.pointerType:D.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.Touch?"touch":"mouse"}function $t(t){const e=D.func(t.composedPath)?t.composedPath():t.path;return[it(e?e[0]:t.target),it(t.currentTarget)]}function Wt(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}}function Bt(t){const e=[],n={},i=[],r={add:o,remove:s,addDelegate:a,removeDelegate:c,delegateListener:u,delegateUseCapture:l,delegatedEvents:n,documents:i,targets:e,supportsOptions:!1,supportsPassive:!1};function o(t,n,i,o){const s=Gt(o);let a=$(e,e=>e.eventTarget===t);a||(a={eventTarget:t,events:{}},e.push(a)),a.events[n]||(a.events[n]=[]),t.addEventListener&&!C(a.events[n],i)&&(t.addEventListener(n,i,r.supportsOptions?s:s.capture),a.events[n].push(i))}function s(t,n,i,o){const a=Gt(o),c=N(e,e=>e.eventTarget===t),u=e[c];if(!u||!u.events)return;if("all"===n){for(n in u.events)u.events.hasOwnProperty(n)&&s(t,n,"all");return}let l=!1;const h=u.events[n];if(h){if("all"===i){for(let e=h.length-1;e>=0;e--)s(t,n,h[e],a);return}for(let e=0;en.selector===t&&n.context===e);d||(d={selector:t,context:e,listeners:[]},h.push(d)),d.listeners.push([s,c])}function c(t,e,i,r,o){const a=Gt(o),c=n[i];let h,d=!1;if(c)for(h=c.length-1;h>=0;h--){const n=c[h];if(n.selector===t&&n.context===e){const{listeners:t}=n;for(let n=t.length-1;n>=0;n--){const[o,{capture:f,passive:p}]=t[n];if(o===r&&f===a.capture&&p===a.passive){t.splice(n,1),t.length||(c.splice(h,1),s(e,i,u),s(e,i,l,!0)),d=!0;break}}if(d)break}}}function u(t,e){const i=Gt(e),r=new Ft(t),o=n[t.type],[s]=$t(t);let a=s;while(D.element(a)){for(let t=0;t{let r=t.interactables.get(n,i);return r||(r=t.interactables.new(n,i),r.events.global=e.globalEvents),r};return e.getPointerAverage=At,e.getTouchBBox=Ct,e.getTouchDistance=Ht,e.getTouchAngle=Lt,e.getElementRect=st,e.getElementClientRect=ot,e.matchesSelector=et,e.closest=Q,e.globalEvents={},e.version="1.10.0",e.scope=t,e.use=function(t,e){return this.scope.usePlugin(t,e),this},e.isSet=function(t,e){return!!this.scope.interactables.get(t,e&&e.context)},e.on=function(t,e,n){if(D.string(t)&&-1!==t.search(" ")&&(t=t.trim().split(/ +/)),D.array(t)){for(const i of t)this.on(i,e,n);return this}if(D.object(t)){for(const n in t)this.on(n,t[n],e);return this}return yt(t,this.scope.actions)?this.globalEvents[t]?this.globalEvents[t].push(e):this.globalEvents[t]=[e]:this.scope.events.add(this.scope.document,t,e,{options:n}),this},e.off=function(t,e,n){if(D.string(t)&&-1!==t.search(" ")&&(t=t.trim().split(/ +/)),D.array(t)){for(const i of t)this.off(i,e,n);return this}if(D.object(t)){for(const n in t)this.off(n,t[n],e);return this}if(yt(t,this.scope.actions)){let n;t in this.globalEvents&&-1!==(n=this.globalEvents[t].indexOf(e))&&this.globalEvents[t].splice(n,1)}else this.scope.events.remove(this.scope.document,t,e,n);return this},e.debug=function(){return this.scope},e.supportsTouch=function(){return A.supportsTouch},e.supportsPointerEvent=function(){return A.supportsPointerEvent},e.stop=function(){for(const t of this.scope.interactions.list)t.stop();return this},e.pointerMoveTolerance=function(t){return D.number(t)?(this.scope.interactions.pointerMoveTolerance=t,this):this.scope.interactions.pointerMoveTolerance},e.addDocument=function(t,e){this.scope.addDocument(t,e)},e.removeDocument=function(t){this.scope.removeDocument(t)},e}function Ut(t,e){let n=!1;return function(){return n||(y.console.warn(e),n=!0),t.apply(this,arguments)}}function qt(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t}class Vt{constructor(t,e,n,i,r){this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=t,this.pointer=e,this.event=n,this.downTime=i,this.downTarget=r}}let Zt,Kt;(function(t){t["interactable"]="",t["element"]="",t["prepared"]="",t["pointerIsDown"]="",t["pointerWasMoved"]="",t["_proxy"]=""})(Zt||(Zt={})),function(t){t["start"]="",t["move"]="",t["end"]="",t["stop"]="",t["interacting"]=""}(Kt||(Kt={}));let Jt=0;class Qt{get pointerMoveTolerance(){return 1}constructor({pointerType:t,scopeFire:e}){this.interactable=null,this.element=null,this.rect=void 0,this._rects=void 0,this.edges=void 0,this._scopeFire=void 0,this.prepared={name:null,axis:null,edges:null},this.pointerType=void 0,this.pointers=[],this.downEvent=null,this.downPointer={},this._latestPointer={pointer:null,event:null,eventTarget:null},this.prevEvent=null,this.pointerIsDown=!1,this.pointerWasMoved=!1,this._interacting=!1,this._ending=!1,this._stopped=!0,this._proxy=null,this.simulation=null,this.doMove=Ut((function(t){this.move(t)}),"The interaction.doMove() method has been renamed to interaction.move()"),this.coords={start:Wt(),prev:Wt(),cur:Wt(),delta:Wt(),velocity:Wt()},this._id=Jt++,this._scopeFire=e,this.pointerType=t;const n=this;this._proxy={};for(const i in Zt)Object.defineProperty(this._proxy,i,{get(){return n[i]}});for(const i in Kt)Object.defineProperty(this._proxy,i,{value:(...t)=>n[i](...t)});this._scopeFire("interactions:new",{interaction:this})}pointerDown(t,e,n){const i=this.updatePointer(t,e,n,!0),r=this.pointers[i];this._scopeFire("interactions:down",{pointer:t,event:e,eventTarget:n,pointerIndex:i,pointerInfo:r,type:"down",interaction:this})}start(t,e,n){return!(this.interacting()||!this.pointerIsDown||this.pointers.length<("gesture"===t.name?2:1)||!e.options[t.name].enabled)&&(qt(this.prepared,t),this.interactable=e,this.element=n,this.rect=e.getRect(n),this.edges=this.prepared.edges?B({},this.prepared.edges):{left:!0,right:!0,top:!0,bottom:!0},this._stopped=!1,this._interacting=this._doPhase({interaction:this,event:this.downEvent,phase:"start"})&&!this._stopped,this._interacting)}pointerMove(t,e,n){this.simulation||this.modification&&this.modification.endResult||this.updatePointer(t,e,n,!1);const i=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;let r,o;this.pointerIsDown&&!this.pointerWasMoved&&(r=this.coords.cur.client.x-this.coords.start.client.x,o=this.coords.cur.client.y-this.coords.start.client.y,this.pointerWasMoved=gt(r,o)>this.pointerMoveTolerance);const s=this.getPointerIndex(t),a={pointer:t,pointerIndex:s,pointerInfo:this.pointers[s],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||zt(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",a),i||this.simulation||(this.interacting()&&(a.type=null,this.move(a)),this.pointerWasMoved&&Tt(this.coords.prev,this.coords.cur))}move(t){t&&t.event||_t(this.coords.delta),t=B({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{}),t.phase="move",this._doPhase(t)}pointerUp(t,e,n,i){let r=this.getPointerIndex(t);-1===r&&(r=this.updatePointer(t,e,n,!1));const o=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire(`interactions:${o}`,{pointer:t,pointerIndex:r,pointerInfo:this.pointers[r],event:e,eventTarget:n,type:o,curEventTarget:i,interaction:this}),this.simulation||this.end(e),this.removePointer(t,e)}documentBlur(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}end(t){let e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&this.stop()}currentAction(){return this._interacting?this.prepared.name:null}interacting(){return this._interacting}stop(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}getPointerIndex(t){const e=Dt(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:N(this.pointers,t=>t.id===e)}getPointerInfo(t){return this.pointers[this.getPointerIndex(t)]}updatePointer(t,e,n,i){const r=Dt(t);let o=this.getPointerIndex(t),s=this.pointers[o];return i=!1!==i&&(i||/(down|start)$/i.test(e.type)),s?s.pointer=t:(s=new Vt(r,t,e,null,null),o=this.pointers.length,this.pointers.push(s)),kt(this.coords.cur,this.pointers.map(t=>t.pointer),this._now()),Ot(this.coords.delta,this.coords.prev,this.coords.cur),i&&(this.pointerIsDown=!0,s.downTime=this.coords.cur.timeStamp,s.downTarget=n,Et(this.downPointer,t),this.interacting()||(Tt(this.coords.start,this.coords.cur),Tt(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:i,pointerInfo:s,pointerIndex:o,interaction:this}),o}removePointer(t,e){const n=this.getPointerIndex(t);if(-1===n)return;const i=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:i,interaction:this}),this.pointers.splice(n,1),this.pointerIsDown=!1}_updateLatestPointer(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}destroy(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}_createPreparedEvent(t,e,n,i){return new bt(this,t,this.prepared.name,e,this.element,n,i)}_fireEvent(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}_doPhase(t){const{event:e,phase:n,preEnd:i,type:r}=t,{rect:o}=this;o&&"move"===n&&(ft(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top);const s=this._scopeFire(`interactions:before-action-${n}`,t);if(!1===s)return!1;const a=t.iEvent=this._createPreparedEvent(e,n,i,r);return this._scopeFire(`interactions:action-${n}`,t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire(`interactions:after-action-${n}`,t),!0}_now(){return Date.now()}}var te=Qt;function ee(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):D.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function ne(t,e,n){const i=t.options.preventDefault;if("never"!==i)if("always"!==i){if(e.events.supportsPassive&&/^touch(start|move)$/.test(n.type)){const t=w(n.target).document,i=e.getDocOptions(t);if(!i||!i.events||!1!==i.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(n.type)||D.element(n.target)&&et(n.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||n.preventDefault()}else n.preventDefault()}function ie({interaction:t,event:e}){t.interactable&&t.interactable.checkAndPreventDefault(e)}function re(t){const{Interactable:e}=t;e.prototype.preventDefault=ee,e.prototype.checkAndPreventDefault=function(e){return ne(this,t,e)},t.interactions.docEvents.push({type:"dragstart",listener(e){for(const n of t.interactions.list)if(n.element&&(n.element===e.target||J(n.element,e.target)))return void n.interactable.checkAndPreventDefault(e)}})}var oe={id:"core/interactablePreventDefault",install:re,listeners:["down","move","up","cancel"].reduce((t,e)=>{return t[`interactions:${e}`]=ie,t},{})};const se={methodOrder:["simulationResume","mouseOrPen","hasPointer","idle"],search(t){for(const e of se.methodOrder){const n=se[e](t);if(n)return n}return null},simulationResume({pointerType:t,eventType:e,eventTarget:n,scope:i}){if(!/down|start/i.test(e))return null;for(const r of i.interactions.list){let e=n;if(r.simulation&&r.simulation.allowResume&&r.pointerType===t)while(e){if(e===r.element)return r;e=tt(e)}}return null},mouseOrPen({pointerId:t,pointerType:e,eventType:n,scope:i}){if("mouse"!==e&&"pen"!==e)return null;let r;for(const o of i.interactions.list)if(o.pointerType===e){if(o.simulation&&!ae(o,t))continue;if(o.interacting())return o;r||(r=o)}if(r)return r;for(const o of i.interactions.list)if(o.pointerType===e&&(!/down/i.test(n)||!o.simulation))return o;return null},hasPointer({pointerId:t,scope:e}){for(const n of e.interactions.list)if(ae(n,t))return n;return null},idle({pointerType:t,scope:e}){for(const n of e.interactions.list){if(1===n.pointers.length){const t=n.interactable;if(t&&(!t.options.gesture||!t.options.gesture.enabled))continue}else if(n.pointers.length>=2)continue;if(!n.interacting()&&t===n.pointerType)return n}return null}};function ae(t,e){return t.pointers.some(({id:t})=>t===e)}var ce=se;const ue=["pointerDown","pointerMove","pointerUp","updatePointer","removePointer","windowBlur"];function le(t){const e={};for(const o of ue)e[o]=he(o,t);const n=A.pEventTypes;let i;function r(){for(const e of t.interactions.list)if(e.pointerIsDown&&"touch"===e.pointerType&&!e._interacting)for(const n of e.pointers)t.documents.some(({doc:t})=>J(t,n.downTarget))||e.removePointer(n.pointer,n.event)}i=g.PointerEvent?[{type:n.down,listener:r},{type:n.down,listener:e.pointerDown},{type:n.move,listener:e.pointerMove},{type:n.up,listener:e.pointerUp},{type:n.cancel,listener:e.pointerUp}]:[{type:"mousedown",listener:e.pointerDown},{type:"mousemove",listener:e.pointerMove},{type:"mouseup",listener:e.pointerUp},{type:"touchstart",listener:r},{type:"touchstart",listener:e.pointerDown},{type:"touchmove",listener:e.pointerMove},{type:"touchend",listener:e.pointerUp},{type:"touchcancel",listener:e.pointerUp}],i.push({type:"blur",listener(e){for(const n of t.interactions.list)n.documentBlur(e)}}),t.prevTouchTime=0,t.Interaction=class extends te{get pointerMoveTolerance(){return t.interactions.pointerMoveTolerance}set pointerMoveTolerance(e){t.interactions.pointerMoveTolerance=e}_now(){return t.now()}},t.interactions={list:[],new(e){e.scopeFire=(e,n)=>t.fire(e,n);const n=new t.Interaction(e);return t.interactions.list.push(n),n},listeners:e,docEvents:i,pointerMoveTolerance:1},t.usePlugin(oe)}function he(t,e){return function(n){const i=e.interactions.list,r=Nt(n),[o,s]=$t(n),a=[];if(/^touch/.test(n.type)){e.prevTouchTime=e.now();for(const t of n.changedTouches){const i=t,c=Dt(i),u={pointer:i,pointerId:c,pointerType:r,eventType:n.type,eventTarget:o,curEventTarget:s,scope:e},l=de(u);a.push([u.pointer,u.eventTarget,u.curEventTarget,l])}}else{let t=!1;if(!A.supportsPointerEvent&&/mouse/.test(n.type)){for(let e=0;efe(t,"add"),"scope:remove-document":t=>fe(t,"remove"),"interactable:unset":({interactable:t},e)=>{for(let n=e.interactions.list.length-1;n>=0;n--){const i=e.interactions.list[n];i.interactable===t&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(n,1))}}},onDocSignal:fe,doOnInteractions:he,methodNames:ue};var ge=pe;class me{constructor(){this.id=`__interact_scope_${Math.floor(100*Math.random())}`,this.isInitialized=!1,this.listenerMaps=[],this.browser=A,this.defaults=W(vt),this.Eventable=K,this.actions={map:{},phases:{start:!0,move:!0,end:!0},methodDict:{},phaselessTypes:{}},this.interactStatic=Yt(this),this.InteractEvent=bt,this.Interactable=void 0,this.interactables=new wt(this),this._win=void 0,this.document=void 0,this.window=void 0,this.documents=[],this._plugins={list:[],map:{}},this.onWindowUnload=t=>this.removeDocument(t.target);const t=this;this.Interactable=class extends xt{get _defaults(){return t.defaults}set(e){return super.set(e),t.fire("interactable:set",{options:e,interactable:this}),this}unset(){super.unset(),t.interactables.list.splice(t.interactables.list.indexOf(this),1),t.fire("interactable:unset",{interactable:this})}}}addListeners(t,e){this.listenerMaps.push({id:e,map:t})}fire(t,e){for(const{map:{[t]:n}}of this.listenerMaps)if(n&&!1===n(e,this,t))return!1}init(t){return this.isInitialized?this:ve(this,t)}pluginIsInstalled(t){return this._plugins.map[t.id]||-1!==this._plugins.list.indexOf(t)}usePlugin(t,e){if(!this.isInitialized)return this;if(this.pluginIsInstalled(t))return this;if(t.id&&(this._plugins.map[t.id]=t),this._plugins.list.push(t),t.install&&t.install(this,e),t.listeners&&t.before){let e=0;const n=this.listenerMaps.length,i=t.before.reduce((t,e)=>{return t[e]=!0,t[be(e)]=!0,t},{});for(;eye.init(t);function Ee(t){const{Interactable:e}=t;e.prototype.getAction=function(e,n,i,r){const o=Te(this,n,i,r,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,r,i):o},e.prototype.ignoreFrom=Ut((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=Ut((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=ze,e.prototype.styleCursor=Oe}function Te(t,e,n,i,r){const o=t.getRect(i),s=e.buttons||{0:1,1:4,3:8,4:16}[e.button],a={action:null,interactable:t,interaction:n,element:i,rect:o,buttons:s};return r.fire("auto-start:check",a),a.action}function Oe(t){return D.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function ze(t){return D.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}"object"===typeof window&&window&&Se(window);var _e={id:"auto-start/interactableMethods",install:Ee};function Me(t){const{interactStatic:e,defaults:n}=t;t.usePlugin(_e),n.base.actionChecker=null,n.base.styleCursor=!0,B(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=e=>Le(e,t),t.autoStart={maxInteractions:1/0,withinInteractionLimit:He,cursorElement:null}}function Ie({interaction:t,pointer:e,event:n,eventTarget:i},r){if(t.interacting())return;const o=Ae(t,e,n,i,r);Ce(t,o,r)}function je({interaction:t,pointer:e,event:n,eventTarget:i},r){if("mouse"!==t.pointerType||t.pointerIsDown||t.interacting())return;const o=Ae(t,e,n,i,r);Ce(t,o,r)}function Pe(t,e){const{interaction:n}=t;if(!n.pointerIsDown||n.interacting()||!n.pointerWasMoved||!n.prepared.name)return;e.fire("autoStart:before-start",t);const{interactable:i}=n,r=n.prepared.name;r&&i&&(i.options[r].manualStart||!He(i,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,i,n.element),$e(n,e)))}function De({interaction:t},e){const{interactable:n}=t;n&&n.options.styleCursor&&Ne(t.element,"",e)}function ke(t,e,n,i,r){return e.testIgnoreAllow(e.options[t.name],n,i)&&e.options[t.name].enabled&&He(e,n,t,r)?t:null}function Re(t,e,n,i,r,o,s){for(let a=0,c=i.length;a=a)return!1;if(h.interactable===t){if(u+=i===n.name?1:0,u>=o)return!1;if(h.element===e&&(l++,i===n.name&&l>=s))return!1}}}return a>0}function Le(t,e){return D.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Ne(t,e,n){const{cursorElement:i}=n.autoStart;i&&i!==t&&(i.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function $e(t,e){const{interactable:n,element:i,prepared:r}=t;if("mouse"!==t.pointerType||!n||!n.options.styleCursor)return void(e.autoStart.cursorElement&&Ne(e.autoStart.cursorElement,"",e));let o="";if(r.name){const s=n.options[r.name].cursorChecker;o=D.func(s)?s(r,n,i,t._interacting):e.actions.map[r.name].getCursor(r)}Ne(t.element,o||"",e)}const We={id:"auto-start/base",before:["actions"],install:Me,listeners:{"interactions:down":Ie,"interactions:move":(t,e)=>{je(t,e),Pe(t,e)},"interactions:stop":De},maxInteractions:Le,withinInteractionLimit:He,validateAction:ke};var Be=We;function Fe({interaction:t,eventTarget:e,dx:n,dy:i},r){if("drag"!==t.prepared.name)return;const o=Math.abs(n),s=Math.abs(i),a=t.interactable.options.drag,c=a.startAxis,u=o>s?"x":o{t.autoStartHoldTimer=null},"autoStart:prepared":({interaction:t})=>{const e=Ue(t);e>0&&(t.autoStartHoldTimer=setTimeout(()=>{t.start(t.prepared,t.interactable,t.element)},e))},"interactions:move":({interaction:t,duplicate:e})=>{t.autoStartHoldTimer&&t.pointerWasMoved&&!e&&(clearTimeout(t.autoStartHoldTimer),t.autoStartHoldTimer=null)},"autoStart:before-start":({interaction:t})=>{const e=Ue(t);e>0&&(t.prepared.name=null)}},getHoldDuration:Ue},Ve={id:"auto-start",install(t){t.usePlugin(Be),t.usePlugin(qe),t.usePlugin(Xe)}};function Ze(t){const{actions:e,Interactable:n,defaults:i}=t;n.prototype.draggable=tn.draggable,e.map.drag=tn,e.methodDict.drag="draggable",i.actions.drag=tn.defaults}function Ke({interaction:t}){if("drag"!==t.prepared.name)return;const e=t.prepared.axis;"x"===e?(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"===e&&(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 Je({iEvent:t,interaction:e}){if("drag"!==e.prepared.name)return;const n=e.prepared.axis;if("x"===n||"y"===n){const i="x"===n?"y":"x";t.page[i]=e.coords.start.page[i],t.client[i]=e.coords.start.client[i],t.delta[i]=0}}"object"===typeof window&&window&&Se(window),we.__warnedUseImport||(we.__warnedUseImport=!0,console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.')),we.use(Ve);const Qe=function(t){return D.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):D.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},tn={id:"actions/drag",install:Ze,listeners:{"interactions:before-action-move":Ke,"interactions:action-resume":Ke,"interactions:action-move":Je,"auto-start:check":t=>{const{interaction:e,interactable:n,buttons:i}=t,r=n.options.drag;if(r&&r.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!==(i&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===r.lockAxis?r.startAxis:r.lockAxis},!1}},draggable:Qe,beforeMove:Ke,move:Je,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor(){return"move"}};var en=tn;function nn(t){const{actions:e,browser:n,Interactable:i,defaults:r}=t;dn.cursors=an(n),dn.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,i.prototype.resizable=function(e){return on(this,e,t)},e.map.resize=dn,e.methodDict.resize="resizable",r.actions.resize=dn.defaults}function rn(t){const{interaction:e,interactable:n,element:i,rect:r,buttons:o}=t;if(!r)return;const s=B({},e.coords.cur.page),a=n.options.resize;if(a&&a.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!==(o&a.mouseButtons))){if(D.object(a.edges)){const n={left:!1,right:!1,top:!1,bottom:!1};for(const t in n)n[t]=sn(t,a.edges[t],s,e._latestPointer.eventTarget,i,r,a.margin||dn.defaultMargin);n.left=n.left&&!n.right,n.top=n.top&&!n.bottom,(n.left||n.right||n.top||n.bottom)&&(t.action={name:"resize",edges:n})}else{const e="y"!==a.axis&&s.x>r.right-dn.defaultMargin,n="x"!==a.axis&&s.y>r.bottom-dn.defaultMargin;(e||n)&&(t.action={name:"resize",axes:(e?"x":"")+(n?"y":"")})}return!t.action&&void 0}}function on(t,e,n){return D.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),D.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),D.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:D.bool(e.square)&&(t.options.resize.square=e.square),t):D.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}function sn(t,e,n,i,r,o,s){if(!e)return!1;if(!0===e){const e=D.number(o.width)?o.width:o.right-o.left,i=D.number(o.height)?o.height:o.bottom-o.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?e:i)/2)),e<0&&("left"===t?t="right":"right"===t&&(t="left")),i<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(e>=0?o.left:o.right)+s;if("top"===t)return n.y<(i>=0?o.top:o.bottom)+s;if("right"===t)return n.x>(e>=0?o.right:o.left)-s;if("bottom"===t)return n.y>(i>=0?o.bottom:o.top)-s}return!!D.element(i)&&(D.element(e)?e===i:nt(i,e,r))}function an(t){return t.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 cn({iEvent:t,interaction:e}){if("resize"!==e.prepared.name||!e.prepared.edges)return;const n=t,i=e.rect;e._rects={start:B({},i),corrected:B({},i),previous:B({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},n.edges=e.prepared.edges,n.rect=e._rects.corrected,n.deltaRect=e._rects.delta}function un({iEvent:t,interaction:e}){if("resize"!==e.prepared.name||!e.prepared.edges)return;const n=t,i=e.interactable.options.resize,r=i.invert,o="reposition"===r||"negate"===r,s=e.rect,{start:a,corrected:c,delta:u,previous:l}=e._rects;if(B(l,c),o){if(B(c,s),"reposition"===r){if(c.top>c.bottom){const t=c.top;c.top=c.bottom,c.bottom=t}if(c.left>c.right){const t=c.left;c.left=c.right,c.right=t}}}else c.top=Math.min(s.top,a.bottom),c.bottom=Math.max(s.bottom,a.top),c.left=Math.min(s.left,a.right),c.right=Math.max(s.right,a.left);c.width=c.right-c.left,c.height=c.bottom-c.top;for(const h in c)u[h]=c[h]-l[h];n.edges=e.prepared.edges,n.rect=c,n.deltaRect=u}function ln({iEvent:t,interaction:e}){if("resize"!==e.prepared.name||!e.prepared.edges)return;const n=t;n.edges=e.prepared.edges,n.rect=e._rects.corrected,n.deltaRect=e._rects.delta}function hn({iEvent:t,interaction:e}){if("resize"!==e.prepared.name||!e.resizeAxes)return;const n=e.interactable.options,i=t;n.resize.square?("y"===e.resizeAxes?i.delta.x=i.delta.y:i.delta.y=i.delta.x,i.axes="xy"):(i.axes=e.resizeAxes,"x"===e.resizeAxes?i.delta.y=0:"y"===e.resizeAxes&&(i.delta.x=0))}"object"===typeof window&&window&&Se(window),we.__warnedUseImport||(we.__warnedUseImport=!0,console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.')),we.use(en);const dn={id:"actions/resize",before:["actions/drag"],install:nn,listeners:{"interactions:new":({interaction:t})=>{t.resizeAxes="xy"},"interactions:action-start":t=>{cn(t),hn(t)},"interactions:action-move":t=>{un(t),hn(t)},"interactions:action-end":ln,"auto-start:check":rn},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor({edges:t,axis:e,name:n}){const i=dn.cursors;let r=null;if(e)r=i[n+e];else if(t){let e="";for(const n of["top","bottom","left","right"])t[n]&&(e+=n);r=i[e]}return r},defaultMargin:null};var fn=dn;"object"===typeof window&&window&&Se(window),we.__warnedUseImport||(we.__warnedUseImport=!0,console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.')),we.use(fn);var pn=()=>{},gn=()=>{},mn=t=>{const e=[["x","y"],["left","top"],["right","bottom"],["width","height"]].filter(([e,n])=>e in t||n in t),n=(n,i)=>{const{range:r,limits:o={left:-1/0,right:1/0,top:-1/0,bottom:1/0},offset:s={x:0,y:0}}=t,a={range:r,grid:t,x:null,y:null};for(const[c,u]of e){const e=Math.round((n-s.x)/t[c]),r=Math.round((i-s.y)/t[u]);a[c]=Math.max(o.left,Math.min(o.right,e*t[c]+s.x)),a[u]=Math.max(o.top,Math.min(o.bottom,r*t[u]+s.y))}return a};return n.grid=t,n.coordFields=e,n};const vn={id:"snappers",install(t){const{interactStatic:e}=t;e.snappers=B(e.snappers||{},i),e.createSnapGrid=e.snappers.grid}};var bn=vn;class yn{constructor(t){this.states=[],this.startOffset={left:0,right:0,top:0,bottom:0},this.startDelta=null,this.result=null,this.endResult=null,this.edges=void 0,this.interaction=void 0,this.interaction=t,this.result=xn()}start({phase:t},e){const{interaction:n}=this,i=wn(n);this.prepareStates(i),this.edges=B({},n.edges),this.startOffset=Sn(n.rect,e),this.startDelta={x:0,y:0};const r={phase:t,pageCoords:e,preEnd:!1};this.result=xn(),this.startAll(r);const o=this.result=this.setAll(r);return o}fillArg(t){const{interaction:e}=this;t.interaction=e,t.interactable=e.interactable,t.element=e.element,t.rect=t.rect||e.rect,t.edges=this.edges,t.startOffset=this.startOffset}startAll(t){this.fillArg(t);for(const e of this.states)e.methods.start&&(t.state=e,e.methods.start(t))}setAll(t){this.fillArg(t);const{phase:e,preEnd:n,skipModifiers:i,rect:r}=t;t.coords=B({},t.pageCoords),t.rect=B({},r);const o=i?this.states.slice(i):this.states,s=xn(t.coords,t.rect);for(const u of o){const{options:i}=u,r=B({},t.coords);let o=null;u.methods.set&&this.shouldDo(i,n,e)&&(t.state=u,o=u.methods.set(t),ft(this.interaction.edges,t.rect,{x:t.coords.x-r.x,y:t.coords.y-r.y})),s.eventProps.push(o)}s.delta.x=t.coords.x-t.pageCoords.x,s.delta.y=t.coords.y-t.pageCoords.y,s.rectDelta.left=t.rect.left-r.left,s.rectDelta.right=t.rect.right-r.right,s.rectDelta.top=t.rect.top-r.top,s.rectDelta.bottom=t.rect.bottom-r.bottom;const a=this.result.coords,c=this.result.rect;if(a&&c){const t=s.rect.left!==c.left||s.rect.right!==c.right||s.rect.top!==c.top||s.rect.bottom!==c.bottom;s.changed=t||a.x!==s.coords.x||a.y!==s.coords.y}return s}applyToInteraction(t){const{interaction:e}=this,{phase:n}=t,i=e.coords.cur,r=e.coords.start,{result:o,startDelta:s}=this,a=o.delta;"start"===n&&B(this.startDelta,o.delta);for(const[l,h]of[[r,s],[i,a]])l.page.x+=h.x,l.page.y+=h.y,l.client.x+=h.x,l.client.y+=h.y;const{rectDelta:c}=this.result,u=t.rect||e.rect;u.left+=c.left,u.right+=c.right,u.top+=c.top,u.bottom+=c.bottom,u.width=u.right-u.left,u.height=u.bottom-u.top}setAndApply(t){const{interaction:e}=this,{phase:n,preEnd:i,skipModifiers:r}=t,o=this.setAll({preEnd:i,phase:n,pageCoords:t.modifiedCoords||e.coords.cur.page});if(this.result=o,!o.changed&&(!r||rW(t)),this.result=xn(B({},t.result.coords),B({},t.result.rect))}destroy(){for(const t in this)this[t]=null}}function xn(t,e){return{rect:e,coords:t,delta:{x:0,y:0},rectDelta:{left:0,right:0,top:0,bottom:0},eventProps:[],changed:!0}}function wn(t){const e=t.interactable.options[t.prepared.name],n=e.modifiers;return n&&n.length?n:["snap","snapSize","snapEdges","restrict","restrictEdges","restrictSize"].map(t=>{const n=e[t];return n&&n.enabled&&{options:n,methods:n._methods}}).filter(t=>!!t)}function Sn(t,e){return t?{left:e.x-t.left,top:e.y-t.top,right:t.right-e.x,bottom:t.bottom-e.y}:{left:0,top:0,right:0,bottom:0}}function En(t,e){const{defaults:n}=t,i={start:t.start,set:t.set,beforeEnd:t.beforeEnd,stop:t.stop},r=t=>{const r=t||{};r.enabled=!1!==r.enabled;for(const e in n)e in r||(r[e]=n[e]);const o={options:r,methods:i,name:e,enable:()=>{return r.enabled=!0,o},disable:()=>{return r.enabled=!1,o}};return o};return e&&"string"===typeof e&&(r._defaults=n,r._methods=i),r}function Tn({iEvent:t,interaction:{modification:{result:e}}}){e&&(t.modifiers=e.eventProps)}const On={id:"modifiers/base",before:["actions"],install:t=>{t.defaults.perAction.modifiers=[]},listeners:{"interactions:new":({interaction:t})=>{t.modification=new yn(t)},"interactions:before-action-start":t=>{const{modification:e}=t.interaction;e.start(t,t.interaction.coords.start.page),t.interaction.edges=e.edges,e.applyToInteraction(t)},"interactions:before-action-move":t=>t.interaction.modification.setAndApply(t),"interactions:before-action-end":t=>t.interaction.modification.beforeEnd(t),"interactions:action-start":Tn,"interactions:action-move":Tn,"interactions:action-end":Tn,"interactions:after-action-start":t=>t.interaction.modification.restoreInteractionCoords(t),"interactions:after-action-move":t=>t.interaction.modification.restoreInteractionCoords(t),"interactions:stop":t=>t.interaction.modification.stop(t)}};var zn=On;const _n={start(t){const{state:e,rect:n,edges:i,pageCoords:r}=t;let{ratio:o}=e.options;const{equalDelta:s,modifiers:a}=e.options;"preserve"===o&&(o=n.width/n.height),e.startCoords=B({},r),e.startRect=B({},n),e.ratio=o,e.equalDelta=s;const c=e.linkedEdges={top:i.top||i.left&&!i.bottom,left:i.left||i.top&&!i.right,bottom:i.bottom||i.right&&!i.top,right:i.right||i.bottom&&!i.left};if(e.xIsPrimaryAxis=!(!i.left&&!i.right),e.equalDelta)e.edgeSign=(c.left?1:-1)*(c.top?1:-1);else{const t=e.xIsPrimaryAxis?c.top:c.left;e.edgeSign=t?-1:1}if(B(t.edges,c),!a||!a.length)return;const u=new yn(t.interaction);u.copyFrom(t.interaction.modification),u.prepareStates(a),e.subModification=u,u.startAll({...t})},set(t){const{state:e,rect:n,coords:i}=t,r=B({},i),o=e.equalDelta?Mn:In;if(o(e,e.xIsPrimaryAxis,i,n),!e.subModification)return null;const s=B({},n);ft(e.linkedEdges,s,{x:i.x-r.x,y:i.y-r.y});const a=e.subModification.setAll({...t,rect:s,edges:e.linkedEdges,pageCoords:i,prevCoords:i,prevRect:s}),{delta:c}=a;if(a.changed){const t=Math.abs(c.x)>Math.abs(c.y);o(e,t,a.coords,a.rect),B(i,a.coords)}return a.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Mn({startCoords:t,edgeSign:e},n,i){n?i.y=t.y+(i.x-t.x)*e:i.x=t.x+(i.y-t.y)*e}function In({startRect:t,startCoords:e,ratio:n,edgeSign:i},r,o,s){if(r){const r=s.width/n;o.y=e.y+(r-t.height)*i}else{const r=s.height*n;o.x=e.x+(r-t.width)*i}}var jn=En(_n,"aspectRatio");const Pn=()=>{};Pn._defaults={};var Dn=Pn;function kn({rect:t,startOffset:e,state:n,interaction:i,pageCoords:r}){const{options:o}=n,{elementRect:s}=o,a=B({left:0,top:0,right:0,bottom:0},o.offset||{});if(t&&s){const n=An(o.restriction,i,r);if(n){const e=n.right-n.left-t.width,i=n.bottom-n.top-t.height;e<0&&(a.left+=e,a.right+=e),i<0&&(a.top+=i,a.bottom+=i)}a.left+=e.left-t.width*s.left,a.top+=e.top-t.height*s.top,a.right+=e.right-t.width*(1-s.right),a.bottom+=e.bottom-t.height*(1-s.bottom)}n.offset=a}function Rn({coords:t,interaction:e,state:n}){const{options:i,offset:r}=n,o=An(i.restriction,e,t);if(!o)return;const s=ht(o);t.x=Math.max(Math.min(s.right-r.right,t.x),s.left+r.left),t.y=Math.max(Math.min(s.bottom-r.bottom,t.y),s.top+r.top)}function An(t,e,n){return D.func(t)?ut(t,e.interactable,e.element,[n.x,n.y,e]):ut(t,e.interactable,e.element)}const Cn={restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1},Hn={start:kn,set:Rn,defaults:Cn};var Ln=En(Hn,"restrict");const Nn={top:1/0,left:1/0,bottom:-1/0,right:-1/0},$n={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Wn({interaction:t,startOffset:e,state:n}){const{options:i}=n;let r;if(i){const e=An(i.offset,t,t.coords.start.page);r=lt(e)}r=r||{x:0,y:0},n.offset={top:r.y+e.top,left:r.x+e.left,bottom:r.y-e.bottom,right:r.x-e.right}}function Bn({coords:t,edges:e,interaction:n,state:i}){const{offset:r,options:o}=i;if(!e)return;const s=B({},t),a=An(o.inner,n,s)||{},c=An(o.outer,n,s)||{};Fn(a,Nn),Fn(c,$n),e.top?t.y=Math.min(Math.max(c.top+r.top,s.y),a.top+r.top):e.bottom&&(t.y=Math.max(Math.min(c.bottom+r.bottom,s.y),a.bottom+r.bottom)),e.left?t.x=Math.min(Math.max(c.left+r.left,s.x),a.left+r.left):e.right&&(t.x=Math.max(Math.min(c.right+r.right,s.x),a.right+r.right))}function Fn(t,e){for(const n of["top","left","bottom","right"])n in t||(t[n]=e[n]);return t}const Gn={inner:null,outer:null,offset:null,endOnly:!1,enabled:!1},Xn={noInner:Nn,noOuter:$n,start:Wn,set:Bn,defaults:Gn};var Yn=En(Xn,"restrictEdges");const Un=B({get elementRect(){return{top:0,left:0,bottom:1,right:1}},set elementRect(t){}},Hn.defaults),qn={start:Hn.start,set:Hn.set,defaults:Un};var Vn=En(qn,"restrictRect");const Zn={width:-1/0,height:-1/0},Kn={width:1/0,height:1/0};function Jn(t){return Xn.start(t)}function Qn(t){const{interaction:e,state:n,rect:i,edges:r}=t,{options:o}=n;if(!r)return;const s=dt(An(o.min,e,t.coords))||Zn,a=dt(An(o.max,e,t.coords))||Kn;n.options={endOnly:o.endOnly,inner:B({},Xn.noInner),outer:B({},Xn.noOuter)},r.top?(n.options.inner.top=i.bottom-s.height,n.options.outer.top=i.bottom-a.height):r.bottom&&(n.options.inner.bottom=i.top+s.height,n.options.outer.bottom=i.top+a.height),r.left?(n.options.inner.left=i.right-s.width,n.options.outer.left=i.right-a.width):r.right&&(n.options.inner.right=i.left+s.width,n.options.outer.right=i.left+a.width),Xn.set(t),n.options=o}const ti={min:null,max:null,endOnly:!1,enabled:!1},ei={start:Jn,set:Qn,defaults:ti};var ni=En(ei,"restrictSize");function ii(t){const{interaction:e,interactable:n,element:i,rect:r,state:o,startOffset:s}=t,{options:a}=o,c=a.offsetWithOrigin?oi(t):{x:0,y:0};let u;if("startCoords"===a.offset)u={x:e.coords.start.page.x,y:e.coords.start.page.y};else{const t=ut(a.offset,n,i,[e]);u=lt(t)||{x:0,y:0},u.x+=c.x,u.y+=c.y}const{relativePoints:l}=a;o.offsets=r&&l&&l.length?l.map((t,e)=>({index:e,relativePoint:t,x:s.left-r.width*t.x+u.x,y:s.top-r.height*t.y+u.y})):[B({index:0,relativePoint:null},u)]}function ri(t){const{interaction:e,coords:n,state:i}=t,{options:r,offsets:o}=i,s=pt(e.interactable,e.element,e.prepared.name),a=B({},n),c=[];r.offsetWithOrigin||(a.x-=s.x,a.y-=s.y);for(const l of o){const t=a.x-l.x,n=a.y-l.y;for(let i=0,o=r.targets.length;i{}}:{id:Mi,install:Ti,listeners:{"interactions:action-start":({interaction:t},e)=>{for(const n of Oi){const i=t.interactable&&t.interactable.options;i&&i.devTools&&i.devTools.ignore[n.name]||!n.perform(t)||e.logger.warn(wi+n.text,...n.getInfo(t))}}},checks:Oi,CheckName:yi,links:Si,prefix:wi};var ji=Ii;"object"===typeof window&&window&&Se(window),we.__warnedUseImport||(we.__warnedUseImport=!0,console.warn('[interact.js] The "@interactjs/*/index" packages are not quite stable yet. Use them with caution.')),we.use(ji);var Pi={name:"GridItem",props:{isDraggable:{type:Boolean,required:!1,default:null},isResizable:{type:Boolean,required:!1,default:null},static:{type:Boolean,required:!1,default:!1},minH:{type:Number,required:!1,default:1},minW:{type:Number,required:!1,default:1},maxH:{type:Number,required:!1,default:1/0},maxW:{type:Number,required:!1,default:1/0},x:{type:Number,required:!0},y:{type:Number,required:!0},w:{type:Number,required:!0},h:{type:Number,required:!0},i:{required:!0},dragIgnoreFrom:{type:String,required:!1,default:"a, button"},dragAllowFrom:{type:String,required:!1,default:null},resizeIgnoreFrom:{type:String,required:!1,default:"a, button"}},inject:["eventBus","layout"],data:function(){return{cols:1,containerWidth:100,rowHeight:30,margin:[10,10],maxRows:1/0,draggable:null,resizable:null,useCssTransforms:!0,useStyleCursor:!0,isDragging:!1,dragging:null,isResizing:!1,resizing:null,lastX:NaN,lastY:NaN,lastW:NaN,lastH:NaN,style:{},rtl:!1,dragEventSet:!1,resizeEventSet:!1,previousW:null,previousH:null,previousX:null,previousY:null,innerX:this.x,innerY:this.y,innerW:this.w,innerH:this.h}},created:function(){var t=this,e=this;e.updateWidthHandler=function(t){e.updateWidth(t)},e.compactHandler=function(t){e.compact(t)},e.setDraggableHandler=function(t){null===e.isDraggable&&(e.draggable=t)},e.setResizableHandler=function(t){null===e.isResizable&&(e.resizable=t)},e.setRowHeightHandler=function(t){e.rowHeight=t},e.setMaxRowsHandler=function(t){e.maxRows=t},e.directionchangeHandler=function(){t.rtl="rtl"===Object(d["b"])(),t.compact()},e.setColNum=function(t){e.cols=parseInt(t)},this.eventBus.$on("updateWidth",e.updateWidthHandler),this.eventBus.$on("compact",e.compactHandler),this.eventBus.$on("setDraggable",e.setDraggableHandler),this.eventBus.$on("setResizable",e.setResizableHandler),this.eventBus.$on("setRowHeight",e.setRowHeightHandler),this.eventBus.$on("setMaxRows",e.setMaxRowsHandler),this.eventBus.$on("directionchange",e.directionchangeHandler),this.eventBus.$on("setColNum",e.setColNum),this.rtl="rtl"===Object(d["b"])()},beforeDestroy:function(){var t=this;this.eventBus.$off("updateWidth",t.updateWidthHandler),this.eventBus.$off("compact",t.compactHandler),this.eventBus.$off("setDraggable",t.setDraggableHandler),this.eventBus.$off("setResizable",t.setResizableHandler),this.eventBus.$off("setRowHeight",t.setRowHeightHandler),this.eventBus.$off("setMaxRows",t.setMaxRowsHandler),this.eventBus.$off("directionchange",t.directionchangeHandler),this.eventBus.$off("setColNum",t.setColNum),this.interactObj&&this.interactObj.unset()},mounted:function(){this.layout.responsive?this.cols=Object(h["c"])(this.layout.lastBreakpoint,this.layout.cols):this.cols=this.layout.colNum,this.rowHeight=this.layout.rowHeight,this.containerWidth=null!==this.layout.width?this.layout.width:100,this.margin=void 0!==this.layout.margin?this.layout.margin:[10,10],this.maxRows=this.layout.maxRows,null===this.isDraggable?this.draggable=this.layout.isDraggable:this.draggable=this.isDraggable,null===this.isResizable?this.resizable=this.layout.isResizable:this.resizable=this.isResizable,this.useCssTransforms=this.layout.useCssTransforms,this.useStyleCursor=this.layout.useStyleCursor,this.createStyle()},watch:{isDraggable:function(){this.draggable=this.isDraggable},static:function(){this.tryMakeDraggable(),this.tryMakeResizable()},draggable:function(){this.tryMakeDraggable()},isResizable:function(){this.resizable=this.isResizable},resizable:function(){this.tryMakeResizable()},rowHeight:function(){this.createStyle(),this.emitContainerResized()},cols:function(){this.tryMakeResizable(),this.createStyle(),this.emitContainerResized()},containerWidth:function(){this.tryMakeResizable(),this.createStyle(),this.emitContainerResized()},x:function(t){this.innerX=t,this.createStyle()},y:function(t){this.innerY=t,this.createStyle()},h:function(t){this.innerH=t,this.createStyle()},w:function(t){this.innerW=t,this.createStyle()},renderRtl:function(){this.tryMakeResizable(),this.createStyle()},minH:function(){this.tryMakeResizable()},maxH:function(){this.tryMakeResizable()},minW:function(){this.tryMakeResizable()},maxW:function(){this.tryMakeResizable()},"$parent.margin":function(t){!t||t[0]==this.margin[0]&&t[1]==this.margin[1]||(this.margin=t.map((function(t){return Number(t)})),this.createStyle(),this.emitContainerResized())}},computed:{classObj:function(){return{"vue-resizable":this.resizableAndNotStatic,static:this.static,resizing:this.isResizing,"vue-draggable-dragging":this.isDragging,cssTransforms:this.useCssTransforms,"render-rtl":this.renderRtl,"disable-userselect":this.isDragging,"no-touch":this.isAndroid&&this.draggableOrResizableAndNotStatic}},resizableAndNotStatic:function(){return this.resizable&&!this.static},draggableOrResizableAndNotStatic:function(){return(this.draggable||this.resizable)&&!this.static},isAndroid:function(){return-1!==navigator.userAgent.toLowerCase().indexOf("android")},renderRtl:function(){return this.layout.isMirrored?!this.rtl:this.rtl},resizableHandleClass:function(){return this.renderRtl?"vue-resizable-handle vue-rtl-resizable-handle":"vue-resizable-handle"}},methods:{createStyle:function(){this.x+this.w>this.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var t,e=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(e.top=this.dragging.top,this.renderRtl?e.right=this.dragging.left:e.left=this.dragging.left),this.isResizing&&(e.width=this.resizing.width,e.height=this.resizing.height),t=this.useCssTransforms?this.renderRtl?Object(s["k"])(e.top,e.right,e.width,e.height):Object(s["j"])(e.top,e.left,e.width,e.height):this.renderRtl?Object(s["i"])(e.top,e.right,e.width,e.height):Object(s["h"])(e.top,e.left,e.width,e.height),this.style=t},emitContainerResized:function(){for(var t={},e=0,n=["width","height"];ethis.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=i,this.lastH=r,this.innerW===n.w&&this.innerH===n.h||this.$emit("resize",this.i,n.h,n.w,o.height,o.width),"resizeend"!==t.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",t.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(t){if(!this.static&&!this.isResizing){var e=a(t);if(null!==e){var n,i=e.x,r=e.y,o={top:0,left:0};switch(t.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var s=t.target.offsetParent.getBoundingClientRect(),c=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(c.right-s.right):o.left=c.left-s.left,o.top=c.top-s.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var l=t.target.offsetParent.getBoundingClientRect(),h=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(h.right-l.right):o.left=h.left-l.left,o.top=h.top-l.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var d=u(this.lastX,this.lastY,i,r);this.renderRtl?o.left=this.dragging.left-d.deltaX:o.left=this.dragging.left+d.deltaX,o.top=this.dragging.top+d.deltaY,this.dragging=o;break}n=(this.renderRtl,this.calcXY(o.top,o.left)),this.lastX=i,this.lastY=r,this.innerX===n.x&&this.innerY===n.y||this.$emit("move",this.i,n.x,n.y),"dragend"!==t.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",t.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(t,e,n,i){var r,o=this.calcColWidth();return r=this.renderRtl?{right:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:i===1/0?i:Math.round(this.rowHeight*i+Math.max(0,i-1)*this.margin[1])}:{left:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:i===1/0?i:Math.round(this.rowHeight*i+Math.max(0,i-1)*this.margin[1])},r},calcXY:function(t,e){var n=this.calcColWidth(),i=Math.round((e-this.margin[0])/(n+this.margin[0])),r=Math.round((t-this.margin[1])/(this.rowHeight+this.margin[1]));return i=Math.max(Math.min(i,this.cols-this.innerW),0),r=Math.max(Math.min(r,this.maxRows-this.innerH),0),{x:i,y:r}},calcColWidth:function(){var t=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return t},calcWH:function(t,e){var n=this.calcColWidth(),i=Math.round((e+this.margin[0])/(n+this.margin[0])),r=Math.round((t+this.margin[1])/(this.rowHeight+this.margin[1]));return i=Math.max(Math.min(i,this.cols-this.innerX),0),r=Math.max(Math.min(r,this.maxRows-this.innerY),0),{w:i,h:r}},updateWidth:function(t,e){this.containerWidth=t,void 0!==e&&null!==e&&(this.cols=e)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=we(this.$refs.item),this.useStyleCursor||this.interactObj.styleCursor(!1)),this.draggable&&!this.static){var e={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(e),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(e){t.handleDrag(e)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=we(this.$refs.item),this.useStyleCursor||this.interactObj.styleCursor(!1)),this.resizable&&!this.static){var e=this.calcPosition(0,0,this.maxW,this.maxH),n=this.calcPosition(0,0,this.minW,this.minH),i={preserveAspectRatio:!0,edges:{left:!1,right:"."+this.resizableHandleClass.trim().replace(" ","."),bottom:"."+this.resizableHandleClass.trim().replace(" ","."),top:!1},ignoreFrom:this.resizeIgnoreFrom,restrictSize:{min:{height:n.height,width:n.width},max:{height:e.height,width:e.width}}};this.interactObj.resizable(i),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(e){t.handleResize(e)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var t=this.$slots.default[0].elm.getBoundingClientRect(),e=this.calcWH(t.height,t.width);e.wthis.maxW&&(e.w=this.maxW),e.hthis.maxH&&(e.h=this.maxH),e.h<1&&(e.h=1),e.w<1&&(e.w=1),this.innerW===e.w&&this.innerH===e.h||this.$emit("resize",this.i,e.h,e.w,t.height,t.width),this.previousW===e.w&&this.previousH===e.h||(this.$emit("resized",this.i,e.h,e.w,t.height,t.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,e.h,e.w))}}},Di=Pi,ki=(n("5ed4"),n("2877")),Ri=Object(ki["a"])(Di,r,o,!1,null,null,null);e["a"]=Ri.exports},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c274:function(t,e,n){"use strict";var i=n("50bf");function r(){var t={},e=0,n=0,i=0;function r(r,o){o||(o=r,r=0),r>n?n=r:rl)if(a=c[l++],a!=a)return!0}else for(;u>l;l++)if((t||l in c)&&c[l]===n)return t||l||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var i=n("7726"),r=n("69a8"),o=n("2d95"),s=n("5dbc"),a=n("6a99"),c=n("79e5"),u=n("9093").f,l=n("11e9").f,h=n("86cc").f,d=n("aa77").trim,f="Number",p=i[f],g=p,m=p.prototype,v=o(n("2aeb")(m))==f,b="trim"in String.prototype,y=function(t){var e=a(t,!1);if("string"==typeof e&&e.length>2){e=b?e.trim():d(e,3);var n,i,r,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:i=2,r=49;break;case 79:case 111:i=8,r=55;break;default:return+e}for(var s,c=e.slice(2),u=0,l=c.length;ur)return NaN;return parseInt(c,i)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(v?c((function(){m.valueOf.call(n)})):o(n)!=f)?s(new g(y(e)),n,p):y(e)};for(var x,w=n("9e1e")?u(g):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;w.length>S;S++)r(g,x=w[S])&&!r(p,x)&&h(p,x,l(g,x));p.prototype=m,m.constructor=p,n("2aba")(i,f,p)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(i){"object"===typeof window&&(n=window)}t.exports=n},c946:function(t,e,n){"use strict";var i=n("b770").forEach;t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,r=t.stateHandler.getState,o=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!e)throw new Error("Missing required dependency: reporter.");var s=h(),a="erd_scroll_detection_scrollbar_style",c="erd_scroll_detection_container";function u(t){d(t,a,c)}function l(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function h(){var t=500,e=500,n=document.createElement("div");n.style.cssText=l(["position: absolute","width: "+2*t+"px","height: "+2*e+"px","visibility: hidden","margin: 0","padding: 0"]);var i=document.createElement("div");i.style.cssText=l(["position: absolute","width: "+t+"px","height: "+e+"px","overflow: scroll","visibility: none","top: "+3*-t+"px","left: "+3*-e+"px","visibility: hidden","margin: 0","padding: 0"]),i.appendChild(n),document.body.insertBefore(i,document.body.firstChild);var r=t-i.clientWidth,o=e-i.clientHeight;return document.body.removeChild(i),{width:r,height:o}}function d(t,e,n){function i(n,i){i=i||function(e){t.head.appendChild(e)};var r=t.createElement("style");return r.innerHTML=n,r.id=e,i(r),r}if(!t.getElementById(e)){var r=n+"_animation",o=n+"_animation_active",s="/* Created by the element-resize-detector library. */\n";s+="."+n+" > div::-webkit-scrollbar { "+l(["display: none"])+" }\n\n",s+="."+o+" { "+l(["-webkit-animation-duration: 0.1s","animation-duration: 0.1s","-webkit-animation-name: "+r,"animation-name: "+r])+" }\n",s+="@-webkit-keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",s+="@keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",i(s)}}function f(t){t.className+=" "+c+"_animation_active"}function p(t,n,i){if(t.addEventListener)t.addEventListener(n,i);else{if(!t.attachEvent)return e.error("[scroll] Don't know how to add event listeners.");t.attachEvent("on"+n,i)}}function g(t,n,i){if(t.removeEventListener)t.removeEventListener(n,i);else{if(!t.detachEvent)return e.error("[scroll] Don't know how to remove event listeners.");t.detachEvent("on"+n,i)}}function m(t){return r(t).container.childNodes[0].childNodes[0].childNodes[0]}function v(t){return r(t).container.childNodes[0].childNodes[0].childNodes[1]}function b(t,e){var n=r(t).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");r(t).listeners.push(e)}function y(t,a,u){function h(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(a),"Scroll: "),e.log.apply)e.log.apply(null,n);else for(var i=0;i=t.length?(this._t=void 0,r(1)):r(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,i("keys"),i("values"),i("entries")},cb7c:function(t,e,n){var i=n("d3f4");t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var i=n("69a8"),r=n("6821"),o=n("c366")(!1),s=n("613b")("IE_PROTO");t.exports=function(t,e){var n,a=r(t),c=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);while(e.length>c)i(a,n=e[c++])&&(~o(u,n)||u.push(n));return u}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d6eb:function(t,e,n){"use strict";var i="_erd";function r(t){return t[i]={},o(t)}function o(t){return t[i]}function s(t){delete t[i]}t.exports={initState:r,getState:o,cleanState:s}},d864:function(t,e,n){var i=n("79aa");t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var i=n("e4ae"),r=n("794b"),o=n("1bc3"),s=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(i(t),e=o(e,!0),i(n),r)try{return s(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(t,e,n){"use strict";var i=n("1156"),r=n.n(i);r.a},e4ae:function(t,e,n){var i=n("f772");t.exports=function(t){if(!i(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.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(t,e,n){"use strict";var i=n("b770").forEach,r=n("5be5"),o=n("49ad"),s=n("2cef"),a=n("5058"),c=n("abb4"),u=n("18e9"),l=n("c274"),h=n("d6eb"),d=n("18d2"),f=n("c946");function p(t){return Array.isArray(t)||void 0!==t.length}function g(t){if(Array.isArray(t))return t;var e=[];return i(t,(function(t){e.push(t)})),e}function m(t){return t&&1===t.nodeType}function v(t,e,n){var i=t[e];return void 0!==i&&null!==i||void 0===n?i:n}t.exports=function(t){var e;if(t=t||{},t.idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=s(),b=a({idGenerator:n,stateHandler:h});e=b}var y=t.reporter;if(!y){var x=!1===y;y=c(x)}var w=v(t,"batchProcessor",l({reporter:y})),S={};S.callOnAdd=!!v(t,"callOnAdd",!0),S.debug=!!v(t,"debug",!1);var E,T=o(e),O=r({stateHandler:h}),z=v(t,"strategy","object"),_=v(t,"important",!1),M={reporter:y,batchProcessor:w,stateHandler:h,idHandler:e,important:_};if("scroll"===z&&(u.isLegacyOpera()?(y.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),z="object"):u.isIE(9)&&(y.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),z="object")),"scroll"===z)E=f(M);else{if("object"!==z)throw new Error("Invalid strategy name: "+z);E=d(M)}var I={};function j(t,n,r){function o(t){var e=T.get(t);i(e,(function(e){e(t)}))}function s(t,e,n){T.add(e,n),t&&n(e)}if(r||(r=n,n=t,t={}),!n)throw new Error("At least one element required.");if(!r)throw new Error("Listener required.");if(m(n))n=[n];else{if(!p(n))return y.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");n=g(n)}var a=0,c=v(t,"callOnAdd",S.callOnAdd),u=v(t,"onReady",(function(){})),l=v(t,"debug",S.debug);i(n,(function(t){h.getState(t)||(h.initState(t),e.set(t));var d=e.get(t);if(l&&y.log("Attaching listener to element",d,t),!O.isDetectable(t))return l&&y.log(d,"Not detectable."),O.isBusy(t)?(l&&y.log(d,"System busy making it detectable"),s(c,t,r),I[d]=I[d]||[],void I[d].push((function(){a++,a===n.length&&u()}))):(l&&y.log(d,"Making detectable..."),O.markBusy(t,!0),E.makeDetectable({debug:l,important:_},t,(function(t){if(l&&y.log(d,"onElementDetectable"),h.getState(t)){O.markAsDetectable(t),O.markBusy(t,!1),E.addListener(t,o),s(c,t,r);var e=h.getState(t);if(e&&e.startSize){var f=t.offsetWidth,p=t.offsetHeight;e.startSize.width===f&&e.startSize.height===p||o(t)}I[d]&&i(I[d],(function(t){t()}))}else l&&y.log(d,"Element uninstalled before being detectable.");delete I[d],a++,a===n.length&&u()})));l&&y.log(d,"Already detecable, adding listener."),s(c,t,r),a++})),a===n.length&&u()}function P(t){if(!t)return y.error("At least one element is required.");if(m(t))t=[t];else{if(!p(t))return y.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");t=g(t)}i(t,(function(t){T.removeAllListeners(t),E.uninstall(t),h.cleanState(t)}))}function D(t){E.initDocument&&E.initDocument(t)}return{listenTo:j,removeListener:T.removeListener,removeAllListeners:T.removeAllListeners,uninstall:P,initDocument:D}}},f1ae:function(t,e,n){"use strict";var i=n("86cc"),r=n("4630");t.exports=function(t,e,n){e in t?i.f(t,e,r(0,n)):t[e]=n}},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(i){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(i.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f751:function(t,e,n){var i=n("5ca1");i(i.S+i.F,"Object",{assign:n("7333")})},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var i=n("7726").document;t.exports=i&&i.documentElement},fb15:function(t,e,n){"use strict";var i;(n.r(e),"undefined"!==typeof window)&&(n("f6fd"),(i=window.document.currentScript)&&(i=i.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=i[1]));var r=n("2af9");n.d(e,"install",(function(){return r["d"]})),n.d(e,"GridLayout",(function(){return r["b"]})),n.d(e,"GridItem",(function(){return r["a"]}));e["default"]=r["c"]},fca0:function(t,e,n){var i=n("5ca1"),r=n("7726").isFinite;i(i.S,"Number",{isFinite:function(t){return"number"==typeof t&&r(t)}})},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})["default"]})); //# sourceMappingURL=vue-grid-layout.umd.min.js.map \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.min.js.map b/dist/vue-grid-layout.umd.min.js.map index ac5b9794..e9201131 100644 --- a/dist/vue-grid-layout.umd.min.js.map +++ b/dist/vue-grid-layout.umd.min.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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?0c71","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/./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/interactjs/dist/interact.min.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/_object-assign.js","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/./src/helpers/utils.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/./src/components/GridItem.vue?d9a3","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.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","currentDir","hasDocument","hasWindow","getDocumentDir","direction","dir","getAttribute","addWindowEventListener","event","removeWindowEventListener","removeEventListener","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","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","VueGridLayout","GridLayout","GridItem","install","Vue","installed","forEach","component","plugin","GlobalVue","use","store","uid","USE_SYMBOL","$exports","idCount","generate","method","_vm","_h","$createElement","_c","_self","ref","staticClass","_t","directives","rawName","expression","attrs","placeholder","x","y","w","_defineProperty","obj","configurable","writable","getBreakpointFromWidth","breakpoints","sorted","sortBreakpoints","matching","len","breakpointName","getColsFromBreakpoint","breakpoint","cols","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","compact","correctBounds","sort","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","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","splice","removeAllListeners","Window","init","getWindow","ownerDocument","realWindow","wrap","iterator","u","docFrag","nodeType","func","number","bool","Element","nodeName","plainObject","array","interaction","prepared","axis","coords","cur","page","start","client","velocity","iEvent","delta","actions","Interactable","defaults","draggable","drag","methodDict","interactable","buttons","enabled","pointerIsDown","pointerType","mouseButtons","action","lockAxis","startAxis","setPerAction","setOnEvents","beforeMove","move","getCursor","g","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","HTMLElement","Event","Touch","PointerEvent","MSPointerEvent","supportsTouch","DocumentTouch","supportsPointerEvent","pointerEnabled","isIOS","platform","isIOS7","appVersion","isIe9","isOperaMobile","appName","prefixedMatchesSelector","pEventTypes","up","down","over","out","cancel","wheelEvent","_","host","nodeContains","contains","closest","matchesSelector","indexOfDeepestElement","E","ownerSVGElement","lastChild","previousSibling","parseInt","zIndex","matchesUpTo","getActualElement","correspondingUseElement","getScrollXY","getElementClientRect","M","getElementRect","left","right","top","bottom","getPath","trySelector","unshift","scrollX","documentElement","scrollLeft","scrollY","scrollTop","getBoundingClientRect","getClientRects","k","I","Array","D","getRect","getStringOptionResult","resolveRectLike","isArray","from","rectToXY","xywhToTlbr","tlbrToXywh","addEdges","origin","z","C","trim","search","reduce","R","sqrt","X","prefixedPropREs","webkit","moz","Y","W","L","U","N","V","touches","changedTouches","q","pageX","pageY","clientX","clientY","screenX","screenY","copyCoords","timeStamp","setCoordDeltas","setCoordVelocity","max","setZeroCoords","isNativePointer","getXY","getPageXY","getClientXY","getPointerId","pointerId","identifier","setCoords","getTouchPair","pointerAverage","touchBBox","min","touchDistance","touchAngle","atan2","PI","getPointerType","getEventTargets","composedPath","path","target","currentTarget","newCoords","coordsToEvent","preventDefault","$","G","BaseEvent","H","_interaction","immediatePropagationStopped","propagationStopped","_proxy","set","K","find","findIndex","merge","Z","J","Q","tt","et","nt","setPrototypeOf","__proto__","rt","Reflect","construct","sham","Proxy","Date","ot","ReferenceError","DropEvent","dropzone","dragEvent","relatedTarget","prev","dropState","rejected","events","enter","stopImmediatePropagation","activeDrops","fire","st","ut","interactables","drop","accept","draggableElement","_context","querySelectorAll","rect","ct","dropCheck","ft","leave","activate","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","dt","pt","dynamicDrop","vt","interactStatic","usePlugin","off","on","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","overlap","checker","phaselessTypes","dragenter","dragleave","dropactivate","dropdeactivate","dropmove","getActiveDrops","getDrop","getDropEvents","fireDropEvents","ht","yt","phase","pointers","pointer","deltaSource","distance","box","scale","ds","angle","da","gesture","startDistance","startAngle","prevEvent","mt","before","gesturable","bt","xt","wt","abs","resizeAxes","resize","square","axes","St","browser","cursors","xy","topleft","bottomright","topright","bottomleft","defaultMargin","resizable","preserveAspectRatio","edges","_rects","corrected","previous","deltaRect","invert","_latestPointer","eventTarget","margin","NaN","Pt","Ot","Et","Tt","Mt","jt","kt","It","Dt","request","requestAnimationFrame","cancelAnimationFrame","now","clearTimeout","At","getContainer","Ct","getScroll","Rt","getScrollSize","body","scrollWidth","scrollHeight","getScrollSizeDelta","autoScroll","container","zt","speed","isScrolling","prevTime","scroll","stop","scrollBy","check","onInteractionMove","interacting","simulation","innerWidth","innerHeight","Ft","autoscroll","perAction","Xt","warnOnce","console","copyAction","Yt","Wt","styleCursor","Lt","actionChecker","Bt","getAction","0","1","3","4","button","ignoreFrom","_backCompatOption","allowFrom","Ut","Nt","testIgnoreAllow","Gt","Vt","qt","forEachMatch","manualStart","$t","Zt","maxPerElement","autoStart","maxInteractions","interactions","Ht","Kt","cursorElement","cursor","cursorChecker","_interacting","Jt","base","withinInteractionLimit","pointerWasMoved","validateAction","Qt","te","dx","dy","downPointer","downEvent","ee","ne","hold","delay","autoStartHoldTimer","duplicate","getHoldDuration","oe","ie","ae","se","le","ue","checkAndPreventDefault","ce","supportsPassive","getDocOptions","passive","docEvents","fe","de","pe","ve","he","touchAction","boxSizing","noListeners","ge","ye","perform","me","getInfo","text","types","be","xe","logger","devTools","ignore","checks","CheckName","links","prefix","we","_e","Se","Pe","return","Oe","Ee","getRectOffset","je","Te","states","startOffset","startDelta","endResult","Me","modifiers","_methods","prepareStates","pageCoords","preEnd","startAll","setAll","fillArg","state","skipModifiers","shouldDo","eventProps","rectDelta","changed","modifiedCoords","applyToInteraction","beforeEnd","modification","endOnly","setStart","ke","Ie","makeModifier","enable","disable","_defaults","addEventModifiers","De","setAndApply","restoreInteractionCoords","Ae","ze","Ce","Re","Fe","Xe","Le","Ye","We","InteractEvent","Be","ctrlKey","shiftKey","altKey","metaKey","x0","y0","t0","duration","clientX0","clientY0","swipe","downTime","getSwipe","velocityY","velocityX","Ue","PointerInfo","downTarget","Ne","Ve","qe","$e","Ge","Interaction","_ProxyMethods","_ProxyValues","end","He","Ke","scopeFire","_scopeFire","_ending","_stopped","doMove","_id","updatePointer","pointerIndex","pointerInfo","_doPhase","pointerMoveTolerance","getPointerIndex","curEventTarget","removePointer","_now","pointerExtend","_updateLatestPointer","_createPreparedEvent","_fireEvent","Ze","Je","Qe","rn","offset","total","pending","tn","en","nn","addTotal","applyPending","offsetBy","an","sn","InertiaState","ln","active","isModified","smoothEnd","allowResume","modifierCount","modifierArg","startCoords","v0","targetOffset","modifiedOffset","currentOffset","lambda_v0","one_ve_v0","timeout","un","copyFrom","minSpeed","endSpeed","startInertia","startSmoothEnd","resistance","log","onNextFrame","inertiaTick","smoothEndTick","exp","cn","smoothEndDuration","inertia","dn","phases","inertiastart","resume","pn","vn","hn","Eventable","gn","yn","substr","mn","bn","xn","wn","_actions","_win","_doc","_scopeEvents","_rectChecker","onstart","onmove","onend","oninertiastart","updatePerActionListeners","testIgnore","testAllow","_onOff","delegatedEvents","selector","removeDelegate","_n","Sn","InteractableSet","Pn","selectorMap","scope","addListeners","addDocument","win","inContext","On","En","Tn","Mn","jn","originalEvent","stopPropagation","kn","capture","In","addDelegate","delegateListener","delegateUseCapture","documents","targets","supportsOptions","Dn","createInteractStatic","new","globalEvents","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","isSet","removeDocument","An","zn","methodOrder","simulationResume","eventType","mouseOrPen","Cn","hasPointer","idle","some","Rn","Fn","Xn","Yn","Wn","Ln","Bn","Un","Nn","qn","Vn","$n","Gn","prevTouchTime","Hn","searchDetails","Kn","doc","Zn","pointerDown","pointerMove","pointerUp","documentBlur","destroy","onDocSignal","doOnInteractions","methodNames","Jn","Qn","tr","or","er","nr","rr","ir","ar","sr","initScope","ur","Scope","lr","random","isInitialized","listenerMaps","_plugins","onWindowUnload","pluginIsInstalled","cr","getDocIndex","fr","dr","pr","vr","hr","gr","yr","mr","br","xr","range","limits","grid","round","coordFields","wr","_r","Sr","snappers","createSnapGrid","Pr","Or","Er","Tr","getOwnPropertyDescriptors","aspectRatio","Mr","ratio","equalDelta","startRect","linkedEdges","xIsPrimaryAxis","edgeSign","subModification","jr","kr","prevCoords","prevRect","Ir","Dr","Ar","zr","Cr","Rr","Fr","getRestrictionRect","restrict","Xr","elementRect","restriction","Yr","Wr","restrictEdges","Lr","Br","Ur","Nr","noInner","noOuter","inner","outer","Vr","qr","restrictRect","$r","Gr","Hr","Kr","restrictSize","Zr","Jr","Qr","to","eo","no","snap","ro","offsetWithOrigin","relativePoints","offsets","relativePoint","inRange","oo","io","ao","so","snapSize","lo","targetFields","uo","co","snapEdges","fo","po","vo","ho","go","yo","spring","avoid","transform","rubberband","mo","bo","xo","wo","_o","So","Po","Oo","Mo","Eo","To","jo","double","eventable","tapTime","prevTap","ko","Io","pointerEvents","zo","Do","node","holdDuration","collectEventTargets","Ao","tap","doubletap","pointerEvent","props","_subtractOrigin","_addOrigin","Co","Ro","Fo","holdIntervalHandle","clearInterval","Xo","holdRepeatInterval","holdrepeat","count","Yo","Wo","Lo","Bo","Uo","No","Vo","qo","reflow","Promise","_reflowPromise","_reflowResolve","then","$o","Go","Ho","exchange","Ko","Zo","Jo","__utils","displace","Qo","ti","ei","ni","idGenerator","getId","setId","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","comparefn","__e","isDetectable","markAsDetectable","isBusy","busy","markBusy","ctx","own","IS_FORCED","IS_GLOBAL","IS_STATIC","IS_PROTO","IS_BIND","expProto","classof","builtinExec","shared","IS_WRAP","virtual","IObject","DESCRIPTORS","gOPS","$assign","assign","aLen","getSymbols","isEnum","__g","def","tag","stat","FProto","nameRE","Attributes","buggy","ownKeys","createProperty","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","UNSCOPABLES","ArrayProto","bottomY","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","compareWith","getStatics","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","translate","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","setTopLeft","setTopRight","validateLayout","contextName","subProps","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","spaces","space","non","ltrim","rtrim","exporter","ALIAS","FORCE","TYPE","quiet","error","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","collection","class","classObj","resizableHandleClass","getControlPosition","offsetXYFromParentOf","evt","offsetParent","offsetParentRect","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","Batch","batch","size","topLevel","bottomLevel","level","process","getSize","asyncProcess","autoProcess","asyncFrameHandler","isProcessing","addFunction","processBatchAsync","processBatch","processingBatch","forceProcessBatch","localAsyncProcess","cancelFrame","requestFrame","raf","force","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","inheritIfRequired","$trim","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","code","digits","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","child","widthSize","clientWidth","heightSize","clientHeight","injectScrollStyle","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","getExpandElement","getShrinkElement","args","isDetached","isInDocument","isUnrendered","getStyle","elementStyle","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","areElementsInjected","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","px","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","toArray","isElement","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","$defineProperty","currentScript","scripts","err","stack","readyState","_isFinite","isFinite"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,kBAAZC,SAA0C,kBAAXC,OACxCA,OAAOD,QAAUD,EAAQG,QAAQ,QACR,oBAAXC,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIJ,GACe,kBAAZC,QACdA,QAAQ,iBAAmBD,EAAQG,QAAQ,QAE3CJ,EAAK,iBAAmBC,EAAQD,EAAK,SARvC,CASoB,qBAATO,KAAuBA,KAAOC,MAAO,SAASC,GACzD,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUV,QAGnC,IAAIC,EAASO,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,GAAG,EACHZ,QAAS,IAUV,OANAa,EAAQH,GAAUI,KAAKb,EAAOD,QAASC,EAAQA,EAAOD,QAASS,GAG/DR,EAAOW,GAAI,EAGJX,EAAOD,QA0Df,OArDAS,EAAoBM,EAAIF,EAGxBJ,EAAoBO,EAAIR,EAGxBC,EAAoBQ,EAAI,SAASjB,EAASkB,EAAMC,GAC3CV,EAAoBW,EAAEpB,EAASkB,IAClCG,OAAOC,eAAetB,EAASkB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEV,EAAoBgB,EAAI,SAASzB,GACX,qBAAX0B,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAetB,EAAS0B,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAetB,EAAS,aAAc,CAAE4B,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBQ,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAASnC,GAChC,IAAIkB,EAASlB,GAAUA,EAAO8B,WAC7B,WAAwB,OAAO9B,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAQ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG7B,EAAoBgC,EAAI,GAIjBhC,EAAoBA,EAAoBiC,EAAI,Q,sCCjFrD,IAAIC,EAAU,EAAQ,QAClBC,EAAU,EAAQ,QAClBC,EAAW,EAAQ,QACnBC,EAAO,EAAQ,QACfC,EAAY,EAAQ,QACpBC,EAAc,EAAQ,QACtBC,EAAiB,EAAQ,QACzBC,EAAiB,EAAQ,QACzBC,EAAW,EAAQ,OAAR,CAAkB,YAC7BC,IAAU,GAAGC,MAAQ,QAAU,GAAGA,QAClCC,EAAc,aACdC,EAAO,OACPC,EAAS,SAETC,EAAa,WAAc,OAAOnD,MAEtCL,EAAOD,QAAU,SAAU0D,EAAMC,EAAMC,EAAaC,EAAMC,EAASC,EAAQC,GACzEhB,EAAYY,EAAaD,EAAME,GAC/B,IAeII,EAAS/B,EAAKgC,EAfdC,EAAY,SAAUC,GACxB,IAAKhB,GAASgB,KAAQC,EAAO,OAAOA,EAAMD,GAC1C,OAAQA,GACN,KAAKb,EAAM,OAAO,WAAkB,OAAO,IAAIK,EAAYtD,KAAM8D,IACjE,KAAKZ,EAAQ,OAAO,WAAoB,OAAO,IAAII,EAAYtD,KAAM8D,IACrE,OAAO,WAAqB,OAAO,IAAIR,EAAYtD,KAAM8D,KAEzDE,EAAMX,EAAO,YACbY,EAAaT,GAAWN,EACxBgB,GAAa,EACbH,EAAQX,EAAKnB,UACbkC,EAAUJ,EAAMlB,IAAakB,EAAMf,IAAgBQ,GAAWO,EAAMP,GACpEY,EAAWD,GAAWN,EAAUL,GAChCa,EAAWb,EAAWS,EAAwBJ,EAAU,WAArBO,OAAkCE,EACrEC,EAAqB,SAARlB,GAAkBU,EAAMS,SAAqBL,EAwB9D,GArBII,IACFX,EAAoBhB,EAAe2B,EAAW/D,KAAK,IAAI4C,IACnDQ,IAAsB7C,OAAOkB,WAAa2B,EAAkBL,OAE9DZ,EAAeiB,EAAmBI,GAAK,GAElC3B,GAAiD,mBAA/BuB,EAAkBf,IAAyBL,EAAKoB,EAAmBf,EAAUM,KAIpGc,GAAcE,GAAWA,EAAQvD,OAASsC,IAC5CgB,GAAa,EACbE,EAAW,WAAoB,OAAOD,EAAQ3D,KAAKR,QAG/CqC,IAAWqB,IAAYZ,IAASoB,GAAeH,EAAMlB,IACzDL,EAAKuB,EAAOlB,EAAUuB,GAGxB3B,EAAUY,GAAQe,EAClB3B,EAAUuB,GAAOb,EACbK,EAMF,GALAG,EAAU,CACRc,OAAQR,EAAaG,EAAWP,EAAUX,GAC1CH,KAAMU,EAASW,EAAWP,EAAUZ,GACpCuB,QAASH,GAEPX,EAAQ,IAAK9B,KAAO+B,EAChB/B,KAAOmC,GAAQxB,EAASwB,EAAOnC,EAAK+B,EAAQ/B,SAC7CU,EAAQA,EAAQoC,EAAIpC,EAAQqC,GAAK7B,GAASoB,GAAab,EAAMM,GAEtE,OAAOA,I,uBCnET,IAAIiB,EAAY,EAAQ,QACpBC,EAAU,EAAQ,QAGtBlF,EAAOD,QAAU,SAAUoF,GACzB,OAAO,SAAUC,EAAMC,GACrB,IAGIC,EAAGC,EAHH9C,EAAI+C,OAAON,EAAQE,IACnB1E,EAAIuE,EAAUI,GACd1E,EAAI8B,EAAEgD,OAEV,OAAI/E,EAAI,GAAKA,GAAKC,EAAUwE,EAAY,QAAKR,GAC7CW,EAAI7C,EAAEiD,WAAWhF,GACV4E,EAAI,OAAUA,EAAI,OAAU5E,EAAI,IAAMC,IAAM4E,EAAI9C,EAAEiD,WAAWhF,EAAI,IAAM,OAAU6E,EAAI,MACxFJ,EAAY1C,EAAEkD,OAAOjF,GAAK4E,EAC1BH,EAAY1C,EAAEmD,MAAMlF,EAAGA,EAAI,GAA2B6E,EAAI,OAAzBD,EAAI,OAAU,IAAqB,U,oCCb5E,IAAIO,EAAK,EAAQ,OAAR,EAAwB,GAIjC7F,EAAOD,QAAU,SAAU+F,EAAGC,EAAOC,GACnC,OAAOD,GAASC,EAAUH,EAAGC,EAAGC,GAAON,OAAS,K,qBCNlD,IAAIlD,EAAiB,GAAGA,eACxBvC,EAAOD,QAAU,SAAUkG,EAAIhE,GAC7B,OAAOM,EAAe1B,KAAKoF,EAAIhE,K,oCCAjC,IAAIiE,EAAW,EAAQ,QACvBlG,EAAOD,QAAU,WACf,IAAIqF,EAAOc,EAAS7F,MAChB8F,EAAS,GAMb,OALIf,EAAKgB,SAAQD,GAAU,KACvBf,EAAKiB,aAAYF,GAAU,KAC3Bf,EAAKkB,YAAWH,GAAU,KAC1Bf,EAAKY,UAASG,GAAU,KACxBf,EAAKmB,SAAQJ,GAAU,KACpBA,I,uBCVT,IAAIK,EAAQ,EAAQ,QAChBC,EAAc,EAAQ,QAE1BzG,EAAOD,QAAUqB,OAAOgC,MAAQ,SAAcsD,GAC5C,OAAOF,EAAME,EAAGD,K,qBCFlB,IAAIE,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC3G,EAAOU,EAAIiG,EAAS,MAC7DA,EAAQC,SAAQ5G,EAAOD,QAAU4G,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCR5E,IAAII,EAAM,EAAQ,QACdC,EAAa,EAAQ,QACrBC,EAAY,EAAQ,QACpBC,EAAc,EAAQ,QACtBC,EAAM,EAAQ,QACdC,EAAiB,EAAQ,QACzBC,EAAOjG,OAAOkG,yBAElBvH,EAAQwH,EAAI,EAAQ,QAAoBF,EAAO,SAAkCX,EAAG3B,GAGlF,GAFA2B,EAAIO,EAAUP,GACd3B,EAAImC,EAAYnC,GAAG,GACfqC,EAAgB,IAClB,OAAOC,EAAKX,EAAG3B,GACf,MAAOyC,IACT,GAAIL,EAAIT,EAAG3B,GAAI,OAAOiC,GAAYD,EAAIQ,EAAE1G,KAAK6F,EAAG3B,GAAI2B,EAAE3B,M,qBCdxD,IAAI0C,EAAK,EAAQ,QACbvB,EAAW,EAAQ,QACnBwB,EAAU,EAAQ,QAEtB1H,EAAOD,QAAU,EAAQ,QAAoBqB,OAAOuG,iBAAmB,SAA0BjB,EAAGkB,GAClG1B,EAASQ,GACT,IAGI3B,EAHA3B,EAAOsE,EAAQE,GACfnC,EAASrC,EAAKqC,OACd/E,EAAI,EAER,MAAO+E,EAAS/E,EAAG+G,EAAGF,EAAEb,EAAG3B,EAAI3B,EAAK1C,KAAMkH,EAAW7C,IACrD,OAAO2B,I,oCCJT,IAAImB,EAAkB,EAAQ,QAE9B7H,EAAOD,QAAU,SAAS+H,GACtBA,EAAsBA,GAAW,GACjC,IAAIC,EAAkBD,EAAQC,SAC1BC,EAAkBF,EAAQE,eAC1BC,EAAkBH,EAAQI,aAAaD,SAE3C,IAAIF,EACA,MAAM,IAAII,MAAM,0CASpB,SAASC,EAAYC,EAASC,GAC1B,IAAIC,EAAUF,GACV,MAAM,IAAIF,MAAM,+CAGpB,SAASK,IACLF,EAASD,GAGb,GAAGR,EAAgBY,KAAK,GAEpBR,EAASI,GAASjG,OAAS,CACvBsG,MAAOF,GAEXH,EAAQM,YAAY,WAAYH,OAC7B,CACH,IAAIpG,EAASmG,EAAUF,GACvBjG,EAAOwG,gBAAgBC,YAAYC,iBAAiB,SAAUN,IAWtE,SAASO,EAAejB,EAASO,EAASW,GACjCA,IACDA,EAAWX,EACXA,EAAUP,EACVA,EAAU,MAGdA,EAAUA,GAAW,GACTA,EAAQmB,MAEpB,SAASC,EAAab,EAASW,GAC3B,IAAIG,EAAe,yKAKfC,GAAyB,EAIzBC,EAAQC,OAAOC,iBAAiBlB,GAChCmB,EAAQnB,EAAQoB,YAChBC,EAASrB,EAAQsB,aAOrB,SAASC,IACL,SAASC,IACL,GAAsB,WAAnBR,EAAMS,SAAuB,CAC5BzB,EAAQgB,MAAMS,SAAW,WAEzB,IAAIC,EAAuB,SAAShC,EAAUM,EAASgB,EAAOhH,GAC1D,SAAS2H,EAAkBrI,GACvB,OAAOA,EAAMsI,QAAQ,YAAa,IAGtC,IAAItI,EAAQ0H,EAAMhH,GAEL,SAAVV,GAAiD,MAA7BqI,EAAkBrI,KACrCoG,EAASmC,KAAK,kDAAoD7H,EAAW,IAAMV,EAAQ,kHAAoHU,EAAW,+BAAgCgG,GAC1PA,EAAQgB,MAAMhH,GAAY,IAMlC0H,EAAqBhC,EAAUM,EAASgB,EAAO,OAC/CU,EAAqBhC,EAAUM,EAASgB,EAAO,SAC/CU,EAAqBhC,EAAUM,EAASgB,EAAO,UAC/CU,EAAqBhC,EAAUM,EAASgB,EAAO,SAIvD,SAASc,IAQL,SAASC,EAAY/B,EAASW,GAItBX,EAAQO,gBAQZI,EAASX,EAAQO,iBAPbyB,YAAW,WACPD,EAAY/B,EAASW,KACtB,KAbNI,GACDS,IAsBJ,IAAIS,EAAgBjK,KAGpB+J,EAAYE,GAAe,SAA+BC,GAEtDvB,EAASX,MAMM,KAAnBgB,EAAMS,WACND,EAAoBR,GACpBD,GAAyB,GAI7B,IAAIhH,EAASoI,SAASC,cAAc,UACpCrI,EAAOiH,MAAMqB,QAAUvB,EACvB/G,EAAOuI,UAAY,EACnBvI,EAAOwI,KAAO,YACdxI,EAAOyI,aAAa,cAAe,QACnCzI,EAAO0I,OAASX,EAIZtC,EAAgBY,SAChBrG,EAAO2I,KAAO,eAGlB1C,EAAQ2C,YAAY5I,GACpB6F,EAASI,GAASjG,OAASA,EAGxByF,EAAgBY,SACfrG,EAAO2I,KAAO,eA5FtB9C,EAASI,GAAS4C,UAAY,CAC1BzB,MAAOA,EACPE,OAAQA,GA8FT1B,EACCA,EAAenB,IAAI+C,GAEnBA,IAIL/B,EAAgBY,KAAK,GAIpBO,EAASX,GAETa,EAAab,EAASW,GAU9B,SAAST,EAAUF,GACf,OAAOJ,EAASI,GAASjG,OAG7B,SAAS8I,EAAU7C,GACZR,EAAgBY,KAAK,GACpBJ,EAAQ8C,YAAY,WAAYlD,EAASI,GAASjG,OAAOsG,OAEzDL,EAAQ+C,YAAY7C,EAAUF,WAE3BJ,EAASI,GAASjG,OAG7B,MAAO,CACH2G,eAAgBA,EAChBX,YAAaA,EACb8C,UAAWA,K,oCClNnB,IAAIG,EAAWrL,EAAOD,QAAU,GAEhCsL,EAAS5C,KAAO,SAAS6C,GACrB,SAASC,IACL,IAAIC,EAAQC,UAAUC,UAAUC,cAChC,OAAkC,IAA3BH,EAAMI,QAAQ,UAAgD,IAA9BJ,EAAMI,QAAQ,aAAkD,IAA7BJ,EAAMI,QAAQ,UAG5F,IAAIL,IACA,OAAO,EAGX,IAAID,EACA,OAAO,EAIX,IAAIO,EAAa,WACb,IAAIC,EACAC,EAAI,EACJC,EAAMxB,SAASC,cAAc,OAC7BwB,EAAMD,EAAIE,qBAAqB,KAEnC,GACIF,EAAIG,UAAY,uBAAsBJ,EAAK,iCAExCE,EAAI,IAEX,OAAOF,EAAI,EAAIA,EAAID,EAXP,GAchB,OAAOR,IAAYO,GAGvBR,EAASe,cAAgB,WACrB,QAAS9C,OAAO+C,Q,uBCpCpB,IAAIC,EAAW,EAAQ,QAGvBtM,EAAOD,QAAU,SAAUkG,EAAIH,GAC7B,IAAKwG,EAASrG,GAAK,OAAOA,EAC1B,IAAIsG,EAAIC,EACR,GAAI1G,GAAkC,mBAArByG,EAAKtG,EAAGwG,YAA4BH,EAASE,EAAMD,EAAG1L,KAAKoF,IAAM,OAAOuG,EACzF,GAAgC,mBAApBD,EAAKtG,EAAGyG,WAA2BJ,EAASE,EAAMD,EAAG1L,KAAKoF,IAAM,OAAOuG,EACnF,IAAK1G,GAAkC,mBAArByG,EAAKtG,EAAGwG,YAA4BH,EAASE,EAAMD,EAAG1L,KAAKoF,IAAM,OAAOuG,EAC1F,MAAMG,UAAU,6C,oCCVlB,0GAAIC,EAAsC,OAG1C,SAASC,IACL,MAA4B,qBAAbrC,SAGnB,SAASsC,IACL,MAA0B,qBAAXxD,OAGZ,SAASyD,IACZ,IAAIF,IACA,OAAOD,EAEX,IAAMI,EAAqC,qBAAjBxC,SAASyC,IAC/BzC,SAASyC,IACTzC,SAAS0B,qBAAqB,QAAQ,GAAGgB,aAAa,OAC1D,OAAOF,EAcJ,SAASG,EAAuBC,EAAcpE,GAC7C8D,EAKJxD,OAAOR,iBAAiBsE,EAAOpE,GAH3BA,IAMD,SAASqE,EAA0BD,EAAcpE,GAChD8D,GAGJxD,OAAOgE,oBAAoBF,EAAOpE,K,uBC7CtC,IAAIsD,EAAW,EAAQ,QACnB9B,EAAW,EAAQ,QAAaA,SAEhC+C,EAAKjB,EAAS9B,IAAa8B,EAAS9B,EAASC,eACjDzK,EAAOD,QAAU,SAAUkG,GACzB,OAAOsH,EAAK/C,EAASC,cAAcxE,GAAM,K,oCCJ3C,EAAQ,QACR,IAAIrD,EAAW,EAAQ,QACnBC,EAAO,EAAQ,QACf2K,EAAQ,EAAQ,QAChBtI,EAAU,EAAQ,QAClBuI,EAAM,EAAQ,QACdC,EAAa,EAAQ,QAErBC,EAAUF,EAAI,WAEdG,GAAiCJ,GAAM,WAIzC,IAAIK,EAAK,IAMT,OALAA,EAAGC,KAAO,WACR,IAAI3H,EAAS,GAEb,OADAA,EAAO4H,OAAS,CAAEzI,EAAG,KACda,GAEyB,MAA3B,GAAG8D,QAAQ4D,EAAI,WAGpBG,EAAoC,WAEtC,IAAIH,EAAK,OACLI,EAAeJ,EAAGC,KACtBD,EAAGC,KAAO,WAAc,OAAOG,EAAaC,MAAM7N,KAAM8N,YACxD,IAAIhI,EAAS,KAAKiI,MAAMP,GACxB,OAAyB,IAAlB1H,EAAOV,QAA8B,MAAdU,EAAO,IAA4B,MAAdA,EAAO,GANpB,GASxCnG,EAAOD,QAAU,SAAUsO,EAAK5I,EAAQqI,GACtC,IAAIQ,EAASb,EAAIY,GAEbE,GAAuBf,GAAM,WAE/B,IAAI9G,EAAI,GAER,OADAA,EAAE4H,GAAU,WAAc,OAAO,GACZ,GAAd,GAAGD,GAAK3H,MAGb8H,EAAoBD,GAAuBf,GAAM,WAEnD,IAAIiB,GAAa,EACbZ,EAAK,IAST,OARAA,EAAGC,KAAO,WAAiC,OAAnBW,GAAa,EAAa,MACtC,UAARJ,IAGFR,EAAGa,YAAc,GACjBb,EAAGa,YAAYf,GAAW,WAAc,OAAOE,IAEjDA,EAAGS,GAAQ,KACHG,UACL9J,EAEL,IACG4J,IACAC,GACQ,YAARH,IAAsBT,GACd,UAARS,IAAoBL,EACrB,CACA,IAAIW,EAAqB,IAAIL,GACzBM,EAAMd,EACR5I,EACAoJ,EACA,GAAGD,IACH,SAAyBQ,EAAcC,EAAQC,EAAKC,EAAMC,GACxD,OAAIH,EAAOhB,OAASJ,EACda,IAAwBU,EAInB,CAAEC,MAAM,EAAMvN,MAAOgN,EAAmB9N,KAAKiO,EAAQC,EAAKC,IAE5D,CAAEE,MAAM,EAAMvN,MAAOkN,EAAahO,KAAKkO,EAAKD,EAAQE,IAEtD,CAAEE,MAAM,MAGfC,EAAQP,EAAI,GACZQ,EAAOR,EAAI,GAEfhM,EAAS4C,OAAOlD,UAAW+L,EAAKc,GAChCtM,EAAKwM,OAAO/M,UAAWgM,EAAkB,GAAV7I,EAG3B,SAAU6J,EAAQC,GAAO,OAAOH,EAAKvO,KAAKyO,EAAQjP,KAAMkP,IAGxD,SAAUD,GAAU,OAAOF,EAAKvO,KAAKyO,EAAQjP,W,uBC5FrD,IAAIiM,EAAW,EAAQ,QACnB9B,EAAW,EAAQ,QAAaA,SAEhC+C,EAAKjB,EAAS9B,IAAa8B,EAAS9B,EAASC,eACjDzK,EAAOD,QAAU,SAAUkG,GACzB,OAAOsH,EAAK/C,EAASC,cAAcxE,GAAM,K,mBC4C3C,SAASuJ,EAAuBC,EAAMC,GACrC,IAAI/I,EAAU8I,EAAK,IAAM,GACrBE,EAAaF,EAAK,GACtB,IAAKE,EACJ,OAAOhJ,EAGR,GAAI+I,GAAgC,oBAATE,KAAqB,CAC/C,IAAIC,EAAgBC,EAAUH,GAC1BI,EAAaJ,EAAWK,QAAQC,KAAI,SAAUC,GACjD,MAAO,iBAAmBP,EAAWQ,WAAaD,EAAS,SAG5D,MAAO,CAACvJ,GAASyJ,OAAOL,GAAYK,OAAO,CAACP,IAAgBQ,KAAK,MAGlE,MAAO,CAAC1J,GAAS0J,KAAK,MAIvB,SAASP,EAAUQ,GAElB,IAAIC,EAASX,KAAKY,SAASC,mBAAmBC,KAAKC,UAAUL,MACzDvF,EAAO,+DAAiEwF,EAE5E,MAAO,OAASxF,EAAO,MArExB/K,EAAOD,QAAU,SAAS2P,GACzB,IAAIkB,EAAO,GAwCX,OArCAA,EAAKnE,SAAW,WACf,OAAOpM,KAAK4P,KAAI,SAAUR,GACzB,IAAI9I,EAAU6I,EAAuBC,EAAMC,GAC3C,OAAGD,EAAK,GACA,UAAYA,EAAK,GAAK,IAAM9I,EAAU,IAEtCA,KAEN0J,KAAK,KAITO,EAAKlQ,EAAI,SAASE,EAASiQ,GACJ,kBAAZjQ,IACTA,EAAU,CAAC,CAAC,KAAMA,EAAS,MAE5B,IADA,IAAIkQ,EAAyB,GACrBpQ,EAAI,EAAGA,EAAIL,KAAKoF,OAAQ/E,IAAK,CACpC,IAAIqQ,EAAK1Q,KAAKK,GAAG,GACA,kBAAPqQ,IACTD,EAAuBC,IAAM,GAE/B,IAAIrQ,EAAI,EAAGA,EAAIE,EAAQ6E,OAAQ/E,IAAK,CACnC,IAAI+O,EAAO7O,EAAQF,GAKG,kBAAZ+O,EAAK,IAAoBqB,EAAuBrB,EAAK,MAC3DoB,IAAepB,EAAK,GACtBA,EAAK,GAAKoB,EACDA,IACTpB,EAAK,GAAK,IAAMA,EAAK,GAAK,UAAYoB,EAAa,KAEpDD,EAAKI,KAAKvB,MAINmB,I,uBC7CR,IAAIK,EAAM,EAAQ,QACd5M,EAAM,EAAQ,OAAR,CAAkB,eAExB6M,EAAkD,aAA5CD,EAAI,WAAc,OAAO9C,UAArB,IAGVgD,EAAS,SAAUlL,EAAIhE,GACzB,IACE,OAAOgE,EAAGhE,GACV,MAAOuF,MAGXxH,EAAOD,QAAU,SAAUkG,GACzB,IAAIS,EAAG0K,EAAGC,EACV,YAAc1M,IAAPsB,EAAmB,YAAqB,OAAPA,EAAc,OAEN,iBAApCmL,EAAID,EAAOzK,EAAItF,OAAO6E,GAAK5B,IAAoB+M,EAEvDF,EAAMD,EAAIvK,GAEM,WAAf2K,EAAIJ,EAAIvK,KAAsC,mBAAZA,EAAE4K,OAAuB,YAAcD,I,mBCrBhFtR,EAAQwH,EAAInG,OAAOmQ,uB,kCCMJ,SAASC,EACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGA,IAqBIC,EArBAnK,EAAmC,oBAAlB2J,EACjBA,EAAc3J,QACd2J,EAiDJ,GA9CIC,IACF5J,EAAQ4J,OAASA,EACjB5J,EAAQ6J,gBAAkBA,EAC1B7J,EAAQoK,WAAY,GAIlBN,IACF9J,EAAQqK,YAAa,GAInBL,IACFhK,EAAQsK,SAAW,UAAYN,GAI7BC,GACFE,EAAO,SAAUI,GAEfA,EACEA,GACChS,KAAKiS,QAAUjS,KAAKiS,OAAOC,YAC3BlS,KAAKmS,QAAUnS,KAAKmS,OAAOF,QAAUjS,KAAKmS,OAAOF,OAAOC,WAEtDF,GAA0C,qBAAxBI,sBACrBJ,EAAUI,qBAGRZ,GACFA,EAAahR,KAAKR,KAAMgS,GAGtBA,GAAWA,EAAQK,uBACrBL,EAAQK,sBAAsB7L,IAAIkL,IAKtCjK,EAAQ6K,aAAeV,GACdJ,IACTI,EAAOD,EACH,WAAcH,EAAahR,KAAKR,KAAMA,KAAKuS,MAAMC,SAASC,aAC1DjB,GAGFI,EACF,GAAInK,EAAQqK,WAAY,CAGtBrK,EAAQiL,cAAgBd,EAExB,IAAIe,EAAiBlL,EAAQ4J,OAC7B5J,EAAQ4J,OAAS,SAAmCuB,EAAGZ,GAErD,OADAJ,EAAKpR,KAAKwR,GACHW,EAAeC,EAAGZ,QAEtB,CAEL,IAAIa,EAAWpL,EAAQqL,aACvBrL,EAAQqL,aAAeD,EACnB,GAAG9C,OAAO8C,EAAUjB,GACpB,CAACA,GAIT,MAAO,CACLlS,QAAS0R,EACT3J,QAASA,GA1Fb,mC,qBCAA9H,EAAOD,QAAU,SAAU+N,GACzB,IACE,QAASA,IACT,MAAOtG,GACP,OAAO,K,uBCJX,IAAIpB,EAAS,EAAQ,QACjBvD,EAAO,EAAQ,QACfsE,EAAM,EAAQ,QACdiM,EAAM,EAAQ,OAAR,CAAkB,OACxBC,EAAY,EAAQ,QACpBlO,EAAY,WACZmO,GAAO,GAAKD,GAAWjF,MAAMjJ,GAEjC,EAAQ,QAAWoO,cAAgB,SAAUtN,GAC3C,OAAOoN,EAAUxS,KAAKoF,KAGvBjG,EAAOD,QAAU,SAAU2G,EAAGzE,EAAKuK,EAAKgH,GACvC,IAAIC,EAA2B,mBAAPjH,EACpBiH,IAAYtM,EAAIqF,EAAK,SAAW3J,EAAK2J,EAAK,OAAQvK,IAClDyE,EAAEzE,KAASuK,IACXiH,IAAYtM,EAAIqF,EAAK4G,IAAQvQ,EAAK2J,EAAK4G,EAAK1M,EAAEzE,GAAO,GAAKyE,EAAEzE,GAAOqR,EAAIjD,KAAK7K,OAAOvD,MACnFyE,IAAMN,EACRM,EAAEzE,GAAOuK,EACCgH,EAGD9M,EAAEzE,GACXyE,EAAEzE,GAAOuK,EAET3J,EAAK6D,EAAGzE,EAAKuK,WALN9F,EAAEzE,GACTY,EAAK6D,EAAGzE,EAAKuK,OAOdkH,SAASpR,UAAW6C,GAAW,WAChC,MAAsB,mBAAR9E,MAAsBA,KAAK+S,IAAQC,EAAUxS,KAAKR,U,uBC5BlE,IAAI6F,EAAW,EAAQ,QACnByN,EAAM,EAAQ,QACdlN,EAAc,EAAQ,QACtBmN,EAAW,EAAQ,OAAR,CAAyB,YACpCC,EAAQ,aACRC,EAAY,YAGZC,EAAa,WAEf,IAIIC,EAJAC,EAAS,EAAQ,OAAR,CAAyB,UAClCvT,EAAI+F,EAAYhB,OAChByO,EAAK,IACLC,EAAK,IAETF,EAAO5K,MAAM+K,QAAU,OACvB,EAAQ,QAAWpJ,YAAYiJ,GAC/BA,EAAOI,IAAM,cAGbL,EAAiBC,EAAOK,cAAc9J,SACtCwJ,EAAeO,OACfP,EAAeQ,MAAMN,EAAK,SAAWC,EAAK,oBAAsBD,EAAK,UAAYC,GACjFH,EAAeS,QACfV,EAAaC,EAAehP,EAC5B,MAAOtE,WAAYqT,EAAWD,GAAWrN,EAAY/F,IACrD,OAAOqT,KAGT/T,EAAOD,QAAUqB,OAAOY,QAAU,SAAgB0E,EAAGkB,GACnD,IAAIzB,EAQJ,OAPU,OAANO,GACFmN,EAAMC,GAAa5N,EAASQ,GAC5BP,EAAS,IAAI0N,EACbA,EAAMC,GAAa,KAEnB3N,EAAOyN,GAAYlN,GACdP,EAAS4N,SACMpP,IAAfiD,EAA2BzB,EAASwN,EAAIxN,EAAQyB,K,yOCnCzD,IAAM8M,EAAgB,CAElBC,kBACAC,iBAGG,SAASC,EAAQC,GAChBD,EAAQE,YACZF,EAAQE,WAAY,EACpB3T,OAAOgC,KAAKsR,GAAeM,SAAQ,SAAA/T,GAC/B6T,EAAIG,UAAUhU,EAAMyT,EAAczT,QAI1C,IAAMiU,EAAS,CACXL,WAGAM,EAAY,KACM,qBAAX7L,OACP6L,EAAY7L,OAAOwL,IACM,qBAAX1O,IACd+O,EAAY/O,EAAO0O,KAEnBK,GACAA,EAAUC,IAAIF,GAGHR,W,6CChCf,IAAIW,EAAQ,EAAQ,OAAR,CAAqB,OAC7BC,EAAM,EAAQ,QACd7T,EAAS,EAAQ,QAAaA,OAC9B8T,EAA8B,mBAAV9T,EAEpB+T,EAAWxV,EAAOD,QAAU,SAAUkB,GACxC,OAAOoU,EAAMpU,KAAUoU,EAAMpU,GAC3BsU,GAAc9T,EAAOR,KAAUsU,EAAa9T,EAAS6T,GAAK,UAAYrU,KAG1EuU,EAASH,MAAQA,G,oCCRjBrV,EAAOD,QAAU,WACb,IAAI0V,EAAU,EAOd,SAASC,IACL,OAAOD,IAGX,MAAO,CACHC,SAAUA,K,qBCflB1V,EAAOD,SAAU,G,qBCAjB,IAAI0M,EAAW,GAAGA,SAElBzM,EAAOD,QAAU,SAAUkG,GACzB,OAAOwG,EAAS5L,KAAKoF,GAAIL,MAAM,GAAI,K,oCCFrC,IAAI4H,EAAQ,EAAQ,QAEpBxN,EAAOD,QAAU,SAAU4V,EAAQpG,GACjC,QAASoG,GAAUnI,GAAM,WAEvB+B,EAAMoG,EAAO9U,KAAK,MAAM,cAA6B,GAAK8U,EAAO9U,KAAK,W,uBCN1E,IAAI4G,EAAK,EAAQ,QACbT,EAAa,EAAQ,QACzBhH,EAAOD,QAAU,EAAQ,QAAoB,SAAUqC,EAAQH,EAAKN,GAClE,OAAO8F,EAAGF,EAAEnF,EAAQH,EAAK+E,EAAW,EAAGrF,KACrC,SAAUS,EAAQH,EAAKN,GAEzB,OADAS,EAAOH,GAAON,EACPS,I,uBCNT,IAAIqF,EAAK,EAAQ,QACbT,EAAa,EAAQ,QACzBhH,EAAOD,QAAU,EAAQ,QAAoB,SAAUqC,EAAQH,EAAKN,GAClE,OAAO8F,EAAGF,EAAEnF,EAAQH,EAAK+E,EAAW,EAAGrF,KACrC,SAAUS,EAAQH,EAAKN,GAEzB,OADAS,EAAOH,GAAON,EACPS,I,oCCNT,IAAIsP,EAAS,WAAa,IAAIkE,EAAIvV,KAASwV,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,IAAI,OAAOC,YAAY,kBAAkB7M,MAAOuM,EAAe,aAAG,CAACA,EAAIO,GAAG,WAAWJ,EAAG,YAAY,CAACK,WAAW,CAAC,CAACnV,KAAK,OAAOoV,QAAQ,SAAS1U,MAAOiU,EAAc,WAAEU,WAAW,eAAeJ,YAAY,uBAAuBK,MAAM,CAAC,EAAIX,EAAIY,YAAYC,EAAE,EAAIb,EAAIY,YAAYE,EAAE,EAAId,EAAIY,YAAYG,EAAE,EAAIf,EAAIY,YAAYvD,EAAE,EAAI2C,EAAIY,YAAY9V,MAAM,IAClciR,EAAkB,G,mFCAP,SAASiF,EAAgBC,EAAK5U,EAAKN,GAYhD,OAXIM,KAAO4U,EACT,IAAuBA,EAAK5U,EAAK,CAC/BN,MAAOA,EACPL,YAAY,EACZwV,cAAc,EACdC,UAAU,IAGZF,EAAI5U,GAAON,EAGNkV,E,yDCGF,SAASG,EAAuBC,EAA0BzN,GAG/D,IAFA,IAAM0N,EAASC,EAAgBF,GAC3BG,EAAWF,EAAO,GACbxW,EAAI,EAAG2W,EAAMH,EAAOzR,OAAQ/E,EAAI2W,EAAK3W,IAAK,CACjD,IAAM4W,EAAiBJ,EAAOxW,GAC1B8I,EAAQyN,EAAYK,KAAiBF,EAAWE,GAEtD,OAAOF,EAUF,SAASG,EAAsBC,EAAwBC,GAC5D,IAAKA,EAAKD,GACR,MAAM,IAAIrP,MAAM,qDAAuDqP,EAAa,gBAEtF,OAAOC,EAAKD,GAkBP,SAASE,EAA+BC,EAAmBC,EAA2BX,EAC9CO,EAAwBK,EACxBJ,EAAcK,GAE3D,GAAIF,EAAQJ,GAAa,OAAOO,eAAYH,EAAQJ,IAMpD,IAJA,IAAIQ,EAASL,EAEPM,EAAoBd,EAAgBF,GACpCiB,EAAmBD,EAAkBrS,MAAMqS,EAAkBrM,QAAQ4L,IAClE9W,EAAI,EAAG2W,EAAMa,EAAiBzS,OAAQ/E,EAAI2W,EAAK3W,IAAK,CAC3D,IAAM6E,EAAI2S,EAAiBxX,GAC3B,GAAIkX,EAAQrS,GAAI,CACdyS,EAASJ,EAAQrS,GACjB,OAIJ,OADAyS,EAASD,eAAYC,GAAU,IACxBG,eAAQC,eAAcJ,EAAQ,CAACP,KAAMA,IAAQK,GA8B/C,SAASX,EAAgBF,GAC9B,IAAM7T,EAAsBhC,OAAOgC,KAAK6T,GACxC,OAAO7T,EAAKiV,MAAK,SAAS/S,EAAGC,GAC3B,OAAO0R,EAAY3R,GAAK2R,EAAY1R,M,2kBCtFxC,gBASA,GACE,KAAF,aACE,QAFF,WAGI,MAAJ,CACM,SAAN,OAGE,WAAF,CACI,SAAJ,QAEE,MAAF,CAEI,SAAJ,CACM,KAAN,QACM,SAAN,GAEI,OAAJ,CACM,KAAN,OACM,QAAN,IAEI,UAAJ,CACM,KAAN,OACM,QAAN,KAEI,QAAJ,CACM,KAAN,OACM,QAAN,KAEI,OAAJ,CACM,KAAN,MACM,QAAN,WACQ,MAAR,UAGI,YAAJ,CACM,KAAN,QACM,SAAN,GAEI,YAAJ,CACM,KAAN,QACM,SAAN,GAEI,WAAJ,CACM,KAAN,QACM,SAAN,GAEI,iBAAJ,CACM,KAAN,QACM,SAAN,GAEI,gBAAJ,CACM,KAAN,QACM,SAAN,GAEI,OAAJ,CACM,KAAN,MACM,UAAN,GAEI,WAAJ,CACM,KAAN,QACM,SAAN,GAEI,kBAAJ,CACM,KAAN,OACM,QAAN,WACQ,MAAR,KAGI,YAAJ,CACM,KAAN,OACM,QAAN,WAAQ,MAAR,CAAU,GAAV,KAAU,GAAV,IAAU,GAAV,IAAU,GAAV,IAAU,IAAV,KAEI,KAAJ,CACM,KAAN,OACM,QAAN,WAAQ,MAAR,CAAU,GAAV,GAAU,GAAV,GAAU,GAAV,EAAU,GAAV,EAAU,IAAV,KAEI,iBAAJ,CACM,KAAN,QACM,SAAN,IAGE,KAAF,WACI,MAAJ,CACM,MAAN,KACM,YAAN,GACM,iBAAN,EACM,YAAN,EACM,YAAN,CACQ,EAAR,EACQ,EAAR,EACQ,EAAR,EACQ,EAAR,EACQ,GAAR,GAEM,QAAN,GACM,eAAN,KACM,eAAN,OAGE,QAnGF,WAoGI,IAAJ,OAGI,EAAJ,yCACM,EAAN,0BAGI,EAAJ,uCACM,EAAN,wBAGI,EAAJ,2BACI,EAAJ,8BACI,EAAJ,iDACI,EAAJ,6CACI,EAAJ,kCAEE,cAAF,WAEI,KAAJ,qDACI,KAAJ,iDACA,yBACI,OAAJ,OAAI,CAAJ,8BACA,qCAEE,YAAF,WACI,KAAJ,0CAEE,QAAF,WACI,KAAJ,oCACI,KAAJ,sBACM,OAAN,OAAM,CAAN,aAEM,KAAN,2BACM,IAAN,OACM,KAAN,sBACQ,EAAR,iBAEQ,EAAR,yBAGQ,OAAR,OAAQ,CAAR,2BAEQ,OAAR,OAAQ,CAAR,4BAEQ,EAAR,iCAEQ,EAAR,eACQ,EAAR,sBACU,KAAV,OACY,SAAZ,SAEY,WAAZ,IAEU,KAAV,sCACY,EAAZ,8BAME,MAAF,CACI,MAAJ,cACM,IAAN,OACM,KAAN,sBAAQ,IAAR,OAEQ,KAAR,yCACA,UAqBU,KAAV,sBACY,EAAZ,kCAGQ,KAAR,mBAGI,OAAJ,WACM,KAAN,gBAEI,OAAJ,YACM,KAAN,+BAEI,UAAJ,WACM,KAAN,+CAEI,YAAJ,WACM,KAAN,iDAEI,YAAJ,WACM,KAAN,iDAEI,WAjDJ,WAkDA,kBACQ,KAAR,2CACQ,KAAR,yCAEM,KAAN,kBAEI,QAAJ,WACM,KAAN,2CAEI,OA3DJ,WA4DM,KAAN,iBAGE,QAAF,CACI,aADJ,WAEM,QAAN,6CACQ,GAAR,iDAGU,IAAV,uDACA,aAEA,8CACc,KAAd,6CAEc,KAAd,uDACgB,OAAhB,oBACkB,OAAlB,iBAMU,KAAV,oCACU,KAAV,yBAGQ,OAAR,OAAQ,CAAR,kCACQ,KAAR,yCACQ,KAAR,eAEQ,KAAR,sCAGI,aAAJ,WACM,KAAN,aACQ,OAAR,yBAGI,eAAJ,WACA,sEACQ,KAAR,mCAEM,KAAN,+BAEI,gBAAJ,WACM,GAAN,cAAM,CAGA,IAAN,kFACM,OAAN,IAEI,UAAJ,sBAEM,IAAN,qCAEA,kBACQ,EAAR,CAAU,EAAV,EAAU,EAAV,IAGA,iCACQ,KAAR,gBACQ,KAAR,kBACQ,KAAR,kBACQ,KAAR,gBACQ,KAAR,gBACQ,KAAR,sBACU,KAAV,iBAGQ,KAAR,0CAEQ,KAAR,sBACU,KAAV,iBAKM,KAAN,kEACM,OAAN,OAAM,CAAN,kCAEM,KAAN,0BACM,KAAN,eACA,yDAEI,YAAJ,sBACM,IAMN,EANA,gCAOM,QALN,kBACQ,EAAR,CAAU,EAAV,EAAU,EAAV,IAIA,uBACQ,IAAR,qCAAU,EAAV,EAAU,EAAV,aACA,YAAU,OAAV,aAKQ,GAHA,EAAR,WAGA,GAEU,IAAV,MACA,MACU,EAAV,qBACA,6BACA,gCAGA,gCACA,iCAIA,IAEQ,EAAR,IACQ,EAAR,KAGA,qCACQ,KAAR,gBACQ,KAAR,gBACQ,KAAR,gBACQ,KAAR,kBACQ,KAAR,kBACQ,KAAR,sBACU,KAAV,iBAGQ,KAAR,0CAGQ,KAAR,sBACU,KAAV,iBAIA,6CAEM,OAAN,OAAM,CAAN,kCACM,KAAN,0BACM,KAAN,eAEA,2DAII,qBAjJJ,WAkJM,IAAN,iCACA,iBAGA,+DACA,+DAGM,IAAN,IACA,oBACA,aACA,iBACA,EACA,oBACA,EACA,sBAIM,KAAN,aAEA,yBACQ,KAAR,gCAIM,KAAN,yBAEM,KAAN,iBACM,KAAN,4CAII,uBAnLJ,WAqLM,KAAN,kDAII,eAzLJ,SAyLA,KAGM,IAAN,wBACQ,OAAR,oBACU,OAAV,gBAKA,wBACQ,OAAR,oBACU,OAAV,gBAKM,OAAN,eCvcoV,I,wBCQhV0P,EAAY,eACd,EACAvD,EACAC,GACA,EACA,KACA,KACA,MAIa,OAAAsD,E,gCClBf,IAAI9N,EAAM,EAAQ,QACdmR,EAAW,EAAQ,QACnB1E,EAAW,EAAQ,OAAR,CAAyB,YACpC2E,EAAcnX,OAAOkB,UAEzBtC,EAAOD,QAAUqB,OAAO6B,gBAAkB,SAAUyD,GAElD,OADAA,EAAI4R,EAAS5R,GACTS,EAAIT,EAAGkN,GAAkBlN,EAAEkN,GACH,mBAAjBlN,EAAEgI,aAA6BhI,aAAaA,EAAEgI,YAChDhI,EAAEgI,YAAYpM,UACdoE,aAAatF,OAASmX,EAAc,O,oCCV/C,IAAIvW,EAAS,EAAQ,QACjBwW,EAAa,EAAQ,QACrBxV,EAAiB,EAAQ,QACzBiB,EAAoB,GAGxB,EAAQ,OAAR,CAAmBA,EAAmB,EAAQ,OAAR,CAAkB,aAAa,WAAc,OAAO5D,QAE1FL,EAAOD,QAAU,SAAU4D,EAAaD,EAAME,GAC5CD,EAAYrB,UAAYN,EAAOiC,EAAmB,CAAEL,KAAM4U,EAAW,EAAG5U,KACxEZ,EAAeW,EAAaD,EAAO,e,uBCXrC,EAAQ,QACR,IAAI+U,EAAU,EAAQ,QAAuBrX,OAC7CpB,EAAOD,QAAU,SAAwBkG,EAAIhE,EAAKyW,GAChD,OAAOD,EAAQpX,eAAe4E,EAAIhE,EAAKyW,K,uBCFzC,IAAIJ,EAAW,EAAQ,QACnB9R,EAAQ,EAAQ,QAEpB,EAAQ,OAAR,CAAyB,QAAQ,WAC/B,OAAO,SAAcP,GACnB,OAAOO,EAAM8R,EAASrS,S,mBCL1B,IAAI0S,EAAOC,KAAKD,KACZE,EAAQD,KAAKC,MACjB7Y,EAAOD,QAAU,SAAUkG,GACzB,OAAO6S,MAAM7S,GAAMA,GAAM,GAAKA,EAAK,EAAI4S,EAAQF,GAAM1S,K,mBCJvDjG,EAAOD,QAAU,SAAUgZ,EAAQpX,GACjC,MAAO,CACLL,aAAuB,EAATyX,GACdjC,eAAyB,EAATiC,GAChBhC,WAAqB,EAATgC,GACZpX,MAAOA,K,uBCLX,IAAIgB,EAAU,EAAQ,QAEtBA,EAAQA,EAAQmD,EAAInD,EAAQqC,GAAK,EAAQ,QAAmB,SAAU,CAAE3D,eAAgB,EAAQ,QAAgBkG,K,kCCAhH,IAAIrB,EAAW,EAAQ,QACnB8S,EAAW,EAAQ,QACnBC,EAAqB,EAAQ,QAC7BC,EAAa,EAAQ,QAGzB,EAAQ,OAAR,CAAyB,QAAS,GAAG,SAAUhU,EAASiU,EAAOC,EAAQC,GACrE,MAAO,CAGL,SAAevK,GACb,IAAIpI,EAAIxB,EAAQ7E,MACZkM,OAAe5H,GAAVmK,OAAsBnK,EAAYmK,EAAOqK,GAClD,YAAcxU,IAAP4H,EAAmBA,EAAG1L,KAAKiO,EAAQpI,GAAK,IAAI2I,OAAOP,GAAQqK,GAAO3T,OAAOkB,KAIlF,SAAUoI,GACR,IAAIwK,EAAMD,EAAgBD,EAAQtK,EAAQzO,MAC1C,GAAIiZ,EAAIpK,KAAM,OAAOoK,EAAI3X,MACzB,IAAI4X,EAAKrT,EAAS4I,GACdhJ,EAAIN,OAAOnF,MACf,IAAKkZ,EAAGnT,OAAQ,OAAO8S,EAAWK,EAAIzT,GACtC,IAAI0T,EAAcD,EAAGvT,QACrBuT,EAAGE,UAAY,EACf,IAEItT,EAFAuT,EAAI,GACJvX,EAAI,EAER,MAAwC,QAAhCgE,EAAS+S,EAAWK,EAAIzT,IAAc,CAC5C,IAAI6T,EAAWnU,OAAOW,EAAO,IAC7BuT,EAAEvX,GAAKwX,EACU,KAAbA,IAAiBJ,EAAGE,UAAYR,EAAmBnT,EAAGkT,EAASO,EAAGE,WAAYD,IAClFrX,IAEF,OAAa,IAANA,EAAU,KAAOuX,Q,oCChCf,SAASE,EAAcC,EAAUjJ,GAG9C,IAFA,IAAIkJ,EAAS,GACTC,EAAY,GACPrZ,EAAI,EAAGA,EAAIkQ,EAAKnL,OAAQ/E,IAAK,CACpC,IAAI+O,EAAOmB,EAAKlQ,GACZqQ,EAAKtB,EAAK,GACVuK,EAAMvK,EAAK,GACXwK,EAAQxK,EAAK,GACba,EAAYb,EAAK,GACjByK,EAAO,CACTnJ,GAAI8I,EAAW,IAAMnZ,EACrBsZ,IAAKA,EACLC,MAAOA,EACP3J,UAAWA,GAERyJ,EAAUhJ,GAGbgJ,EAAUhJ,GAAIoJ,MAAMnJ,KAAKkJ,GAFzBJ,EAAO9I,KAAK+I,EAAUhJ,GAAM,CAAEA,GAAIA,EAAIoJ,MAAO,CAACD,KAKlD,OAAOJ,E,OCzBT,wCAQA,IAAIjN,EAAkC,qBAAbrC,SAEzB,GAAqB,qBAAV4P,OAAyBA,QAC7BvN,EACH,MAAM,IAAI1E,MACV,2JAkBJ,IAAIkS,EAAc,GAQdC,EAAOzN,IAAgBrC,SAAS8P,MAAQ9P,SAAS0B,qBAAqB,QAAQ,IAC9EqO,EAAmB,KACnBC,EAAmB,EACnBC,GAAe,EACfC,EAAO,aACP5S,EAAU,KACV6S,EAAW,kBAIXC,EAA+B,qBAAdnP,WAA6B,eAAeoP,KAAKpP,UAAUC,UAAUC,eAE3E,SAASmP,EAAiBjB,EAAUjJ,EAAMmK,EAAeC,GACtEP,EAAeM,EAEfjT,EAAUkT,GAAY,GAEtB,IAAIlB,EAASF,EAAaC,EAAUjJ,GAGpC,OAFAqK,EAAenB,GAER,SAAiBoB,GAEtB,IADA,IAAIC,EAAY,GACPza,EAAI,EAAGA,EAAIoZ,EAAOrU,OAAQ/E,IAAK,CACtC,IAAI+O,EAAOqK,EAAOpZ,GACd0a,EAAWf,EAAY5K,EAAKsB,IAChCqK,EAASC,OACTF,EAAUnK,KAAKoK,GAEbF,GACFpB,EAASF,EAAaC,EAAUqB,GAChCD,EAAenB,IAEfA,EAAS,GAEX,IAASpZ,EAAI,EAAGA,EAAIya,EAAU1V,OAAQ/E,IAAK,CACrC0a,EAAWD,EAAUza,GACzB,GAAsB,IAAlB0a,EAASC,KAAY,CACvB,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAASjB,MAAM1U,OAAQ6V,IACzCF,EAASjB,MAAMmB,YAEVjB,EAAYe,EAASrK,OAMpC,SAASkK,EAAgBnB,GACvB,IAAK,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAAOrU,OAAQ/E,IAAK,CACtC,IAAI+O,EAAOqK,EAAOpZ,GACd0a,EAAWf,EAAY5K,EAAKsB,IAChC,GAAIqK,EAAU,CACZA,EAASC,OACT,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAASjB,MAAM1U,OAAQ6V,IACzCF,EAASjB,MAAMmB,GAAG7L,EAAK0K,MAAMmB,IAE/B,KAAOA,EAAI7L,EAAK0K,MAAM1U,OAAQ6V,IAC5BF,EAASjB,MAAMnJ,KAAKuK,EAAS9L,EAAK0K,MAAMmB,KAEtCF,EAASjB,MAAM1U,OAASgK,EAAK0K,MAAM1U,SACrC2V,EAASjB,MAAM1U,OAASgK,EAAK0K,MAAM1U,YAEhC,CACL,IAAI0U,EAAQ,GACZ,IAASmB,EAAI,EAAGA,EAAI7L,EAAK0K,MAAM1U,OAAQ6V,IACrCnB,EAAMnJ,KAAKuK,EAAS9L,EAAK0K,MAAMmB,KAEjCjB,EAAY5K,EAAKsB,IAAM,CAAEA,GAAItB,EAAKsB,GAAIsK,KAAM,EAAGlB,MAAOA,KAK5D,SAASqB,IACP,IAAIC,EAAejR,SAASC,cAAc,SAG1C,OAFAgR,EAAa7Q,KAAO,WACpB0P,EAAKtP,YAAYyQ,GACVA,EAGT,SAASF,EAAU1E,GACjB,IAAI6E,EAAQC,EACRF,EAAejR,SAASoR,cAAc,SAAWjB,EAAW,MAAQ9D,EAAI9F,GAAK,MAEjF,GAAI0K,EAAc,CAChB,GAAIhB,EAGF,OAAOC,EAOPe,EAAaI,WAAWzQ,YAAYqQ,GAIxC,GAAIb,EAAS,CAEX,IAAIkB,EAAatB,IACjBiB,EAAelB,IAAqBA,EAAmBiB,KACvDE,EAASK,EAAoB7Z,KAAK,KAAMuZ,EAAcK,GAAY,GAClEH,EAASI,EAAoB7Z,KAAK,KAAMuZ,EAAcK,GAAY,QAGlEL,EAAeD,IACfE,EAASM,EAAW9Z,KAAK,KAAMuZ,GAC/BE,EAAS,WACPF,EAAaI,WAAWzQ,YAAYqQ,IAMxC,OAFAC,EAAO7E,GAEA,SAAsBoF,GAC3B,GAAIA,EAAQ,CACV,GAAIA,EAAOjC,MAAQnD,EAAImD,KACnBiC,EAAOhC,QAAUpD,EAAIoD,OACrBgC,EAAO3L,YAAcuG,EAAIvG,UAC3B,OAEFoL,EAAO7E,EAAMoF,QAEbN,KAKN,IAAIO,EAAc,WAChB,IAAIC,EAAY,GAEhB,OAAO,SAAUpW,EAAOqW,GAEtB,OADAD,EAAUpW,GAASqW,EACZD,EAAUE,OAAOC,SAASjM,KAAK,OALxB,GASlB,SAAS0L,EAAqBN,EAAc1V,EAAO4V,EAAQ9E,GACzD,IAAImD,EAAM2B,EAAS,GAAK9E,EAAImD,IAE5B,GAAIyB,EAAac,WACfd,EAAac,WAAW7R,QAAUwR,EAAYnW,EAAOiU,OAChD,CACL,IAAIwC,EAAUhS,SAASiS,eAAezC,GAClC0C,EAAajB,EAAaiB,WAC1BA,EAAW3W,IAAQ0V,EAAarQ,YAAYsR,EAAW3W,IACvD2W,EAAWjX,OACbgW,EAAakB,aAAaH,EAASE,EAAW3W,IAE9C0V,EAAazQ,YAAYwR,IAK/B,SAASR,EAAYP,EAAc5E,GACjC,IAAImD,EAAMnD,EAAImD,IACVC,EAAQpD,EAAIoD,MACZ3J,EAAYuG,EAAIvG,UAiBpB,GAfI2J,GACFwB,EAAa5Q,aAAa,QAASoP,GAEjCnS,EAAQ8U,OACVnB,EAAa5Q,aAAa8P,EAAU9D,EAAI9F,IAGtCT,IAGF0J,GAAO,mBAAqB1J,EAAUN,QAAQ,GAAK,MAEnDgK,GAAO,uDAAyDpK,KAAKY,SAASC,mBAAmBC,KAAKC,UAAUL,MAAgB,OAG9HmL,EAAac,WACfd,EAAac,WAAW7R,QAAUsP,MAC7B,CACL,MAAOyB,EAAaoB,WAClBpB,EAAarQ,YAAYqQ,EAAaoB,YAExCpB,EAAazQ,YAAYR,SAASiS,eAAezC,O,oCCzNrDha,EAAOD,QAAU,SAAS+c,GACtB,IAAIC,EAAiB,GAQrB,SAASC,EAAa3U,GAClB,IAAI0I,EAAK+L,EAAUvb,IAAI8G,GAEvB,YAAW1D,IAAPoM,EACO,GAGJgM,EAAehM,IAAO,GASjC,SAAS3I,EAAYC,EAASC,GAC1B,IAAIyI,EAAK+L,EAAUvb,IAAI8G,GAEnB0U,EAAehM,KACfgM,EAAehM,GAAM,IAGzBgM,EAAehM,GAAIC,KAAK1I,GAG5B,SAAS2U,EAAe5U,EAASC,GAE7B,IADA,IAAI4U,EAAYF,EAAa3U,GACpB3H,EAAI,EAAG2W,EAAM6F,EAAUzX,OAAQ/E,EAAI2W,IAAO3W,EAC/C,GAAIwc,EAAUxc,KAAO4H,EAAU,CAC7B4U,EAAUC,OAAOzc,EAAG,GACpB,OAKV,SAAS0c,EAAmB/U,GAC1B,IAAI6U,EAAYF,EAAa3U,GACxB6U,IACLA,EAAUzX,OAAS,GAGrB,MAAO,CACHlE,IAAKyb,EACLnW,IAAKuB,EACL6U,eAAgBA,EAChBG,mBAAoBA,K,uBCxD5B,IAAIlY,EAAU,EAAQ,QACtBlF,EAAOD,QAAU,SAAUkG,GACzB,OAAO7E,OAAO8D,EAAQe,M,sBCFvB,SAASrE,GAA2D5B,EAAOD,QAAQ6B,IAAnF,EAA+Q,WAAY,IAAIA,EAAE,GAAGR,OAAOC,eAAeO,EAAE,aAAa,CAACD,OAAM,IAAKC,EAAEkF,aAAQ,EAAOlF,EAAEkF,QAAQ,SAASlF,GAAG,SAASA,IAAIA,EAAEyb,SAASzb,aAAaA,EAAEyb,QAAQ,IAAI7V,EAAE,GAAGpG,OAAOC,eAAemG,EAAE,aAAa,CAAC7F,OAAM,IAAK6F,EAAE8V,KAAKnc,EAAEqG,EAAE+V,UAAU,SAAS/V,GAAG,OAAG,EAAG5F,EAAEkF,SAASU,GAAUA,GAASA,EAAEgW,eAAehW,GAAGqB,aAAarH,EAAE8H,QAAQ9B,EAAE8B,OAAO9B,EAAEiW,gBAAW,EAAO,IAAItb,OAAE,EAAOqF,EAAEiW,WAAWtb,EAAE,IAAIX,OAAE,EAAO,SAASL,EAAES,GAAG4F,EAAEiW,WAAWtb,EAAEP,EAAE,IAAIT,EAAES,EAAE4I,SAASiS,eAAe,IAAItb,EAAEqc,gBAAgB5b,EAAE4I,UAAU,mBAAmB5I,EAAE8b,MAAM9b,EAAE8b,KAAKvc,KAAKA,IAAIS,EAAEA,EAAE8b,KAAK9b,IAAI4F,EAAE8B,OAAO9H,EAAEI,EAAE4F,EAAE8B,OAAO9H,EAAE,oBAAoB8H,QAAQA,QAAQnI,EAAEmI,QAAQ,IAAI5I,EAAE,GAAG,SAAS4E,EAAE1D,GAAG,OAAO0D,EAAE,mBAAmB7D,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAGR,OAAOC,eAAeX,EAAE,aAAa,CAACiB,OAAM,IAAKjB,EAAEoG,aAAQ,EAAO,IAAIrE,EAAE,SAASb,GAAG,QAAQA,GAAG,WAAW0D,EAAE1D,IAAIjB,EAAE,SAASiB,GAAG,MAAM,mBAAmBA,GAAGgc,EAAE,CAACtU,OAAO,SAASnH,GAAG,OAAOA,IAAIqF,EAAE8B,SAAQ,EAAG1H,EAAEkF,SAAS3E,IAAI0b,QAAQ,SAASjc,GAAG,OAAOa,EAAEb,IAAI,KAAKA,EAAEkc,UAAU1b,OAAOK,EAAEsb,KAAKpd,EAAEqd,OAAO,SAASpc,GAAG,MAAM,iBAAiBA,GAAGqc,KAAK,SAASrc,GAAG,MAAM,kBAAkBA,GAAG0N,OAAO,SAAS1N,GAAG,MAAM,iBAAiBA,GAAGyG,QAAQ,SAASzG,GAAG,IAAIA,GAAG,WAAW0D,EAAE1D,GAAG,OAAM,EAAG,IAAIO,EAAEqF,EAAE+V,UAAU3b,IAAI4F,EAAE8B,OAAO,MAAM,kBAAkBuR,KAAKvV,EAAEnD,EAAE+b,UAAUtc,aAAaO,EAAE+b,QAAQ,IAAItc,EAAEkc,UAAU,iBAAiBlc,EAAEuc,UAAUC,YAAY,SAASxc,GAAG,OAAOa,EAAEb,MAAMA,EAAE8M,aAAa,oBAAoBmM,KAAKjZ,EAAE8M,YAAYjC,aAAa4R,MAAM,SAASzc,GAAG,OAAOa,EAAEb,SAAI,IAASA,EAAE6D,QAAQ9E,EAAEiB,EAAEub,UAAUzc,EAAEoG,QAAQ8W,EAAE,IAAI7c,EAAE,GAAG,SAASwG,EAAE3F,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY,GAAG,SAAS9W,EAAE+W,SAAStd,KAAK,CAAC,IAAIkB,EAAEqF,EAAE+W,SAASC,KAAK,MAAMrc,GAAGqF,EAAEiX,OAAOC,IAAIC,KAAKjI,EAAElP,EAAEiX,OAAOG,MAAMD,KAAKjI,EAAElP,EAAEiX,OAAOC,IAAIG,OAAOnI,EAAElP,EAAEiX,OAAOG,MAAMC,OAAOnI,EAAElP,EAAEiX,OAAOK,SAASD,OAAOnI,EAAE,EAAElP,EAAEiX,OAAOK,SAASH,KAAKjI,EAAE,GAAG,MAAMvU,IAAIqF,EAAEiX,OAAOC,IAAIC,KAAKlI,EAAEjP,EAAEiX,OAAOG,MAAMD,KAAKlI,EAAEjP,EAAEiX,OAAOC,IAAIG,OAAOpI,EAAEjP,EAAEiX,OAAOG,MAAMC,OAAOpI,EAAEjP,EAAEiX,OAAOK,SAASD,OAAOpI,EAAE,EAAEjP,EAAEiX,OAAOK,SAASH,KAAKlI,EAAE,IAAI,SAASzV,EAAEY,GAAG,IAAI4F,EAAE5F,EAAEmd,OAAO5c,EAAEP,EAAE0c,YAAY,GAAG,SAASnc,EAAEoc,SAAStd,KAAK,CAAC,IAAIO,EAAEW,EAAEoc,SAASC,KAAK,GAAG,MAAMhd,GAAG,MAAMA,EAAE,CAAC,IAAIL,EAAE,MAAMK,EAAE,IAAI,IAAIgG,EAAEmX,KAAKxd,GAAGgB,EAAEsc,OAAOG,MAAMD,KAAKxd,GAAGqG,EAAEqX,OAAO1d,GAAGgB,EAAEsc,OAAOG,MAAMC,OAAO1d,GAAGqG,EAAEwX,MAAM7d,GAAG,IAAIC,OAAOC,eAAeN,EAAE,aAAa,CAACY,OAAM,IAAKZ,EAAE+F,aAAQ,EAAO,IAAItE,EAAE,CAACuO,GAAG,eAAe8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEqd,QAAQ9c,EAAEP,EAAEsd,aAAa1d,EAAEI,EAAEud,SAAShd,EAAEG,UAAU8c,UAAU5c,EAAE4c,UAAU5X,EAAEyI,IAAIoP,KAAK7c,EAAEgF,EAAE8X,WAAWD,KAAK,YAAY7d,EAAEyd,QAAQI,KAAK7c,EAAE2c,UAAUjC,UAAU,CAAC,kCAAkC3V,EAAE,6BAA6BA,EAAE,2BAA2BvG,EAAE,mBAAmB,SAASY,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAE2d,aAAa/d,EAAEI,EAAE4d,QAAQre,EAAEgB,EAAE2F,QAAQuX,KAAK,GAAGle,GAAGA,EAAEse,WAAWjY,EAAEkY,gBAAgB,gBAAgB7E,KAAKrT,EAAEmY,cAAc,IAAIne,EAAEW,EAAE2F,QAAQuX,KAAKO,eAAe,OAAOhe,EAAEie,OAAO,CAAC5e,KAAK,OAAOud,KAAK,UAAUrd,EAAE2e,SAAS3e,EAAE4e,UAAU5e,EAAE2e,WAAU,IAAKV,UAAU,SAASxd,GAAG,OAAOlB,EAAEoG,QAAQ1E,OAAOR,IAAIvB,KAAKyH,QAAQuX,KAAKI,SAAQ,IAAK7d,EAAE6d,QAAQpf,KAAK2f,aAAa,OAAOpe,GAAGvB,KAAK4f,YAAY,OAAOre,GAAG,mBAAmBiZ,KAAKjZ,EAAEke,YAAYzf,KAAKyH,QAAQuX,KAAKS,SAASle,EAAEke,UAAU,aAAajF,KAAKjZ,EAAEme,aAAa1f,KAAKyH,QAAQuX,KAAKU,UAAUne,EAAEme,WAAW1f,MAAMK,EAAEoG,QAAQmX,KAAKrc,IAAIvB,KAAKyH,QAAQuX,KAAKI,QAAQ7d,EAAEvB,MAAMA,KAAKyH,QAAQuX,MAAMa,WAAW3Y,EAAE4Y,KAAKnf,EAAEme,SAAS,CAACY,UAAU,KAAKD,SAAS,MAAMM,UAAU,WAAW,MAAM,SAASrU,EAAEvJ,EAAEzB,EAAE+F,QAAQiF,EAAE,IAAIkH,EAAE,GAAG7R,OAAOC,eAAe4R,EAAE,aAAa,CAACtR,OAAM,IAAKsR,EAAEnM,aAAQ,EAAO,IAAIuZ,EAAE,CAAC/C,KAAK,SAAS1b,GAAG,IAAI4F,EAAE5F,EAAEye,EAAE7V,SAAShD,EAAEgD,SAAS6V,EAAEC,iBAAiB9Y,EAAE8Y,kBAAkB5J,EAAE2J,EAAEE,WAAW/Y,EAAE+Y,YAAY7J,EAAE2J,EAAEG,cAAchZ,EAAEgZ,eAAe9J,EAAE2J,EAAEI,mBAAmBjZ,EAAEiZ,oBAAoB/J,EAAE2J,EAAEnC,QAAQ1W,EAAE0W,SAASxH,EAAE2J,EAAEK,YAAYlZ,EAAEkZ,aAAaL,EAAEnC,QAAQmC,EAAEM,MAAMnZ,EAAEmZ,MAAMN,EAAEO,MAAMpZ,EAAEoZ,OAAOlK,EAAE2J,EAAEQ,aAAarZ,EAAEqZ,cAAcrZ,EAAEsZ,gBAAgBtW,SAAS,KAAK8V,iBAAiB,KAAKC,WAAW,KAAKC,cAAc,KAAKC,mBAAmB,KAAKvC,QAAQ,KAAKwC,YAAY,KAAKC,MAAM,KAAKC,MAAM,KAAKC,aAAa,MAAM,SAASnK,KAAK,IAAI5V,EAAEuf,EAAEpN,EAAEnM,QAAQhG,EAAE,IAAIyE,EAAE,GAAGnE,OAAOC,eAAekE,EAAE,aAAa,CAAC5D,OAAM,IAAK4D,EAAEuB,aAAQ,EAAO,IAAI2P,EAAE,CAAC6G,KAAK,SAAS1b,GAAG,IAAIO,EAAE8Q,EAAEnM,QAAQoX,QAAQ1c,EAAEgG,EAAE8B,OAAOmC,UAAUgL,EAAEsK,cAAc,iBAAiBnf,GAAGlB,EAAEoG,QAAQiX,KAAKnc,EAAEof,gBAAgB/N,EAAEnM,QAAQ0D,oBAAoB5I,EAAEof,cAAcvK,EAAEwK,sBAAqB,IAAKzf,EAAE0f,kBAAkBjO,EAAEnM,QAAQ+Z,aAAapK,EAAE0K,MAAM,iBAAiBtG,KAAKrZ,EAAE4f,UAAU3K,EAAE4K,OAAO,iBAAiBxG,KAAKrZ,EAAE4f,WAAW,YAAYvG,KAAKrZ,EAAE8f,YAAY7K,EAAE8K,MAAM,SAAS1G,KAAKrZ,EAAEkK,WAAW+K,EAAE+K,cAAc,UAAUhgB,EAAEigB,SAAShL,EAAEsK,eAAe,SAASlG,KAAKrZ,EAAEkK,WAAW+K,EAAEiL,wBAAwB,YAAYvf,EAAEG,UAAU,UAAU,0BAA0BH,EAAEG,UAAU,wBAAwB,uBAAuBH,EAAEG,UAAU,qBAAqB,qBAAqBH,EAAEG,UAAU,mBAAmB,oBAAoBmU,EAAEkL,YAAYlL,EAAEwK,qBAAqBhO,EAAEnM,QAAQ+Z,eAAejf,EAAEkf,eAAe,CAACc,GAAG,cAAcC,KAAK,gBAAgBC,KAAK,YAAYC,IAAI,WAAW5B,KAAK,gBAAgB6B,OAAO,mBAAmB,CAACJ,GAAG,YAAYC,KAAK,cAAcC,KAAK,cAAcC,IAAI,aAAa5B,KAAK,cAAc6B,OAAO,iBAAiB,KAAKvL,EAAEwL,WAAW,iBAAiBhP,EAAEnM,QAAQ0D,SAAS,aAAa,SAASuW,cAAc,KAAKE,qBAAqB,KAAKI,OAAO,KAAKF,MAAM,KAAKI,MAAM,KAAKC,cAAc,KAAKE,wBAAwB,KAAKC,YAAY,KAAKM,WAAW,MAAUtL,EAAEF,EAAElR,EAAEuB,QAAQ6P,EAAE,IAAIuL,EAAE,GAAG,SAASpc,EAAElE,GAAG,IAAI4F,EAAE5F,EAAEia,WAAW,GAAGnb,EAAEoG,QAAQ+W,QAAQrW,GAAG,CAAC,MAAMA,EAAEA,EAAE2a,OAAOzhB,EAAEoG,QAAQ+W,QAAQrW,KAAK,OAAOA,EAAE,OAAOA,EAAE,SAASzC,EAAEnD,EAAEO,GAAG,OAAOqF,EAAE8B,SAAS9B,EAAEiW,aAAatb,EAAEA,EAAE8H,QAAQ,YAAY,MAAMrI,EAAE2D,EAAEuB,QAAQ4a,yBAAyBvf,GAAGf,OAAOC,eAAe6gB,EAAE,aAAa,CAACvgB,OAAM,IAAKugB,EAAEE,aAAa,SAASxgB,EAAE4F,GAAG,GAAG5F,EAAEygB,SAAS,OAAOzgB,EAAEygB,SAAS7a,GAAG,KAAKA,GAAG,CAAC,GAAGA,IAAI5F,EAAE,OAAM,EAAG4F,EAAEA,EAAEqU,WAAW,OAAM,GAAIqG,EAAEI,QAAQ,SAAS1gB,EAAE4F,GAAG,KAAK9G,EAAEoG,QAAQuB,QAAQzG,IAAI,CAAC,GAAGmD,EAAEnD,EAAE4F,GAAG,OAAO5F,EAAEA,EAAEkE,EAAElE,GAAG,OAAO,MAAMsgB,EAAErG,WAAW/V,EAAEoc,EAAEK,gBAAgBxd,EAAEmd,EAAEM,sBAAsB,SAAS5gB,GAAG,IAAI,IAAIO,EAAEX,EAAE,GAAGL,EAAE,EAAEA,EAAES,EAAE6D,OAAOtE,IAAI,CAAC,IAAIT,EAAEkB,EAAET,GAAGmE,EAAE1D,EAAEO,GAAG,GAAGzB,GAAGS,IAAIgB,EAAE,GAAGmD,EAAE,CAAC,IAAI7C,EAAEiE,EAAEhG,GAAGC,EAAE+F,EAAEpB,GAAG,GAAG7C,IAAI/B,EAAE8c,cAAc,GAAG7c,IAAID,EAAE8c,cAAc,GAAG/a,IAAI9B,EAAE,CAACa,EAAEA,EAAEiE,OAAOjE,EAAEihB,EAAEnd,GAAG,IAAIsY,OAAE,EAAO,GAAGtY,aAAa2N,EAAEnM,QAAQ4Z,aAAahgB,aAAauS,EAAEnM,QAAQyZ,cAAc7f,aAAauS,EAAEnM,QAAQ0Z,eAAe,CAAC,GAAG9f,IAAIC,EAAE,SAASid,EAAEld,EAAEgiB,qBAAqB9E,EAAEld,EAAE,IAAI,IAAIK,EAAE0hB,EAAE7E,EAAEtY,EAAEkY,eAAejW,EAAE,EAAExG,EAAEwG,IAAIxG,EAAEwG,KAAK/F,EAAE+F,IAAIA,IAAI,IAAI,IAAIvG,EAAE,CAACD,EAAEwG,EAAE,GAAGxG,EAAEwG,GAAG/F,EAAE+F,IAAI/E,EAAExB,EAAE,GAAG2hB,UAAUngB,GAAG,CAAC,GAAGA,IAAIxB,EAAE,GAAG,CAACmB,EAAEhB,EAAEK,EAAET,EAAE,MAAM,GAAGyB,IAAIxB,EAAE,GAAG,MAAMwB,EAAEA,EAAEogB,sBAAsB7W,EAAErL,EAAE2f,EAAE/a,EAAEoR,OAAE,EAAO5V,OAAE,EAAO4V,EAAEmM,SAASrb,EAAE+V,UAAUxR,GAAGxC,iBAAiBwC,GAAG+W,OAAO,KAAK,EAAEhiB,EAAE+hB,SAASrb,EAAE+V,UAAU8C,GAAG9W,iBAAiB8W,GAAGyC,OAAO,KAAK,EAAEpM,GAAG5V,IAAIqB,EAAEhB,QAAQgB,EAAEhB,OAAOgB,EAAEhB,EAAE,IAAI4K,EAAEsU,EAAE3J,EAAE5V,EAAE,OAAOqB,GAAG+f,EAAEa,YAAY,SAASnhB,EAAE4F,EAAErF,GAAG,KAAKzB,EAAEoG,QAAQuB,QAAQzG,IAAI,CAAC,GAAGmD,EAAEnD,EAAE4F,GAAG,OAAM,EAAG,IAAI5F,EAAEkE,EAAElE,MAAMO,EAAE,OAAO4C,EAAEnD,EAAE4F,GAAG,OAAM,GAAI0a,EAAEc,iBAAiB,SAASphB,GAAG,OAAOA,EAAEqhB,yBAAyBrhB,GAAGsgB,EAAEgB,YAAY9R,EAAE8Q,EAAEiB,qBAAqBC,EAAElB,EAAEmB,eAAe,SAASzhB,GAAG,IAAIO,EAAEihB,EAAExhB,GAAG,IAAI2D,EAAEuB,QAAQua,QAAQlf,EAAE,CAAC,IAAIX,EAAE4P,EAAE5J,EAAE+V,UAAU3b,IAAIO,EAAEmhB,MAAM9hB,EAAEiV,EAAEtU,EAAEohB,OAAO/hB,EAAEiV,EAAEtU,EAAEqhB,KAAKhiB,EAAEkV,EAAEvU,EAAEshB,QAAQjiB,EAAEkV,EAAE,OAAOvU,GAAG+f,EAAEwB,QAAQ,SAAS9hB,GAAY,IAAT,IAAI4F,EAAE,GAAQ5F,GAAG4F,EAAEwJ,KAAKpP,GAAGA,EAAEkE,EAAElE,GAAG,OAAO4F,GAAG0a,EAAEyB,YAAY,SAAS/hB,GAAG,QAAIlB,EAAEoG,QAAQwI,OAAO1N,KAAmBqR,EAAEnM,QAAQ0D,SAASoR,cAAcha,IAAG,IAAI,IAAI8E,EAAE,SAAS9E,GAAG,OAAOA,EAAEia,YAAYja,EAAEugB,MAAM,SAASM,EAAE7gB,EAAE4F,GAAG,IAAI,IAAIrF,EAAEX,EAAE,GAAGL,EAAES,GAAGO,EAAEuE,EAAEvF,KAAKA,IAAIqG,GAAGrF,IAAIhB,EAAEqc,eAAehc,EAAEoiB,QAAQziB,GAAGA,EAAEgB,EAAE,OAAOX,EAAE,SAAS4P,EAAExP,GAAG,MAAM,CAAC6U,GAAG7U,EAAEA,GAAG4F,EAAE8B,QAAQua,SAASjiB,EAAE4I,SAASsZ,gBAAgBC,WAAWrN,EAAE9U,EAAEoiB,SAASpiB,EAAE4I,SAASsZ,gBAAgBG,WAAW,SAASb,EAAExhB,GAAG,IAAI4F,EAAE5F,aAAaqR,EAAEnM,QAAQyZ,WAAW3e,EAAEsiB,wBAAwBtiB,EAAEuiB,iBAAiB,GAAG,OAAO3c,GAAG,CAAC8b,KAAK9b,EAAE8b,KAAKC,MAAM/b,EAAE+b,MAAMC,IAAIhc,EAAEgc,IAAIC,OAAOjc,EAAEic,OAAOja,MAAMhC,EAAEgC,OAAOhC,EAAE+b,MAAM/b,EAAE8b,KAAK5Z,OAAOlC,EAAEkC,QAAQlC,EAAEic,OAAOjc,EAAEgc,KAAK,IAAIlI,EAAE,GAAGla,OAAOC,eAAeia,EAAE,aAAa,CAAC3Z,OAAM,IAAK2Z,EAAExU,QAAQ,SAASlF,EAAE4F,GAAG,IAAI,IAAIrF,KAAKqF,EAAE5F,EAAEO,GAAGqF,EAAErF,GAAG,OAAOP,GAAG,IAAIwiB,EAAE,GAAG,SAASC,EAAEziB,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAE,SAAS+iB,EAAE3iB,EAAE4F,EAAErF,GAAG,MAAM,WAAWP,GAAE,EAAGsgB,EAAErG,YAAY1Z,GAAG,SAASP,EAAE4F,EAAEgd,QAAQriB,IAAG,EAAG+f,EAAEI,SAASngB,EAAEP,GAAGR,OAAOC,eAAe+iB,EAAE,aAAa,CAACziB,OAAM,IAAKyiB,EAAEK,sBAAsBF,EAAEH,EAAEM,gBAAgB,SAAS9iB,EAAE4F,EAAErF,EAAEX,GAAG,IAAkrB8D,EAA9qBnE,EAAES,EAAguB,OAA9tBlB,EAAEoG,QAAQwI,OAAOnO,GAAGA,EAAEojB,EAAEpjB,EAAEqG,EAAErF,GAAGzB,EAAEoG,QAAQiX,KAAK5c,KAAKA,EAAEA,EAAE+M,WAAM,EAAO,SAAStM,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOyiB,EAAEziB,GAAzC,CAA6C0D,EAAE9D,IAAI,SAASI,GAAG,GAAG,oBAAoBH,QAAQA,OAAOkc,YAAYvc,OAAOQ,GAAG,OAAO0iB,MAAMM,KAAKhjB,GAA1F,CAA8F0D,IAAI,SAAS1D,EAAE4F,GAAG,GAAG5F,EAAE,CAAC,GAAG,iBAAiBA,EAAE,OAAOyiB,EAAEziB,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAG,MAAM,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAM,QAAQkB,GAAG,QAAQA,EAAEmiB,MAAMM,KAAKhjB,GAAG,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAGkiB,EAAEziB,EAAE4F,QAAG,GAApR,CAA6RlC,IAAI,WAAW,MAAM,IAAIqH,UAAU,wIAA/B,KAAkLjM,EAAEoG,QAAQuB,QAAQlH,KAAKA,GAAE,EAAG+gB,EAAEmB,gBAAgBliB,IAAWA,GAAGijB,EAAES,SAAS,SAASjjB,GAAG,OAAOA,GAAG,CAAC6U,EAAE,MAAM7U,EAAEA,EAAE6U,EAAE7U,EAAE0hB,KAAK5M,EAAE,MAAM9U,EAAEA,EAAE8U,EAAE9U,EAAE4hB,MAAMY,EAAEU,WAAW,SAASljB,GAAmJ,OAA/IA,GAAG,SAASA,GAAG,QAAQA,KAAKA,GAAE,EAAG0Z,EAAExU,SAAS,GAAGlF,IAAI0hB,KAAK1hB,EAAE6U,GAAG,EAAE7U,EAAE4hB,IAAI5hB,EAAE8U,GAAG,EAAE9U,EAAE2hB,MAAM3hB,EAAE2hB,OAAO3hB,EAAE0hB,KAAK1hB,EAAE4H,MAAM5H,EAAE6hB,OAAO7hB,EAAE6hB,QAAQ7hB,EAAE4hB,IAAI5hB,EAAE8H,QAAe9H,GAAGwiB,EAAEW,WAAW,SAASnjB,GAAmJ,OAA/IA,GAAG,MAAMA,GAAG,MAAMA,KAAKA,GAAE,EAAG0Z,EAAExU,SAAS,GAAGlF,IAAI6U,EAAE7U,EAAE0hB,MAAM,EAAE1hB,EAAE8U,EAAE9U,EAAE4hB,KAAK,EAAE5hB,EAAE4H,MAAM5H,EAAE4H,QAAQ5H,EAAE2hB,OAAO,GAAG3hB,EAAE6U,EAAE7U,EAAE8H,OAAO9H,EAAE8H,SAAS9H,EAAE6hB,QAAQ,GAAG7hB,EAAE8U,GAAU9U,GAAGwiB,EAAEY,SAAS,SAASpjB,EAAE4F,EAAErF,GAAGP,EAAE0hB,OAAO9b,EAAE8b,MAAMnhB,EAAEsU,GAAG7U,EAAE2hB,QAAQ/b,EAAE+b,OAAOphB,EAAEsU,GAAG7U,EAAE4hB,MAAMhc,EAAEgc,KAAKrhB,EAAEuU,GAAG9U,EAAE6hB,SAASjc,EAAEic,QAAQthB,EAAEuU,GAAGlP,EAAEgC,MAAMhC,EAAE+b,MAAM/b,EAAE8b,KAAK9b,EAAEkC,OAAOlC,EAAEic,OAAOjc,EAAEgc,KAAK,IAAI9J,EAAE,GAAGtY,OAAOC,eAAeqY,EAAE,aAAa,CAAC/X,OAAM,IAAK+X,EAAE5S,QAAQ,SAASlF,EAAE4F,EAAErF,GAAG,IAAIX,EAAEI,EAAEkG,QAAQ3F,GAAGhB,EAAEK,GAAGA,EAAEyjB,QAAQrjB,EAAEkG,QAAQmd,OAAOvkB,GAAE,EAAG0jB,EAAEM,iBAAiBvjB,EAAES,EAAE4F,EAAE,CAAC5F,GAAG4F,IAAI,OAAM,EAAG4c,EAAES,UAAUnkB,IAAI,CAAC+V,EAAE,EAAEC,EAAE,IAAI,IAAIwO,EAAE,GAAG,SAASC,EAAEvjB,GAAG,OAAOA,EAAEwjB,OAAOhX,MAAM,MAAMhN,OAAOC,eAAe6jB,EAAE,aAAa,CAACvjB,OAAM,IAAKujB,EAAEpe,QAAQ,SAASlF,EAAE4F,EAAErF,EAAEX,GAA6D,GAA1DA,EAAEA,GAAG,GAAGd,EAAEoG,QAAQwI,OAAO9H,KAAK,IAAIA,EAAE6d,OAAO,OAAO7d,EAAE2d,EAAE3d,IAAO9G,EAAEoG,QAAQuX,MAAM7W,GAAG,OAAOA,EAAE8d,QAAO,SAAU9d,EAAErG,GAAG,OAAM,EAAGma,EAAExU,SAASU,EAAE5F,EAAET,EAAEgB,EAAEX,MAAMA,GAAmC,GAAhCd,EAAEoG,QAAQ1E,OAAOoF,KAAKrF,EAAEqF,EAAEA,EAAE,IAAO9G,EAAEoG,QAAQiX,KAAK5b,GAAGX,EAAEgG,GAAGhG,EAAEgG,IAAI,GAAGhG,EAAEgG,GAAGwJ,KAAK7O,QAAQ,GAAGzB,EAAEoG,QAAQuX,MAAMlc,GAAG,IAAI,IAAIhB,EAAE,EAAEA,EAAEgB,EAAEsD,OAAOtE,IAAI,CAAC,IAAImE,EAAEA,EAAEnD,EAAEhB,GAAGS,EAAE4F,EAAElC,EAAE9D,QAAQ,GAAGd,EAAEoG,QAAQ1E,OAAOD,GAAG,IAAI,IAAIM,KAAKN,EAAE,CAAC,IAAIxB,EAAEwkB,EAAE1iB,GAAGwN,KAAI,SAAUrO,GAAG,MAAM,GAAGwO,OAAO5I,GAAG4I,OAAOxO,MAAMA,EAAEjB,EAAEwB,EAAEM,GAAGjB,GAAG,OAAOA,GAAG,IAAI+jB,EAAE,GAAGnkB,OAAOC,eAAekkB,EAAE,aAAa,CAAC5jB,OAAM,IAAK4jB,EAAEze,aAAQ,EAAOye,EAAEze,QAAQ,SAASlF,EAAE4F,GAAG,OAAOoR,KAAK4M,KAAK5jB,EAAEA,EAAE4F,EAAEA,IAAI,IAAIxC,EAAE,GAAG,SAASygB,EAAE7jB,EAAE4F,GAAG,IAAI,IAAIrF,KAAKqF,EAAE,CAAC,IAAIhG,EAAEikB,EAAEC,gBAAgBvkB,GAAE,EAAG,IAAI,IAAIT,KAAKc,EAAE,GAAG,IAAIW,EAAEyJ,QAAQlL,IAAIc,EAAEd,GAAGma,KAAK1Y,GAAG,CAAChB,GAAE,EAAG,MAAMA,GAAG,mBAAmBqG,EAAErF,KAAKP,EAAEO,GAAGqF,EAAErF,IAAI,OAAOP,EAAER,OAAOC,eAAe2D,EAAE,aAAa,CAACrD,OAAM,IAAKqD,EAAE8B,aAAQ,EAAO2e,EAAEC,gBAAgB,CAACC,OAAO,iDAAiDC,IAAI,eAAe,IAAIC,EAAEJ,EAAEzgB,EAAE8B,QAAQ+e,EAAE,IAAIC,EAAE,GAAG,SAASC,EAAEnkB,GAAG,OAAOA,aAAaqR,EAAEnM,QAAQ6Z,OAAO/e,aAAaqR,EAAEnM,QAAQ8Z,MAAM,SAASvP,EAAEzP,EAAE4F,EAAErF,GAAG,OAAOP,EAAEA,GAAG,QAAQO,EAAEA,GAAG,IAAIsU,EAAEjP,EAAE5F,EAAE,KAAKO,EAAEuU,EAAElP,EAAE5F,EAAE,KAAKO,EAAE,SAAS6jB,EAAEpkB,EAAE4F,GAAG,OAAOA,EAAEA,GAAG,CAACiP,EAAE,EAAEC,EAAE,GAAGnR,EAAEuB,QAAQ0a,eAAeuE,EAAEnkB,IAAIyP,EAAE,SAASzP,EAAE4F,GAAGA,EAAEiP,GAAGnN,OAAOua,QAAQrc,EAAEkP,GAAGpN,OAAO0a,SAAS3S,EAAE,OAAOzP,EAAE4F,GAAGA,EAAE,SAASye,EAAErkB,EAAE4F,GAAG,OAAOA,EAAEA,GAAG,GAAGjC,EAAEuB,QAAQ0a,eAAeuE,EAAEnkB,GAAGyP,EAAE,SAASzP,EAAE4F,GAAG6J,EAAE,SAASzP,EAAE4F,GAAGA,EAAE,SAAS0e,EAAEtkB,GAAG,IAAI4F,EAAE,GAAG,OAAO9G,EAAEoG,QAAQuX,MAAMzc,IAAI4F,EAAE,GAAG5F,EAAE,GAAG4F,EAAE,GAAG5F,EAAE,IAAI,aAAaA,EAAEgJ,KAAK,IAAIhJ,EAAEukB,QAAQ1gB,QAAQ+B,EAAE,GAAG5F,EAAEukB,QAAQ,GAAG3e,EAAE,GAAG5F,EAAEwkB,eAAe,IAAI,IAAIxkB,EAAEukB,QAAQ1gB,SAAS+B,EAAE,GAAG5F,EAAEwkB,eAAe,GAAG5e,EAAE,GAAG5F,EAAEwkB,eAAe,KAAK5e,EAAE,GAAG5F,EAAEukB,QAAQ,GAAG3e,EAAE,GAAG5F,EAAEukB,QAAQ,IAAI3e,EAAE,SAAS6e,EAAEzkB,GAAG,IAAI,IAAI4F,EAAE,CAAC8e,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,GAAGxkB,EAAE,EAAEA,EAAEP,EAAE6D,OAAOtD,IAAI,CAAC,IAAIX,EAAEI,EAAEO,GAAG,IAAI,IAAIhB,KAAKqG,EAAEA,EAAErG,IAAIK,EAAEL,GAAG,IAAI,IAAIT,KAAK8G,EAAEA,EAAE9G,IAAIkB,EAAE6D,OAAO,OAAO+B,EAAEpG,OAAOC,eAAeykB,EAAE,aAAa,CAACnkB,OAAM,IAAKmkB,EAAEc,WAAW,SAAShlB,EAAE4F,GAAG5F,EAAE+c,KAAK/c,EAAE+c,MAAM,GAAG/c,EAAE+c,KAAKlI,EAAEjP,EAAEmX,KAAKlI,EAAE7U,EAAE+c,KAAKjI,EAAElP,EAAEmX,KAAKjI,EAAE9U,EAAEid,OAAOjd,EAAEid,QAAQ,GAAGjd,EAAEid,OAAOpI,EAAEjP,EAAEqX,OAAOpI,EAAE7U,EAAEid,OAAOnI,EAAElP,EAAEqX,OAAOnI,EAAE9U,EAAEilB,UAAUrf,EAAEqf,WAAWf,EAAEgB,eAAe,SAASllB,EAAE4F,EAAErF,GAAGP,EAAE+c,KAAKlI,EAAEtU,EAAEwc,KAAKlI,EAAEjP,EAAEmX,KAAKlI,EAAE7U,EAAE+c,KAAKjI,EAAEvU,EAAEwc,KAAKjI,EAAElP,EAAEmX,KAAKjI,EAAE9U,EAAEid,OAAOpI,EAAEtU,EAAE0c,OAAOpI,EAAEjP,EAAEqX,OAAOpI,EAAE7U,EAAEid,OAAOnI,EAAEvU,EAAE0c,OAAOnI,EAAElP,EAAEqX,OAAOnI,EAAE9U,EAAEilB,UAAU1kB,EAAE0kB,UAAUrf,EAAEqf,WAAWf,EAAEiB,iBAAiB,SAASnlB,EAAE4F,GAAG,IAAIrF,EAAEyW,KAAKoO,IAAIxf,EAAEqf,UAAU,IAAI,MAAMjlB,EAAE+c,KAAKlI,EAAEjP,EAAEmX,KAAKlI,EAAEtU,EAAEP,EAAE+c,KAAKjI,EAAElP,EAAEmX,KAAKjI,EAAEvU,EAAEP,EAAEid,OAAOpI,EAAEjP,EAAEqX,OAAOpI,EAAEtU,EAAEP,EAAEid,OAAOnI,EAAElP,EAAEqX,OAAOnI,EAAEvU,EAAEP,EAAEilB,UAAU1kB,GAAG2jB,EAAEmB,cAAc,SAASrlB,GAAGA,EAAE+c,KAAKlI,EAAE,EAAE7U,EAAE+c,KAAKjI,EAAE,EAAE9U,EAAEid,OAAOpI,EAAE,EAAE7U,EAAEid,OAAOnI,EAAE,GAAGoP,EAAEoB,gBAAgBnB,EAAED,EAAEqB,MAAM9V,EAAEyU,EAAEsB,UAAUpB,EAAEF,EAAEuB,YAAYpB,EAAEH,EAAEwB,aAAa,SAAS1lB,GAAG,OAAOlB,EAAEoG,QAAQkX,OAAOpc,EAAE2lB,WAAW3lB,EAAE2lB,UAAU3lB,EAAE4lB,YAAY1B,EAAE2B,UAAU,SAAS7lB,EAAE4F,EAAErF,GAAG,IAAIX,EAAEgG,EAAE/B,OAAO,EAAE4gB,EAAE7e,GAAGA,EAAE,GAAGwe,EAAExkB,EAAEI,EAAE+c,MAAMsH,EAAEzkB,EAAEI,EAAEid,QAAQjd,EAAEilB,UAAU1kB,GAAG2jB,EAAE4B,aAAaxB,EAAEJ,EAAE6B,eAAetB,EAAEP,EAAE8B,UAAU,SAAShmB,GAAG,IAAIA,EAAE6D,OAAO,OAAO,KAAK,IAAI+B,EAAE0e,EAAEtkB,GAAGO,EAAEyW,KAAKiP,IAAIrgB,EAAE,GAAG8e,MAAM9e,EAAE,GAAG8e,OAAO9kB,EAAEoX,KAAKiP,IAAIrgB,EAAE,GAAG+e,MAAM/e,EAAE,GAAG+e,OAAOplB,EAAEyX,KAAKoO,IAAIxf,EAAE,GAAG8e,MAAM9e,EAAE,GAAG8e,OAAO5lB,EAAEkY,KAAKoO,IAAIxf,EAAE,GAAG+e,MAAM/e,EAAE,GAAG+e,OAAO,MAAM,CAAC9P,EAAEtU,EAAEuU,EAAElV,EAAE8hB,KAAKnhB,EAAEqhB,IAAIhiB,EAAE+hB,MAAMpiB,EAAEsiB,OAAO/iB,EAAE8I,MAAMrI,EAAEgB,EAAEuH,OAAOhJ,EAAEc,IAAIskB,EAAEgC,cAAc,SAASlmB,EAAE4F,GAAG,IAAIrF,EAAEqF,EAAE,IAAIhG,EAAEgG,EAAE,IAAIrG,EAAE+kB,EAAEtkB,GAAGlB,EAAES,EAAE,GAAGgB,GAAGhB,EAAE,GAAGgB,GAAGmD,EAAEnE,EAAE,GAAGK,GAAGL,EAAE,GAAGK,GAAG,OAAM,EAAG+jB,EAAEze,SAASpG,EAAE4E,IAAIwgB,EAAEiC,WAAW,SAASnmB,EAAE4F,GAAG,IAAIrF,EAAEqF,EAAE,IAAIhG,EAAEgG,EAAE,IAAIrG,EAAE+kB,EAAEtkB,GAAGlB,EAAES,EAAE,GAAGgB,GAAGhB,EAAE,GAAGgB,GAAGmD,EAAEnE,EAAE,GAAGK,GAAGL,EAAE,GAAGK,GAAG,OAAO,IAAIoX,KAAKoP,MAAM1iB,EAAE5E,GAAGkY,KAAKqP,IAAInC,EAAEoC,eAAe,SAAStmB,GAAG,OAAOlB,EAAEoG,QAAQwI,OAAO1N,EAAE+d,aAAa/d,EAAE+d,YAAYjf,EAAEoG,QAAQkX,OAAOpc,EAAE+d,aAAa,MAAC,OAAO,EAAO,QAAQ,MAAM,SAAS/d,EAAE+d,aAAa,QAAQ9E,KAAKjZ,EAAEgJ,OAAOhJ,aAAaqR,EAAEnM,QAAQ8Z,MAAM,QAAQ,SAASkF,EAAEqC,gBAAgB,SAASvmB,GAAG,IAAI4F,EAAE9G,EAAEoG,QAAQiX,KAAKnc,EAAEwmB,cAAcxmB,EAAEwmB,eAAexmB,EAAEymB,KAAK,MAAM,CAACnG,EAAEc,iBAAiBxb,EAAEA,EAAE,GAAG5F,EAAE0mB,QAAQpG,EAAEc,iBAAiBphB,EAAE2mB,iBAAiBzC,EAAE0C,UAAU,WAAW,MAAM,CAAC7J,KAAK,CAAClI,EAAE,EAAEC,EAAE,GAAGmI,OAAO,CAACpI,EAAE,EAAEC,EAAE,GAAGmQ,UAAU,IAAIf,EAAE2C,cAAc,SAAS7mB,GAAG,MAAM,CAAC6c,OAAO7c,EAAE,WAAW,OAAOvB,KAAKoe,OAAOE,MAAM,aAAa,OAAOte,KAAKoe,OAAOI,QAAQ,gBAAgB,OAAOxe,KAAKoe,OAAOoI,WAAW,YAAY,OAAOxmB,KAAKoe,OAAOE,KAAKlI,GAAG,YAAY,OAAOpW,KAAKoe,OAAOE,KAAKjI,GAAG,cAAc,OAAOrW,KAAKoe,OAAOI,OAAOpI,GAAG,cAAc,OAAOpW,KAAKoe,OAAOI,OAAOnI,GAAG,gBAAgB,OAAOrW,KAAKoe,OAAO8I,WAAW,aAAa,OAAOlnB,KAAKoe,OAAO6J,QAAQ,WAAW,OAAOjoB,KAAKoe,OAAO7T,MAAM,kBAAkB,OAAOvK,KAAKoe,OAAOkB,aAAa,cAAc,OAAOtf,KAAKoe,OAAOe,SAASkJ,eAAe,eAAetnB,OAAOC,eAAeykB,EAAE,gBAAgB,CAACxkB,YAAW,EAAGC,IAAI,WAAW,OAAOyD,EAAE8B,WAAW,IAAI6hB,EAAE,GAAG,SAASC,EAAEhnB,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAIJ,OAAOC,eAAesnB,EAAE,aAAa,CAAChnB,OAAM,IAAKgnB,EAAEE,eAAU,EAAO,IAAIC,EAAE,WAAW,SAASlnB,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAKuK,UAAK,EAAOvK,KAAKioB,YAAO,EAAOjoB,KAAKkoB,mBAAc,EAAOloB,KAAKkf,kBAAa,EAAOlf,KAAK0oB,kBAAa,EAAO1oB,KAAKwmB,eAAU,EAAOxmB,KAAK2oB,6BAA4B,EAAG3oB,KAAK4oB,oBAAmB,EAAG5oB,KAAK0oB,aAAavhB,EAAE,IAAIA,EAAErF,EAAEX,EAAE,OAAOgG,EAAE5F,GAAGO,EAAE,CAAC,CAACF,IAAI,iBAAiBN,MAAM,cAAc,CAACM,IAAI,kBAAkBN,MAAM,WAAWtB,KAAK4oB,oBAAmB,IAAK,CAAChnB,IAAI,2BAA2BN,MAAM,WAAWtB,KAAK2oB,4BAA4B3oB,KAAK4oB,oBAAmB,OAAQL,EAAEphB,EAAElF,UAAUH,GAAGX,GAAGonB,EAAEphB,EAAEhG,GAAGI,EAA7mB,GAAknB+mB,EAAEE,UAAUC,EAAE1nB,OAAOC,eAAeynB,EAAExmB,UAAU,cAAc,CAACf,IAAI,WAAW,OAAOlB,KAAK0oB,aAAaG,QAAQC,IAAI,eAAe,IAAIC,EAAE,GAAGhoB,OAAOC,eAAe+nB,EAAE,aAAa,CAACznB,OAAM,IAAKynB,EAAEC,KAAKD,EAAEE,UAAUF,EAAExE,KAAKwE,EAAEG,MAAMH,EAAEzN,OAAOyN,EAAE/G,cAAS,EAAO+G,EAAE/G,SAAS,SAASzgB,EAAE4F,GAAG,OAAO,IAAI5F,EAAEgK,QAAQpE,IAAI4hB,EAAEzN,OAAO,SAAS/Z,EAAE4F,GAAG,OAAO5F,EAAEub,OAAOvb,EAAEgK,QAAQpE,GAAG,IAAI,IAAIgiB,EAAE,SAAS5nB,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGP,EAAEoP,KAAKxP,GAAG,OAAOI,GAAGwnB,EAAEG,MAAMC,EAAEJ,EAAExE,KAAK,SAAShjB,GAAG,OAAO4nB,EAAE,GAAG5nB,IAAI,IAAI6nB,EAAE,SAAS7nB,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEP,EAAE6D,OAAOtD,IAAI,GAAGqF,EAAE5F,EAAEO,GAAGA,EAAEP,GAAG,OAAOO,EAAE,OAAO,GAAGinB,EAAEE,UAAUG,EAAEL,EAAEC,KAAK,SAASznB,EAAE4F,GAAG,OAAO5F,EAAE6nB,EAAE7nB,EAAE4F,KAAK,IAAIkiB,EAAE,GAAG,SAASC,GAAG/nB,GAAG,OAAO+nB,GAAG,mBAAmBloB,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAG,SAASgoB,GAAGhoB,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAASqoB,GAAGjoB,EAAE4F,GAAG,OAAOqiB,GAAGzoB,OAAO0oB,gBAAgB,SAASloB,EAAE4F,GAAG,OAAO5F,EAAEmoB,UAAUviB,EAAE5F,IAAIA,EAAE4F,GAAG,SAASwiB,GAAGpoB,GAAG,IAAI4F,EAAE,WAAW,GAAG,oBAAoByiB,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOC,KAAK/nB,UAAUmK,SAAS5L,KAAKopB,QAAQC,UAAUG,KAAK,IAAG,iBAAiB,EAAG,MAAMzoB,GAAG,OAAM,GAApP,GAA2P,OAAO,WAAW,IAAIO,EAAEX,EAAEyE,GAAGrE,GAAG,GAAG4F,EAAE,CAAC,IAAIrG,EAAE8E,GAAG5F,MAAMqO,YAAYvM,EAAE8nB,QAAQC,UAAU1oB,EAAE2M,UAAUhN,QAAQgB,EAAEX,EAAE0M,MAAM7N,KAAK8N,WAAW,OAAOmc,GAAGjqB,KAAK8B,IAAI,SAASmoB,GAAG1oB,EAAE4F,GAAG,OAAOA,GAAG,WAAWmiB,GAAGniB,IAAI,mBAAmBA,EAAE,SAAS5F,GAAG,QAAG,IAASA,EAAE,MAAM,IAAI2oB,eAAe,6DAA6D,OAAO3oB,EAAvH,CAA0HA,GAAG4F,EAAE,SAASvB,GAAGrE,GAAG,OAAOqE,GAAG7E,OAAO0oB,eAAe1oB,OAAO6B,eAAe,SAASrB,GAAG,OAAOA,EAAEmoB,WAAW3oB,OAAO6B,eAAerB,KAAKA,GAAGR,OAAOC,eAAeqoB,EAAE,aAAa,CAAC/nB,OAAM,IAAK+nB,EAAEc,eAAU,EAAO,IAAI3kB,GAAG,SAASjE,IAAI,SAASA,EAAE4F,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAImF,UAAU,sDAAsD/K,EAAEU,UAAUlB,OAAOY,OAAOwF,GAAGA,EAAElF,UAAU,CAACoM,YAAY,CAAC/M,MAAMC,EAAEmV,UAAS,EAAGD,cAAa,KAAMtP,GAAGqiB,GAAGjoB,EAAE4F,GAAhO,CAAoO9G,EAAEkB,GAAG,IAAI4F,EAAErF,EAAEX,EAAEL,EAAE6oB,GAAGtpB,GAAG,SAASA,EAAEkB,EAAE4F,EAAErF,GAAG,IAAIX,GAAG,SAASI,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKK,IAAIc,EAAEL,EAAEN,KAAKR,KAAKmH,EAAEuhB,eAAeT,YAAO,EAAO9mB,EAAEipB,cAAS,EAAOjpB,EAAEkpB,eAAU,EAAOlpB,EAAEmpB,mBAAc,EAAOnpB,EAAE4d,eAAU,EAAO5d,EAAEqlB,eAAU,EAAOrlB,EAAEynB,oBAAmB,EAAGznB,EAAEwnB,6BAA4B,EAAG,IAAI1jB,EAAE,cAAcnD,EAAEP,EAAEgpB,KAAKhpB,EAAE8c,IAAIjc,EAAE6C,EAAE+C,QAAQ1H,EAAE2E,EAAEmlB,SAAS,OAAOjpB,EAAEoJ,KAAKzI,EAAEX,EAAE8mB,OAAO7lB,EAAEjB,EAAE+mB,cAAc9lB,EAAEjB,EAAEipB,SAAS9pB,EAAEa,EAAEkpB,UAAUljB,EAAEhG,EAAEmpB,cAAcnjB,EAAE8gB,OAAO9mB,EAAE4d,UAAU5X,EAAE+X,aAAa/d,EAAEqlB,UAAUrf,EAAEqf,UAAUrlB,EAAE,OAAOgG,EAAE9G,GAAGyB,EAAE,CAAC,CAACF,IAAI,SAASN,MAAM,WAAW,IAAIC,EAAEvB,KAAKmH,EAAEnH,KAAK0oB,aAAa8B,UAAU,GAAG,iBAAiBxqB,KAAKuK,MAAMvK,KAAKoqB,UAAUjjB,EAAEkX,IAAI+L,WAAWpqB,KAAKoqB,UAAUjjB,EAAEkX,IAAIrW,UAAUhI,KAAKioB,OAAO,GAAG9gB,EAAEojB,KAAKH,SAASpqB,KAAKoqB,SAASjjB,EAAEojB,KAAKviB,QAAQhI,KAAKioB,OAAO9gB,EAAEsjB,UAAS,EAAGtjB,EAAEujB,OAAOC,MAAM,KAAK3qB,KAAK4qB,2BAA2B,iBAAiB5qB,KAAKuK,KAAK,CAAC,IAAIzI,EAAEqF,EAAE0jB,YAAY1pB,EAAE4nB,EAAEE,UAAUnnB,GAAE,SAAUqF,GAAG,IAAIrF,EAAEqF,EAAEijB,SAASjpB,EAAEgG,EAAEa,QAAQ,OAAOlG,IAAIP,EAAE6oB,UAAUjpB,IAAII,EAAE0mB,UAAU9gB,EAAE0jB,YAAY/N,OAAO3b,EAAE,GAAG,IAAIL,EAAE,IAAIT,EAAE8G,EAAEnH,KAAKqqB,UAAU,kBAAkBvpB,EAAEspB,SAASpqB,KAAKoqB,SAAStpB,EAAEmnB,OAAOjoB,KAAKioB,OAAOjoB,KAAKoqB,SAASU,KAAKhqB,QAAQd,KAAKoqB,SAASU,KAAK,IAAIzqB,EAAE8G,EAAEnH,KAAKqqB,UAAU,gBAAgB,CAACzoB,IAAI,iBAAiBN,MAAM,cAAc,CAACM,IAAI,kBAAkBN,MAAM,WAAWtB,KAAK4oB,oBAAmB,IAAK,CAAChnB,IAAI,2BAA2BN,MAAM,WAAWtB,KAAK2oB,4BAA4B3oB,KAAK4oB,oBAAmB,OAAQW,GAAGpiB,EAAElF,UAAUH,GAAGX,GAAGooB,GAAGpiB,EAAEhG,GAAGd,EAA3rD,CAA8rDioB,EAAEE,WAAWa,EAAEc,UAAU3kB,GAAG,IAAIulB,GAAG,GAAG,SAASlX,GAAGtS,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEP,EAAEgE,QAAQH,OAAOtD,IAAI,CAAC,IAAIX,EAAEI,EAAEgE,QAAQzD,GAAGhB,EAAEK,EAAEipB,SAAS/pB,EAAEc,EAAE6G,QAAQb,EAAEijB,SAAStpB,EAAEqG,EAAE8gB,OAAO5nB,EAAES,EAAEgqB,KAAK3jB,GAAGA,EAAEyhB,mBAAmBzhB,EAAEwhB,6BAA4B,GAAI,SAASqC,GAAGzpB,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,SAASP,EAAE4F,GAAG,IAAI,IAAIrF,EAAEP,EAAE0pB,cAAc9pB,EAAE,GAAGL,EAAE,EAAEA,EAAEgB,EAAEyO,KAAKnL,OAAOtE,IAAI,CAAC,IAAImE,EAAEnD,EAAEyO,KAAKzP,GAAG,GAAGmE,EAAEwC,QAAQyjB,KAAK9L,QAAQ,CAAC,IAAIhd,EAAE6C,EAAEwC,QAAQyjB,KAAKC,OAAO,KAAK9qB,EAAEoG,QAAQuB,QAAQ5F,IAAIA,IAAI+E,GAAG9G,EAAEoG,QAAQwI,OAAO7M,KAAKyf,EAAEK,gBAAgB/a,EAAE/E,IAAI/B,EAAEoG,QAAQiX,KAAKtb,KAAKA,EAAE,CAACgoB,SAASnlB,EAAEmmB,iBAAiBjkB,KAAK,IAAI,IAAI7G,EAAED,EAAEoG,QAAQwI,OAAOhK,EAAEgjB,QAAQhjB,EAAEomB,SAASC,iBAAiBrmB,EAAEgjB,QAAQ5nB,EAAEoG,QAAQuX,MAAM/Y,EAAEgjB,QAAQhjB,EAAEgjB,OAAO,CAAChjB,EAAEgjB,QAAQ1K,EAAE,EAAEA,EAAEjd,EAAE8E,OAAOmY,IAAI,CAAC,IAAI7c,EAAEJ,EAAEid,GAAG7c,IAAIyG,GAAGhG,EAAEwP,KAAK,CAACyZ,SAASnlB,EAAE+C,QAAQtH,MAAM,OAAOS,EAA5d,CAA+dI,EAAE4F,GAAGhG,EAAE,EAAEA,EAAEW,EAAEsD,OAAOjE,IAAI,CAAC,IAAIL,EAAEgB,EAAEX,GAAGL,EAAEyqB,KAAKzqB,EAAEspB,SAASjG,QAAQrjB,EAAEkH,SAAS,OAAOlG,EAAE,SAAS0pB,GAAGjqB,EAAE4F,EAAErF,GAAG,IAAI,IAAIX,EAAEI,EAAEipB,UAAU1pB,EAAES,EAAE2d,aAAa7e,EAAEkB,EAAEyG,QAAQ/C,EAAE,GAAG7C,EAAE,EAAEA,EAAEjB,EAAE0pB,YAAYzlB,OAAOhD,IAAI,CAAC,IAAI9B,EAAEa,EAAE0pB,YAAYzoB,GAAGmb,EAAEjd,EAAE8pB,SAAS1pB,EAAEJ,EAAE0H,QAAQd,EAAE5G,EAAEirB,KAAKtmB,EAAE0L,KAAK4M,EAAEkO,UAAUtkB,EAAErF,EAAEhB,EAAET,EAAEK,EAAEwG,GAAGxG,EAAE,MAAM,IAAIC,EAAEkhB,EAAEM,sBAAsBld,GAAG,OAAO9D,EAAE0pB,YAAYlqB,IAAI,KAAK,SAAS+qB,GAAGnqB,EAAE4F,EAAErF,GAAG,IAAIX,EAAEI,EAAEipB,UAAU1pB,EAAE,CAAC6pB,MAAM,KAAKgB,MAAM,KAAKC,SAAS,KAAKC,WAAW,KAAK/L,KAAK,KAAKoL,KAAK,MAAM,MAAM,cAAcppB,EAAEyI,OAAOzJ,EAAE8qB,SAAS,IAAIvC,EAAEc,UAAUhpB,EAAEW,EAAE,gBAAgBhB,EAAE8qB,SAAS3D,OAAO,KAAKnnB,EAAE8qB,SAASxB,SAAS,MAAM,YAAYtoB,EAAEyI,OAAOzJ,EAAE+qB,WAAW,IAAIxC,EAAEc,UAAUhpB,EAAEW,EAAE,kBAAkBhB,EAAE+qB,WAAW5D,OAAO,KAAKnnB,EAAE+qB,WAAWzB,SAAS,MAAMjpB,EAAEspB,WAAWtpB,EAAEkd,IAAIrW,UAAU7G,EAAEopB,KAAKviB,UAAU7G,EAAEopB,KAAKH,WAAWtpB,EAAE6qB,MAAM,IAAItC,EAAEc,UAAUhpB,EAAEW,EAAE,aAAaA,EAAEgqB,UAAUhrB,EAAE6qB,MAAM1D,OAAO9mB,EAAEopB,KAAKviB,QAAQlG,EAAEiqB,aAAajrB,EAAE6qB,MAAMvB,SAASjpB,EAAEopB,KAAKH,UAAUjpB,EAAEkd,IAAI+L,WAAWtpB,EAAE6pB,MAAM,IAAItB,EAAEc,UAAUhpB,EAAEW,EAAE,aAAaA,EAAEkqB,UAAU7qB,EAAEkd,IAAIrW,QAAQlG,EAAEsoB,SAASjpB,EAAEkd,IAAI+L,WAAW,YAAYtoB,EAAEyI,MAAMpJ,EAAEkd,IAAI+L,WAAWtpB,EAAEoqB,KAAK,IAAI7B,EAAEc,UAAUhpB,EAAEW,EAAE,QAAQA,EAAEsoB,SAASjpB,EAAEkd,IAAI+L,SAAStoB,EAAEwoB,cAAcnpB,EAAEkd,IAAIrW,SAAS,aAAalG,EAAEyI,MAAMpJ,EAAEkd,IAAI+L,WAAWtpB,EAAEgf,KAAK,IAAIuJ,EAAEc,UAAUhpB,EAAEW,EAAE,YAAYhB,EAAEgf,KAAKmM,SAASnqB,EAAEA,EAAEsoB,SAASjpB,EAAEkd,IAAI+L,WAAWtpB,EAAE,SAASorB,GAAG3qB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAEipB,UAAUrpB,EAAEW,EAAE+oB,YAAY/pB,EAAEgB,EAAEuc,IAAIhe,EAAEyB,EAAEyoB,KAAKpjB,EAAEwkB,OAAOtrB,EAAE+pB,SAASU,KAAK3jB,EAAEwkB,OAAOxkB,EAAEwjB,OAAO7pB,EAAEspB,SAASU,KAAK3jB,EAAEwjB,OAAOxjB,EAAE2Y,MAAMhf,EAAEspB,SAASU,KAAK3jB,EAAE2Y,MAAM3Y,EAAE+jB,MAAMpqB,EAAEspB,SAASU,KAAK3jB,EAAE+jB,MAAM/jB,EAAE0kB,YAAYhY,GAAG1S,EAAEgG,EAAE0kB,YAAY/pB,EAAEyoB,KAAKH,SAAStpB,EAAEspB,SAAStoB,EAAEyoB,KAAKviB,QAAQlH,EAAEkH,QAAQ,SAASmkB,GAAG5qB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEmd,OAAO5d,EAAES,EAAEwL,MAAM,GAAG,aAAa5L,EAAEoJ,MAAM,YAAYpJ,EAAEoJ,KAAK,CAAC,IAAIlK,EAAEyB,EAAE0oB,UAAUrjB,EAAEilB,cAAc/rB,EAAEwqB,YAAYG,GAAG7jB,EAAErF,EAAEkG,UAAU,IAAI/C,EAAE9D,EAAEiB,EAAEopB,GAAG1pB,EAAEmD,EAAEnE,GAAGT,EAAEoqB,SAASpqB,EAAEoqB,YAAYroB,GAAGA,EAAEgoB,WAAW/pB,EAAEge,IAAI+L,UAAUhoB,EAAE4F,UAAU3H,EAAEge,IAAIrW,QAAQ3H,EAAEge,IAAI+L,SAAShoB,GAAGA,EAAEgoB,SAAS/pB,EAAEge,IAAIrW,QAAQ5F,GAAGA,EAAE4F,QAAQ3H,EAAEqqB,OAAOgB,GAAG5pB,EAAE,EAAEmD,IAAIlE,OAAOC,eAAe+pB,GAAG,aAAa,CAACzpB,OAAM,IAAKypB,GAAGtkB,aAAQ,EAAO,IAAI4lB,GAAG,CAAC3b,GAAG,eAAe8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEqd,QAAQ9c,EAAEP,EAAE+qB,eAAenrB,EAAEI,EAAEsd,aAAa/d,EAAES,EAAEud,SAASvd,EAAEgrB,UAAU7rB,EAAE+F,SAAStF,EAAEc,UAAUmoB,SAAS,SAAS7oB,GAAG,OAAO,SAASA,EAAE4F,GAAG,GAAG9G,EAAEoG,QAAQ1E,OAAOoF,GAAG,CAAC,GAAG5F,EAAEkG,QAAQyjB,KAAK9L,SAAQ,IAAKjY,EAAEiY,QAAQjY,EAAE0V,UAAU,CAAC,IAAI/a,GAAE,EAAG+iB,EAAEpe,SAASU,EAAE0V,WAAW1b,EAAEJ,OAAOgC,KAAKjB,GAAGmjB,QAAO,SAAU1jB,EAAE4F,GAAG,OAAO5F,EAAE,iBAAiBiZ,KAAKrT,GAAG,OAAO4I,OAAO5I,GAAG,8BAA8BqT,KAAKrT,GAAG,OAAO4I,OAAO5I,GAAGA,GAAGrF,EAAEqF,GAAG5F,IAAI,IAAIA,EAAEirB,IAAIjrB,EAAEkG,QAAQyjB,KAAKrO,WAAWtb,EAAEkrB,GAAGtrB,GAAGI,EAAEkG,QAAQyjB,KAAKrO,UAAU1b,EAAE,OAAOd,EAAEoG,QAAQiX,KAAKvW,EAAEulB,SAASnrB,EAAEkrB,GAAG,OAAOtlB,EAAEulB,QAAQrsB,EAAEoG,QAAQiX,KAAKvW,EAAEwlB,iBAAiBprB,EAAEkrB,GAAG,eAAetlB,EAAEwlB,gBAAgBtsB,EAAEoG,QAAQiX,KAAKvW,EAAEylB,mBAAmBrrB,EAAEkrB,GAAG,iBAAiBtlB,EAAEylB,kBAAkBvsB,EAAEoG,QAAQiX,KAAKvW,EAAE0lB,cAActrB,EAAEkrB,GAAG,YAAYtlB,EAAE0lB,aAAaxsB,EAAEoG,QAAQiX,KAAKvW,EAAE2lB,cAAcvrB,EAAEkrB,GAAG,YAAYtlB,EAAE2lB,aAAazsB,EAAEoG,QAAQiX,KAAKvW,EAAE4lB,aAAaxrB,EAAEkrB,GAAG,WAAWtlB,EAAE4lB,YAAY,qBAAqBvS,KAAKrT,EAAE6lB,SAASzrB,EAAEkG,QAAQyjB,KAAK8B,QAAQ7lB,EAAE6lB,QAAQ3sB,EAAEoG,QAAQkX,OAAOxW,EAAE6lB,WAAWzrB,EAAEkG,QAAQyjB,KAAK8B,QAAQzU,KAAKoO,IAAIpO,KAAKiP,IAAI,EAAErgB,EAAE6lB,SAAS,IAAI,WAAW7lB,IAAI5F,EAAEkG,QAAQyjB,KAAKC,OAAOhkB,EAAEgkB,QAAQ,YAAYhkB,IAAI5F,EAAEkG,QAAQyjB,KAAK+B,QAAQ9lB,EAAE8lB,SAAS1rB,EAAE,OAAGlB,EAAEoG,QAAQmX,KAAKzW,IAAU5F,EAAEkG,QAAQyjB,KAAK9L,QAAQjY,EAAE5F,GAASA,EAAEkG,QAAQyjB,KAAjjC,CAAujClrB,KAAKuB,IAAIJ,EAAEc,UAAUwpB,UAAU,SAASlqB,EAAE4F,EAAErF,EAAEX,EAAEL,EAAEmE,GAAG,OAAO,SAAS1D,EAAE4F,EAAErF,EAAEX,EAAEL,EAAEmE,EAAE7C,GAAG,IAAI9B,GAAE,EAAG,KAAK8B,EAAEA,GAAGb,EAAE4iB,QAAQlf,IAAI,QAAQ1D,EAAEkG,QAAQyjB,KAAK+B,SAAS1rB,EAAEkG,QAAQyjB,KAAK+B,QAAQ9lB,EAAErF,EAAExB,EAAEiB,EAAE0D,EAAE9D,EAAEL,GAAG,IAAIyc,EAAEhc,EAAEkG,QAAQyjB,KAAK8B,QAAQ,GAAG,YAAYzP,EAAE,CAAC,IAAI7c,GAAE,EAAG2Y,EAAE5S,SAAStF,EAAEL,EAAE,QAAQoG,EAAEue,EAAEsB,UAAU5f,GAAGD,EAAEkP,GAAG1V,EAAE0V,EAAElP,EAAEmP,GAAG3V,EAAE2V,EAAE,IAAI1V,EAAEuG,EAAEkP,EAAEhU,EAAE6gB,MAAM/b,EAAEkP,EAAEhU,EAAE8gB,MAAM/gB,EAAE+E,EAAEmP,EAAEjU,EAAE+gB,KAAKjc,EAAEmP,EAAEjU,EAAEghB,OAAO9iB,EAAEK,GAAGwB,EAAE,IAAIuJ,EAAEvK,EAAEgjB,QAAQrjB,GAAG,GAAG4K,GAAG,WAAW6R,EAAE,CAAC,IAAI3K,EAAElH,EAAEuX,KAAKvX,EAAEvC,MAAM,EAAE6W,EAAEtU,EAAEyX,IAAIzX,EAAErC,OAAO,EAAE/I,EAAEsS,GAAGxQ,EAAE6gB,MAAMrQ,GAAGxQ,EAAE8gB,OAAOlD,GAAG5d,EAAE+gB,KAAKnD,GAAG5d,EAAEghB,OAAO,GAAG1X,GAAGrL,EAAEoG,QAAQkX,OAAOJ,GAAG,CAAC,IAAIlH,EAAEkC,KAAKoO,IAAI,EAAEpO,KAAKiP,IAAIplB,EAAE8gB,MAAMxX,EAAEwX,OAAO3K,KAAKoO,IAAIvkB,EAAE6gB,KAAKvX,EAAEuX,OAAO1K,KAAKoO,IAAI,EAAEpO,KAAKiP,IAAIplB,EAAEghB,OAAO1X,EAAE0X,QAAQ7K,KAAKoO,IAAIvkB,EAAE+gB,IAAIzX,EAAEyX,OAAOzX,EAAEvC,MAAMuC,EAAErC,QAAQ/I,EAAE+V,GAAGkH,EAAoE,OAAlEhc,EAAEkG,QAAQyjB,KAAK+B,UAAU3sB,EAAEiB,EAAEkG,QAAQyjB,KAAK+B,QAAQ9lB,EAAErF,EAAExB,EAAEiB,EAAE0D,EAAE9D,EAAEL,IAAWR,EAAhrB,CAAmrBN,KAAKuB,EAAE4F,EAAErF,EAAEX,EAAEL,EAAEmE,IAAInD,EAAEsqB,YAAY,SAASjlB,GAAG,OAAO9G,EAAEoG,QAAQmX,KAAKzW,IAAI5F,EAAE6qB,YAAYjlB,EAAErF,GAAGP,EAAE6qB,cAAa,EAAGnR,EAAExU,SAASU,EAAE+lB,eAAe,CAACC,WAAU,EAAGC,WAAU,EAAGC,cAAa,EAAGC,gBAAe,EAAGC,UAAS,EAAGrC,MAAK,IAAK/jB,EAAE8X,WAAWiM,KAAK,WAAW3pB,EAAE6qB,aAAY,EAAGtrB,EAAE8d,QAAQsM,KAAKmB,GAAGvN,UAAUjC,UAAU,CAAC,mCAAmC,SAAStb,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY,SAAS9W,EAAE+W,SAAStd,OAAOuG,EAAEqjB,UAAU,CAACnM,IAAI,CAAC+L,SAAS,KAAKpiB,QAAQ,MAAMuiB,KAAK,CAACH,SAAS,KAAKpiB,QAAQ,MAAMyiB,SAAS,KAAKC,OAAO,KAAKG,YAAY,MAAM,kCAAkC,SAAStpB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,GAAGI,EAAEwL,MAAMxL,EAAEmd,QAAQ,GAAG,SAAS5c,EAAEoc,SAAStd,KAAK,CAAC,IAAIE,EAAEgB,EAAE0oB,UAAU1pB,EAAE+pB,YAAY,KAAK/pB,EAAE4pB,OAAO,KAAK5pB,EAAE+pB,YAAYG,GAAG7jB,EAAErF,EAAEkG,SAASlH,EAAE4pB,OAAOgB,GAAG5pB,EAAE,EAAEX,GAAGL,EAAE4pB,OAAOkB,WAAW/X,GAAG/S,EAAE+pB,YAAY/pB,EAAE4pB,OAAOkB,UAAUzkB,EAAE2jB,KAAK,qBAAqB,CAAC7M,YAAYnc,EAAEuoB,UAAUlpB,OAAO,2BAA2BgrB,GAAG,iCAAiC,SAAS5qB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEmd,OAAO,SAAS5c,EAAEoc,SAAStd,OAAOsrB,GAAGpqB,EAAEA,EAAE0oB,UAAUE,QAAQvjB,EAAE2jB,KAAK,oBAAoB,CAAC7M,YAAYnc,EAAEuoB,UAAUlpB,IAAIW,EAAE0oB,UAAUE,OAAO,KAAK,0BAA0B,SAASnpB,EAAE4F,GAAG,GAAG,SAAS5F,EAAE0c,YAAYC,SAAStd,KAAK,CAAC,IAAIkB,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEmd,OAAOyN,GAAG5qB,EAAE4F,GAAG+kB,GAAGpqB,EAAEA,EAAE0oB,UAAUE,QAAQvjB,EAAE2jB,KAAK,mBAAmB,CAAC7M,YAAYnc,EAAEuoB,UAAUlpB,MAAM,oBAAoB,SAASI,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY,GAAG,SAAS9W,EAAE+W,SAAStd,KAAK,CAAC,IAAIkB,EAAEqF,EAAEqjB,UAAU1oB,IAAIA,EAAE+oB,YAAY,KAAK/oB,EAAE4oB,OAAO,KAAK5oB,EAAEuc,IAAI+L,SAAS,KAAKtoB,EAAEuc,IAAIrW,QAAQ,KAAKlG,EAAEyoB,KAAKH,SAAS,KAAKtoB,EAAEyoB,KAAKviB,QAAQ,KAAKlG,EAAE2oB,UAAS,MAAO+C,eAAexC,GAAGyC,QAAQjC,GAAGkC,cAAchC,GAAGiC,eAAezB,GAAGpN,SAAS,CAACM,SAAQ,EAAG+L,OAAO,KAAK6B,QAAQ,YAAYY,GAAGvB,GAAGtB,GAAGtkB,QAAQmnB,GAAG,IAAI9Z,GAAG,GAAG,SAAS+Z,GAAGtsB,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEmd,OAAOvd,EAAEI,EAAEusB,MAAM,GAAG,YAAY3mB,EAAE+W,SAAStd,KAAK,CAAC,IAAIE,EAAEqG,EAAE4mB,SAASne,KAAI,SAAUrO,GAAG,OAAOA,EAAEysB,WAAW/oB,EAAE,UAAU9D,EAAEiB,EAAE,QAAQjB,EAAEb,EAAE6G,EAAE+X,aAAazX,QAAQwmB,YAAY,GAAGnsB,EAAEgkB,QAAQ,CAAChlB,EAAE,GAAGA,EAAE,IAAImE,EAAEnD,EAAEosB,SAASzI,EAAEgC,cAAc3mB,EAAER,GAAGwB,EAAEqsB,IAAI1I,EAAE8B,UAAUzmB,GAAGgB,EAAEssB,MAAM,EAAEtsB,EAAEusB,GAAG,EAAEvsB,EAAEwsB,MAAM7I,EAAEiC,WAAW5mB,EAAER,GAAGwB,EAAEysB,GAAG,EAAEpnB,EAAEqnB,QAAQC,cAAc3sB,EAAEosB,SAAS/mB,EAAEqnB,QAAQE,WAAW5sB,EAAEwsB,WAAW,GAAGlsB,EAAE,CAAC,IAAImb,EAAEpW,EAAEwnB,UAAU7sB,EAAEosB,SAAS3Q,EAAE2Q,SAASpsB,EAAEqsB,IAAI5Q,EAAE4Q,IAAIrsB,EAAEssB,MAAM7Q,EAAE6Q,MAAMtsB,EAAEusB,GAAG,EAAEvsB,EAAEwsB,MAAM/Q,EAAE+Q,MAAMxsB,EAAEysB,GAAG,OAAOzsB,EAAEosB,SAASzI,EAAEgC,cAAc3mB,EAAER,GAAGwB,EAAEqsB,IAAI1I,EAAE8B,UAAUzmB,GAAGgB,EAAEssB,MAAMtsB,EAAEosB,SAAS/mB,EAAEqnB,QAAQC,cAAc3sB,EAAEwsB,MAAM7I,EAAEiC,WAAW5mB,EAAER,GAAGwB,EAAEusB,GAAGvsB,EAAEssB,MAAMjnB,EAAEqnB,QAAQJ,MAAMtsB,EAAEysB,GAAGzsB,EAAEwsB,MAAMnnB,EAAEqnB,QAAQF,MAAMnnB,EAAEqnB,QAAQN,SAASpsB,EAAEosB,SAAS/mB,EAAEqnB,QAAQF,MAAMxsB,EAAEwsB,MAAMjuB,EAAEoG,QAAQkX,OAAO7b,EAAEssB,QAAQtsB,EAAEssB,QAAQ,MAAM3V,MAAM3W,EAAEssB,SAASjnB,EAAEqnB,QAAQJ,MAAMtsB,EAAEssB,QAAQrtB,OAAOC,eAAe8S,GAAG,aAAa,CAACxS,OAAM,IAAKwS,GAAGrN,aAAQ,EAAO,IAAImoB,GAAG,CAACle,GAAG,kBAAkBme,OAAO,CAAC,eAAe,kBAAkBra,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEqd,QAAQ9c,EAAEP,EAAEsd,aAAa1d,EAAEI,EAAEud,SAAShd,EAAEG,UAAU6sB,WAAW,SAASvtB,GAAG,OAAOlB,EAAEoG,QAAQ1E,OAAOR,IAAIvB,KAAKyH,QAAQ+mB,QAAQpP,SAAQ,IAAK7d,EAAE6d,QAAQpf,KAAK2f,aAAa,UAAUpe,GAAGvB,KAAK4f,YAAY,UAAUre,GAAGvB,MAAMK,EAAEoG,QAAQmX,KAAKrc,IAAIvB,KAAKyH,QAAQ+mB,QAAQpP,QAAQ7d,EAAEvB,MAAMA,KAAKyH,QAAQ+mB,SAASrnB,EAAEyI,IAAI4e,QAAQI,GAAGznB,EAAE8X,WAAWuP,QAAQ,aAAartB,EAAEyd,QAAQ4P,QAAQI,GAAG9P,UAAUjC,UAAU,CAAC,4BAA4BgR,GAAG,2BAA2BA,GAAG,0BAA0BA,GAAG,mBAAmB,SAAStsB,GAAGA,EAAE0c,YAAYuQ,QAAQ,CAACF,MAAM,EAAEJ,SAAS,EAAEE,MAAM,EAAEM,WAAW,EAAED,cAAc,IAAI,mBAAmB,SAASltB,GAAG,KAAKA,EAAE0c,YAAY8P,SAAS3oB,OAAO,GAAG,CAAC,IAAI+B,EAAE5F,EAAE2d,aAAazX,QAAQ+mB,QAAQ,GAAGrnB,GAAGA,EAAEiY,QAAQ,OAAO7d,EAAEie,OAAO,CAAC5e,KAAK,YAAW,KAAMke,SAAS,GAAGiB,UAAU,WAAW,MAAM,KAAKgP,GAAGH,GAAG9a,GAAGrN,QAAQsoB,GAAG,IAAIC,GAAG,GAAG,SAASC,GAAG1tB,EAAE4F,EAAErF,EAAEX,EAAEL,EAAEmE,EAAE7C,GAAG,IAAI+E,EAAE,OAAM,EAAG,IAAG,IAAKA,EAAE,CAAC,IAAI7G,EAAED,EAAEoG,QAAQkX,OAAO1Y,EAAEkE,OAAOlE,EAAEkE,MAAMlE,EAAEie,MAAMje,EAAEge,KAAK1F,EAAEld,EAAEoG,QAAQkX,OAAO1Y,EAAEoE,QAAQpE,EAAEoE,OAAOpE,EAAEme,OAAOne,EAAEke,IAAI,GAAG/gB,EAAEmW,KAAKiP,IAAIplB,EAAEmW,KAAK2W,KAAK,SAAS3tB,GAAG,UAAUA,EAAEjB,EAAEid,GAAG,IAAIjd,EAAE,IAAI,SAASiB,EAAEA,EAAE,QAAQ,UAAUA,IAAIA,EAAE,SAASgc,EAAE,IAAI,QAAQhc,EAAEA,EAAE,SAAS,WAAWA,IAAIA,EAAE,QAAQ,SAASA,EAAE,OAAOO,EAAEsU,GAAG9V,GAAG,EAAE2E,EAAEge,KAAKhe,EAAEie,OAAO9gB,EAAE,GAAG,QAAQb,EAAE,OAAOO,EAAEuU,GAAGkH,GAAG,EAAEtY,EAAEke,IAAIle,EAAEme,QAAQhhB,EAAE,GAAG,UAAUb,EAAE,OAAOO,EAAEsU,GAAG9V,GAAG,EAAE2E,EAAEie,MAAMje,EAAEge,MAAM7gB,EAAE,GAAG,WAAWb,EAAE,OAAOO,EAAEuU,GAAGkH,GAAG,EAAEtY,EAAEme,OAAOne,EAAEke,KAAK/gB,EAAE,QAAQ/B,EAAEoG,QAAQuB,QAAQ7G,KAAKd,EAAEoG,QAAQuB,QAAQb,GAAGA,IAAIhG,EAAE0gB,EAAEa,YAAYvhB,EAAEgG,EAAErG,IAAI,SAASgV,GAAGvU,GAAG,IAAI4F,EAAE5F,EAAEmd,OAAO5c,EAAEP,EAAE0c,YAAY,GAAG,WAAWnc,EAAEoc,SAAStd,MAAMkB,EAAEqtB,WAAW,CAAC,IAAIhuB,EAAEgG,EAAErF,EAAEod,aAAazX,QAAQ2nB,OAAOC,QAAQ,MAAMvtB,EAAEqtB,WAAWhuB,EAAEwd,MAAMvI,EAAEjV,EAAEwd,MAAMtI,EAAElV,EAAEwd,MAAMtI,EAAElV,EAAEwd,MAAMvI,EAAEjV,EAAEmuB,KAAK,OAAOnuB,EAAEmuB,KAAKxtB,EAAEqtB,WAAW,MAAMrtB,EAAEqtB,WAAWhuB,EAAEwd,MAAMtI,EAAE,EAAE,MAAMvU,EAAEqtB,aAAahuB,EAAEwd,MAAMvI,EAAE,KAAKrV,OAAOC,eAAeguB,GAAG,aAAa,CAAC1tB,OAAM,IAAK0tB,GAAGvoB,aAAQ,EAAO,IAAI8oB,GAAG,CAAC7e,GAAG,iBAAiBme,OAAO,CAAC,gBAAgBra,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEqd,QAAQ9c,EAAEP,EAAEiuB,QAAQruB,EAAEI,EAAEsd,aAAa/d,EAAES,EAAEud,SAASyQ,GAAGE,QAAQ,SAASluB,GAAG,OAAOA,EAAE2f,MAAM,CAAC9K,EAAE,WAAWC,EAAE,WAAWqZ,GAAG,YAAYvM,IAAI,WAAWF,KAAK,WAAWG,OAAO,WAAWF,MAAM,WAAWyM,QAAQ,YAAYC,YAAY,YAAYC,SAAS,YAAYC,WAAW,aAAa,CAAC1Z,EAAE,YAAYC,EAAE,YAAYqZ,GAAG,cAAcvM,IAAI,YAAYF,KAAK,YAAYG,OAAO,YAAYF,MAAM,YAAYyM,QAAQ,cAAcC,YAAY,cAAcC,SAAS,cAAcC,WAAW,eAAta,CAAsbhuB,GAAGytB,GAAGQ,cAAcjuB,EAAE4e,eAAe5e,EAAE8e,qBAAqB,GAAG,GAAGzf,EAAEc,UAAU+tB,UAAU,SAAS7oB,GAAG,OAAO,SAAS5F,EAAE4F,EAAErF,GAAG,OAAGzB,EAAEoG,QAAQ1E,OAAOoF,IAAU5F,EAAEkG,QAAQ2nB,OAAOhQ,SAAQ,IAAKjY,EAAEiY,QAAQ7d,EAAEoe,aAAa,SAASxY,GAAG5F,EAAEqe,YAAY,SAASzY,GAAG9G,EAAEoG,QAAQwI,OAAO9H,EAAEgX,OAAO,eAAe3D,KAAKrT,EAAEgX,MAAM5c,EAAEkG,QAAQ2nB,OAAOjR,KAAKhX,EAAEgX,KAAK,OAAOhX,EAAEgX,OAAO5c,EAAEkG,QAAQ2nB,OAAOjR,KAAKrc,EAAEgd,SAASF,QAAQwQ,OAAOjR,MAAM9d,EAAEoG,QAAQmX,KAAKzW,EAAE8oB,qBAAqB1uB,EAAEkG,QAAQ2nB,OAAOa,oBAAoB9oB,EAAE8oB,oBAAoB5vB,EAAEoG,QAAQmX,KAAKzW,EAAEkoB,UAAU9tB,EAAEkG,QAAQ2nB,OAAOC,OAAOloB,EAAEkoB,QAAQ9tB,GAAKlB,EAAEoG,QAAQmX,KAAKzW,IAAU5F,EAAEkG,QAAQ2nB,OAAOhQ,QAAQjY,EAAE5F,GAASA,EAAEkG,QAAQ2nB,OAA9gB,CAAshBpvB,KAAKmH,EAAE5F,IAAI4F,EAAEyI,IAAIwf,OAAOG,GAAGpoB,EAAE8X,WAAWmQ,OAAO,YAAYtuB,EAAE8d,QAAQwQ,OAAOG,GAAGzQ,UAAUjC,UAAU,CAAC,mBAAmB,SAAStb,GAAGA,EAAE0c,YAAYkR,WAAW,MAAM,4BAA4B,SAAS5tB,IAAI,SAASA,GAAG,IAAI4F,EAAE5F,EAAEmd,OAAO5c,EAAEP,EAAE0c,YAAY,GAAG,WAAWnc,EAAEoc,SAAStd,MAAMkB,EAAEoc,SAASgS,MAAM,CAAC,IAAI/uB,EAAEgG,EAAErG,EAAEgB,EAAEypB,KAAKzpB,EAAEquB,OAAO,CAAC5R,OAAM,EAAGtD,EAAExU,SAAS,GAAG3F,GAAGsvB,WAAU,EAAGnV,EAAExU,SAAS,GAAG3F,GAAGuvB,UAAS,EAAGpV,EAAExU,SAAS,GAAG3F,GAAG6d,MAAM,CAACsE,KAAK,EAAEC,MAAM,EAAE/Z,MAAM,EAAEga,IAAI,EAAEC,OAAO,EAAE/Z,OAAO,IAAIlI,EAAE+uB,MAAMpuB,EAAEoc,SAASgS,MAAM/uB,EAAEoqB,KAAKzpB,EAAEquB,OAAOC,UAAUjvB,EAAEmvB,UAAUxuB,EAAEquB,OAAOxR,OAA5U,CAAoVpd,GAAGuU,GAAGvU,IAAI,2BAA2B,SAASA,IAAI,SAASA,GAAG,IAAI4F,EAAE5F,EAAEmd,OAAO5c,EAAEP,EAAE0c,YAAY,GAAG,WAAWnc,EAAEoc,SAAStd,MAAMkB,EAAEoc,SAASgS,MAAM,CAAC,IAAI/uB,EAAEgG,EAAErG,EAAEgB,EAAEod,aAAazX,QAAQ2nB,OAAOmB,OAAOlwB,EAAE,eAAeS,GAAG,WAAWA,EAAEmE,EAAEnD,EAAEypB,KAAKnpB,EAAEN,EAAEquB,OAAO7vB,EAAE8B,EAAEmc,MAAMhB,EAAEnb,EAAEguB,UAAU1vB,EAAE0B,EAAEuc,MAAMzX,EAAE9E,EAAEiuB,SAAS,IAAG,EAAGpV,EAAExU,SAASS,EAAEqW,GAAGld,GAAG,IAAG,EAAG4a,EAAExU,SAAS8W,EAAEtY,GAAG,eAAenE,EAAE,CAAC,GAAGyc,EAAE4F,IAAI5F,EAAE6F,OAAO,CAAC,IAAIziB,EAAE4c,EAAE4F,IAAI5F,EAAE4F,IAAI5F,EAAE6F,OAAO7F,EAAE6F,OAAOziB,EAAE,GAAG4c,EAAE0F,KAAK1F,EAAE2F,MAAM,CAAC,IAAI/gB,EAAEob,EAAE0F,KAAK1F,EAAE0F,KAAK1F,EAAE2F,MAAM3F,EAAE2F,MAAM/gB,SAASob,EAAE4F,IAAI5K,KAAKiP,IAAIviB,EAAEke,IAAI7iB,EAAE8iB,QAAQ7F,EAAE6F,OAAO7K,KAAKoO,IAAI1hB,EAAEme,OAAO9iB,EAAE6iB,KAAK5F,EAAE0F,KAAK1K,KAAKiP,IAAIviB,EAAEge,KAAK3iB,EAAE4iB,OAAO3F,EAAE2F,MAAM3K,KAAKoO,IAAI1hB,EAAEie,MAAM5iB,EAAE2iB,MAAM,IAAI,IAAIvX,KAAK6R,EAAEpU,MAAMoU,EAAE2F,MAAM3F,EAAE0F,KAAK1F,EAAElU,OAAOkU,EAAE6F,OAAO7F,EAAE4F,IAAI5F,EAAE7c,EAAEgL,GAAG6R,EAAE7R,GAAGxE,EAAEwE,GAAGvK,EAAE+uB,MAAMpuB,EAAEoc,SAASgS,MAAM/uB,EAAEoqB,KAAKhO,EAAEpc,EAAEmvB,UAAU5vB,GAAtqB,CAA0qBa,GAAGuU,GAAGvU,IAAI,0BAA0B,SAASA,GAAG,IAAI4F,EAAE5F,EAAEmd,OAAO5c,EAAEP,EAAE0c,YAAY,GAAG,WAAWnc,EAAEoc,SAAStd,MAAMkB,EAAEoc,SAASgS,MAAM,CAAC,IAAI/uB,EAAEgG,EAAEhG,EAAE+uB,MAAMpuB,EAAEoc,SAASgS,MAAM/uB,EAAEoqB,KAAKzpB,EAAEquB,OAAOC,UAAUjvB,EAAEmvB,UAAUxuB,EAAEquB,OAAOxR,QAAQ,mBAAmB,SAASpd,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAE2d,aAAa/d,EAAEI,EAAEyG,QAAQlH,EAAES,EAAEgqB,KAAKtmB,EAAE1D,EAAE4d,QAAQ,GAAGre,EAAE,CAAC,IAAIsB,GAAE,EAAG6Y,EAAExU,SAAS,GAAGU,EAAEiX,OAAOC,IAAIC,MAAMhe,EAAEwB,EAAE2F,QAAQ2nB,OAAO,GAAG9uB,GAAGA,EAAE8e,WAAWjY,EAAEkY,gBAAgB,gBAAgB7E,KAAKrT,EAAEmY,cAAc,IAAIra,EAAE3E,EAAEif,eAAe,CAAC,GAAGlf,EAAEoG,QAAQ1E,OAAOzB,EAAE4vB,OAAO,CAAC,IAAI3S,EAAE,CAAC0F,MAAK,EAAGC,OAAM,EAAGC,KAAI,EAAGC,QAAO,GAAI,IAAI,IAAI1iB,KAAK6c,EAAEA,EAAE7c,GAAGuuB,GAAGvuB,EAAEJ,EAAE4vB,MAAMxvB,GAAG0B,EAAE+E,EAAEqpB,eAAeC,YAAYtvB,EAAEL,EAAER,EAAEowB,QAAQnB,GAAGQ,eAAexS,EAAE0F,KAAK1F,EAAE0F,OAAO1F,EAAE2F,MAAM3F,EAAE4F,IAAI5F,EAAE4F,MAAM5F,EAAE6F,QAAQ7F,EAAE0F,MAAM1F,EAAE2F,OAAO3F,EAAE4F,KAAK5F,EAAE6F,UAAU7hB,EAAEie,OAAO,CAAC5e,KAAK,SAASsvB,MAAM3S,QAAQ,CAAC,IAAIrW,EAAE,MAAM5G,EAAE6d,MAAM/b,EAAEgU,EAAEtV,EAAEoiB,MAAMqM,GAAGQ,cAAcpvB,EAAE,MAAML,EAAE6d,MAAM/b,EAAEiU,EAAEvV,EAAEsiB,OAAOmM,GAAGQ,eAAe7oB,GAAGvG,KAAKY,EAAEie,OAAO,CAAC5e,KAAK,SAAS0uB,MAAMpoB,EAAE,IAAI,KAAKvG,EAAE,IAAI,MAAM,OAAOY,EAAEie,aAAQ,MAAWV,SAAS,CAACuQ,QAAO,EAAGY,qBAAoB,EAAG9R,KAAK,KAAKuS,OAAOC,IAAIT,MAAM,KAAKK,OAAO,QAAQd,QAAQ,KAAK1P,UAAU,SAASxe,GAAG,IAAI4F,EAAE5F,EAAE2uB,MAAMpuB,EAAEP,EAAE4c,KAAKhd,EAAEI,EAAEX,KAAKE,EAAEyuB,GAAGE,QAAQpvB,EAAE,KAAK,GAAGyB,EAAEzB,EAAES,EAAEK,EAAEW,QAAQ,GAAGqF,EAAE,CAAC,IAAI,IAAIlC,EAAE,GAAG7C,EAAE,CAAC,MAAM,SAAS,OAAO,SAAS9B,EAAE,EAAEA,EAAE8B,EAAEgD,OAAO9E,IAAI,CAAC,IAAIid,EAAEnb,EAAE9B,GAAG6G,EAAEoW,KAAKtY,GAAGsY,GAAGld,EAAES,EAAEmE,GAAG,OAAO5E,GAAG0vB,cAAc,MAAMa,GAAGrB,GAAGP,GAAGvoB,QAAQmqB,GAAG,IAAIC,GAAG,GAAG9vB,OAAOC,eAAe6vB,GAAG,aAAa,CAACvvB,OAAM,IAAKuvB,GAAGpqB,aAAQ,EAAO,IAAIqqB,GAAG,CAACpgB,GAAG,UAAU8D,QAAQ,SAASjT,GAAGA,EAAEgrB,UAAUzY,GAAGrN,SAASlF,EAAEgrB,UAAUyC,GAAGvoB,SAASlF,EAAEgrB,UAAU7rB,EAAE+F,SAASlF,EAAEgrB,UAAUxB,GAAGtkB,WAAWoqB,GAAGpqB,QAAQqqB,GAAG,IAAIC,GAAG,GAAGhwB,OAAOC,eAAe+vB,GAAG,aAAa,CAACzvB,OAAM,IAAKyvB,GAAGtqB,aAAQ,EAAOsqB,GAAGtqB,QAAQ,GAAG,IAAIuqB,GAAG,GAAGjwB,OAAOC,eAAegwB,GAAG,aAAa,CAAC1vB,OAAM,IAAK0vB,GAAGvqB,aAAQ,EAAO,IAAIwqB,GAAGC,GAAGC,GAAG,EAAMC,GAAG,CAACC,QAAQ,SAAS9vB,GAAG,OAAO0vB,GAAG1vB,IAAIogB,OAAO,SAASpgB,GAAG,OAAO2vB,GAAG3vB,IAAI0b,KAAK,SAAS1b,GAAG,GAAG0vB,GAAG1vB,EAAE+vB,sBAAsBJ,GAAG3vB,EAAEgwB,sBAAsBN,GAAG,IAAI,IAAI9pB,EAAE,CAAC,KAAK,MAAM,SAAS,KAAKrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGmvB,GAAG1vB,EAAE,GAAGwO,OAAO5O,EAAE,0BAA0B+vB,GAAG3vB,EAAE,GAAGwO,OAAO5O,EAAE,0BAA0BI,EAAE,GAAGwO,OAAO5O,EAAE,gCAAgC8vB,GAAGA,IAAIA,GAAGpvB,KAAKN,GAAG2vB,GAAGA,IAAIA,GAAGrvB,KAAKN,GAAG0vB,KAAKA,GAAG,SAAS9pB,GAAG,IAAIrF,EAAEkoB,KAAKwH,MAAMrwB,EAAEoX,KAAKoO,IAAI,EAAE,IAAI7kB,EAAEqvB,KAAKrwB,EAAES,EAAEyI,YAAW,WAAY7C,EAAErF,EAAEX,KAAKA,GAAG,OAAOgwB,GAAGrvB,EAAEX,EAAEL,GAAGowB,GAAG,SAAS3vB,GAAG,OAAOkwB,aAAalwB,OAAOyvB,GAAGvqB,QAAQ2qB,GAAG,IAAIM,GAAG,GAAG3wB,OAAOC,eAAe0wB,GAAG,aAAa,CAACpwB,OAAM,IAAKowB,GAAGC,aAAaC,GAAGF,GAAGG,UAAUC,GAAGJ,GAAGK,cAAc,SAASxwB,GAAiD,OAA9ClB,EAAEoG,QAAQwC,OAAO1H,KAAKA,EAAE0H,OAAOkB,SAAS6nB,MAAY,CAAC5b,EAAE7U,EAAE0wB,YAAY5b,EAAE9U,EAAE2wB,eAAeR,GAAGS,mBAAmB,SAAS5wB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEyG,QAAQlH,EAAEgB,GAAGA,EAAEod,aAAazX,QAAQ3F,EAAEoc,SAAStd,MAAMwxB,WAAW,IAAItxB,IAAIA,EAAEse,QAAQ,OAAOjY,IAAI,CAACiP,EAAE,EAAEC,EAAE,GAAG,IAAIhW,EAAEuxB,GAAG9wB,EAAEuxB,UAAUvwB,EAAEod,aAAa/d,GAAG8D,EAAE6sB,GAAGzxB,GAAG8G,IAAI,IAAI/E,EAAE0vB,GAAGzxB,GAAG,MAAM,CAAC+V,EAAEhU,EAAEgU,EAAEnR,EAAEmR,EAAEC,EAAEjU,EAAEiU,EAAEpR,EAAEoR,IAAIqb,GAAGjrB,aAAQ,EAAO,IAAI6rB,GAAG,CAACxT,SAAS,CAACM,SAAQ,EAAGsR,OAAO,GAAG2B,UAAU,KAAKE,MAAM,KAAKf,IAAIxH,KAAKwH,IAAIvT,YAAY,KAAK5d,EAAE,EAAE+V,EAAE,EAAEC,EAAE,EAAEmc,aAAY,EAAGC,SAAS,EAAE/B,OAAO,EAAE6B,MAAM,EAAEhU,MAAM,SAAShd,GAAG+wB,GAAGE,aAAY,EAAGxB,GAAGvqB,QAAQkb,OAAO2Q,GAAGjyB,GAAGkB,EAAE6wB,WAAWE,GAAGA,GAAGrU,YAAY1c,EAAE+wB,GAAGG,SAASH,GAAGd,MAAMc,GAAGjyB,EAAE2wB,GAAGvqB,QAAQ4qB,QAAQiB,GAAGI,SAASC,KAAK,WAAWL,GAAGE,aAAY,EAAGF,GAAGrU,cAAcqU,GAAGrU,YAAYmU,WAAW,MAAMpB,GAAGvqB,QAAQkb,OAAO2Q,GAAGjyB,IAAIqyB,OAAO,WAAW,IAAInxB,EAAE+wB,GAAGrU,YAAY9W,EAAE5F,EAAE2d,aAAapd,EAAEP,EAAEyG,QAAQ7G,EAAEI,EAAE2c,SAAStd,KAAKE,EAAEqG,EAAEM,QAAQtG,GAAGixB,WAAWntB,EAAE2sB,GAAG9wB,EAAEuxB,UAAUlrB,EAAErF,GAAGM,EAAEkwB,GAAGd,MAAMlxB,GAAG8B,EAAEkwB,GAAGG,UAAU,IAAIlV,EAAEzc,EAAEyxB,MAAMjyB,EAAE,GAAGid,GAAG,EAAE,CAAC,IAAI7c,EAAE,CAAC0V,EAAEkc,GAAGlc,EAAEmH,EAAElH,EAAEic,GAAGjc,EAAEkH,GAAG,GAAG7c,EAAE0V,GAAG1V,EAAE2V,EAAE,CAAC,IAAInP,EAAE4qB,GAAG7sB,GAAG5E,EAAEoG,QAAQwC,OAAOhE,GAAGA,EAAE2tB,SAASlyB,EAAE0V,EAAE1V,EAAE2V,GAAGpR,IAAIA,EAAEye,YAAYhjB,EAAE0V,EAAEnR,EAAE2e,WAAWljB,EAAE2V,GAAG,IAAI1V,EAAEmxB,GAAG7sB,GAAG9C,EAAE,CAACiU,EAAEzV,EAAEyV,EAAElP,EAAEkP,EAAEC,EAAE1V,EAAE0V,EAAEnP,EAAEmP,IAAIlU,EAAEiU,GAAGjU,EAAEkU,IAAIlP,EAAE2jB,KAAK,CAACvgB,KAAK,aAAa0d,OAAOnmB,EAAEod,aAAa/X,EAAEwX,MAAMxc,EAAE8b,YAAY1c,EAAE8wB,UAAUptB,IAAIqtB,GAAGG,SAASrwB,EAAEkwB,GAAGE,cAAcxB,GAAGvqB,QAAQkb,OAAO2Q,GAAGjyB,GAAGiyB,GAAGjyB,EAAE2wB,GAAGvqB,QAAQ4qB,QAAQiB,GAAGI,UAAUG,MAAM,SAAStxB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAEkG,QAAQ,OAAO3F,EAAEqF,GAAGirB,YAAYtwB,EAAEqF,GAAGirB,WAAWhT,SAAS0T,kBAAkB,SAASvxB,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEysB,QAAQ,GAAG7mB,EAAE4rB,eAAeT,GAAGO,MAAM1rB,EAAE+X,aAAa/X,EAAE+W,SAAStd,MAAM,GAAGuG,EAAE6rB,WAAWV,GAAGlc,EAAEkc,GAAGjc,EAAE,MAAM,CAAC,IAAIlV,EAAEL,EAAEmE,EAAE7C,EAAE9B,EAAE6G,EAAE+X,aAAa3B,EAAEpW,EAAEa,QAAQtH,EAAEyG,EAAE+W,SAAStd,KAAKsG,EAAE5G,EAAEmH,QAAQ/G,GAAG0xB,WAAWzxB,EAAEixB,GAAG1qB,EAAEmrB,UAAU/xB,EAAEid,GAAG,GAAGld,EAAEoG,QAAQwC,OAAOtI,GAAGyB,EAAEN,EAAEqkB,QAAQmM,GAAG5B,OAAOvvB,EAAEW,EAAEskB,QAAQkM,GAAG5B,OAAO5vB,EAAEgB,EAAEqkB,QAAQxlB,EAAEsyB,WAAWX,GAAG5B,OAAOzrB,EAAEnD,EAAEskB,QAAQzlB,EAAEuyB,YAAYZ,GAAG5B,WAAW,CAAC,IAAIvuB,EAAE0f,EAAEiB,qBAAqBniB,GAAGyB,EAAEN,EAAEqkB,QAAQhkB,EAAE8gB,KAAKqP,GAAG5B,OAAOvvB,EAAEW,EAAEskB,QAAQjkB,EAAEghB,IAAImP,GAAG5B,OAAO5vB,EAAEgB,EAAEqkB,QAAQhkB,EAAE+gB,MAAMoP,GAAG5B,OAAOzrB,EAAEnD,EAAEskB,QAAQjkB,EAAEihB,OAAOkP,GAAG5B,OAAO4B,GAAGlc,EAAEtV,EAAE,EAAEsB,GAAG,EAAE,EAAEkwB,GAAGjc,EAAEpR,EAAE,EAAE9D,GAAG,EAAE,EAAEmxB,GAAGE,cAAcF,GAAG5B,OAAOxpB,EAAEwpB,OAAO4B,GAAGC,MAAMrrB,EAAEqrB,MAAMD,GAAG/T,MAAMpX,OAAO,SAASyqB,GAAGrwB,EAAEO,EAAEX,GAAG,OAAOd,EAAEoG,QAAQwI,OAAO1N,IAAG,EAAGwiB,EAAEK,uBAAuB7iB,EAAEO,EAAEX,GAAGI,KAAI,EAAG4F,EAAE+V,WAAW/b,GAAG,SAAS2wB,GAAGvwB,GAAG,OAAOlB,EAAEoG,QAAQwC,OAAO1H,KAAKA,EAAE0H,OAAOkB,SAAS6nB,MAAM,CAAC5b,EAAE7U,EAAEmiB,WAAWrN,EAAE9U,EAAEqiB,WAAW,IAAIuP,GAAG,CAACziB,GAAG,cAAc8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEud,SAAShd,EAAEP,EAAEqd,QAAQrd,EAAE6wB,WAAWE,GAAGA,GAAGd,IAAI,WAAW,OAAOjwB,EAAEiwB,OAAO1vB,EAAEorB,eAAekG,YAAW,EAAGjsB,EAAEksB,UAAUjB,WAAWE,GAAGxT,UAAUjC,UAAU,CAAC,mBAAmB,SAAStb,GAAGA,EAAE0c,YAAYmU,WAAW,MAAM,uBAAuB,SAAS7wB,GAAGA,EAAE0c,YAAYmU,WAAW,KAAKE,GAAGK,OAAOL,GAAGrU,cAAcqU,GAAGrU,YAAY,OAAO,oBAAoBqU,GAAGK,KAAK,2BAA2B,SAASpxB,GAAG,OAAO+wB,GAAGQ,kBAAkBvxB,MAAMmwB,GAAGjrB,QAAQ0sB,GAAG,IAAIG,GAAG,GAAGvyB,OAAOC,eAAesyB,GAAG,aAAa,CAAChyB,OAAM,IAAKgyB,GAAGC,SAAS,SAAShyB,EAAEO,GAAG,IAAIX,GAAE,EAAG,OAAO,WAAW,OAAOA,IAAIgG,EAAE8B,OAAOuqB,QAAQ3pB,KAAK/H,GAAGX,GAAE,GAAII,EAAEsM,MAAM7N,KAAK8N,aAAawlB,GAAGG,WAAW,SAASlyB,EAAE4F,GAAG,OAAO5F,EAAEX,KAAKuG,EAAEvG,KAAKW,EAAE4c,KAAKhX,EAAEgX,KAAK5c,EAAE2uB,MAAM/oB,EAAE+oB,MAAM3uB,GAAG,IAAImyB,GAAG,GAAG,SAASC,GAAGpyB,GAAG,OAAOlB,EAAEoG,QAAQmX,KAAKrc,IAAIvB,KAAKyH,QAAQmsB,YAAYryB,EAAEvB,MAAM,OAAOuB,UAAUvB,KAAKyH,QAAQmsB,YAAY5zB,MAAMA,KAAKyH,QAAQmsB,YAAY,SAASC,GAAGtyB,GAAG,OAAOlB,EAAEoG,QAAQiX,KAAKnc,IAAIvB,KAAKyH,QAAQqsB,cAAcvyB,EAAEvB,MAAM,OAAOuB,UAAUvB,KAAKyH,QAAQqsB,cAAc9zB,MAAMA,KAAKyH,QAAQqsB,cAAc/yB,OAAOC,eAAe0yB,GAAG,aAAa,CAACpyB,OAAM,IAAKoyB,GAAGjtB,aAAQ,EAAO,IAAIstB,GAAG,CAACrjB,GAAG,iCAAiC8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEsd,aAAa1X,EAAElF,UAAU+xB,UAAU,SAAS7sB,EAAErF,EAAEX,EAAEL,GAAG,IAAIT,EAAE,SAASkB,EAAE4F,EAAErF,EAAEX,EAAEL,GAAG,IAAIT,EAAEkB,EAAE4iB,QAAQhjB,GAAG8D,EAAEkC,EAAEgY,SAAS,CAAC8U,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,IAAIjtB,EAAEktB,QAAQjyB,EAAE,CAACod,OAAO,KAAKN,aAAa3d,EAAE0c,YAAYnc,EAAEkG,QAAQ7G,EAAEoqB,KAAKlrB,EAAE8e,QAAQla,GAAG,OAAOnE,EAAEgqB,KAAK,mBAAmB1oB,GAAGA,EAAEod,OAA/L,CAAuMxf,KAAK8B,EAAEX,EAAEL,EAAES,GAAG,OAAOvB,KAAKyH,QAAQqsB,cAAc9zB,KAAKyH,QAAQqsB,cAAc3sB,EAAErF,EAAEzB,EAAEL,KAAKc,EAAEK,GAAGd,GAAG8G,EAAElF,UAAUqyB,YAAW,EAAGhB,GAAGC,WAAU,SAAUhyB,GAAG,OAAOvB,KAAKu0B,kBAAkB,aAAahzB,KAAK,qGAAqG4F,EAAElF,UAAUuyB,WAAU,EAAGlB,GAAGC,WAAU,SAAUhyB,GAAG,OAAOvB,KAAKu0B,kBAAkB,YAAYhzB,KAAK,mGAAmG4F,EAAElF,UAAU6xB,cAAcD,GAAG1sB,EAAElF,UAAU2xB,YAAYD,KAAKD,GAAGjtB,QAAQstB,GAAG,IAAIU,GAAG,GAAG,SAASC,GAAGnzB,EAAE4F,EAAErF,EAAEX,EAAEL,GAAG,OAAOqG,EAAEwtB,gBAAgBxtB,EAAEM,QAAQlG,EAAEX,MAAMkB,EAAEX,IAAIgG,EAAEM,QAAQlG,EAAEX,MAAMwe,SAASwV,GAAGztB,EAAErF,EAAEP,EAAET,GAAGS,EAAE,KAAK,SAASszB,GAAGtzB,EAAE4F,EAAErF,EAAEX,EAAEL,EAAET,EAAE4E,GAAG,IAAI,IAAI7C,EAAE,EAAE9B,EAAEa,EAAEiE,OAAOhD,EAAE9B,EAAE8B,IAAI,CAAC,IAAImb,EAAEpc,EAAEiB,GAAG1B,EAAEI,EAAEsB,GAAG8E,EAAEqW,EAAEyW,UAAU7sB,EAAErF,EAAEP,EAAEb,GAAG,GAAGwG,EAAE,CAAC,IAAIvG,EAAE+zB,GAAGxtB,EAAEqW,EAAE7c,EAAEL,EAAE4E,GAAG,GAAGtE,EAAE,MAAM,CAAC6e,OAAO7e,EAAEue,aAAa3B,EAAEvV,QAAQtH,IAAI,MAAM,CAAC8e,OAAO,KAAKN,aAAa,KAAKlX,QAAQ,MAAM,SAAS8sB,GAAGvzB,EAAE4F,EAAErF,EAAEX,EAAEL,GAAG,IAAImE,EAAE,GAAG7C,EAAE,GAAG9B,EAAEa,EAAE,SAASoc,EAAEhc,GAAG0D,EAAE0L,KAAKpP,GAAGa,EAAEuO,KAAKrQ,GAAG,KAAKD,EAAEoG,QAAQuB,QAAQ1H,IAAI,CAAC2E,EAAE,GAAG7C,EAAE,GAAGtB,EAAEmqB,cAAc8J,aAAaz0B,EAAEid,GAAG,IAAI7c,EAAEm0B,GAAGtzB,EAAE4F,EAAErF,EAAEmD,EAAE7C,EAAEjB,EAAEL,GAAG,GAAGJ,EAAE8e,SAAS9e,EAAEwe,aAAazX,QAAQ/G,EAAE8e,OAAO5e,MAAMo0B,YAAY,OAAOt0B,EAAEJ,EAAEuhB,EAAErG,WAAWlb,GAAG,MAAM,CAACkf,OAAO,KAAKN,aAAa,KAAKlX,QAAQ,MAAM,SAASitB,GAAG1zB,EAAE4F,EAAErF,GAAG,IAAIX,EAAEgG,EAAEqY,OAAO1e,EAAEqG,EAAE+X,aAAa7e,EAAE8G,EAAEa,QAAQ7G,EAAEA,GAAG,CAACP,KAAK,MAAMW,EAAE2d,aAAape,EAAES,EAAEyG,QAAQ3H,GAAE,EAAGizB,GAAGG,YAAYlyB,EAAE2c,SAAS/c,GAAGI,EAAEgqB,KAAKzqB,GAAGK,EAAEP,KAAKE,EAAEqjB,QAAQ9jB,GAAG,KAAK60B,GAAG3zB,EAAEO,GAAGA,EAAEgpB,KAAK,qBAAqB,CAAC7M,YAAY1c,IAAI,SAASqzB,GAAGrzB,EAAE4F,EAAErF,EAAEX,GAAG,IAAIL,EAAES,EAAEkG,QAAQpH,EAAES,EAAEgB,EAAElB,MAAM+lB,IAAI1hB,EAAEnE,EAAEgB,EAAElB,MAAMu0B,cAAc/yB,EAAEjB,EAAEi0B,UAAUC,gBAAgB/0B,EAAE,EAAEid,EAAE,EAAE7c,EAAE,EAAE,KAAKL,GAAG4E,GAAG7C,GAAG,OAAM,EAAG,IAAI,IAAI8E,EAAE,EAAEA,EAAE/F,EAAEm0B,aAAa/kB,KAAKnL,OAAO8B,IAAI,CAAC,IAAIvG,EAAEQ,EAAEm0B,aAAa/kB,KAAKrJ,GAAG/E,EAAExB,EAAEud,SAAStd,KAAK,GAAGD,EAAEoyB,cAAc,CAAC,KAAKzyB,GAAG8B,EAAE,OAAM,EAAG,GAAGzB,EAAEue,eAAe3d,EAAE,CAAC,IAAIgc,GAAGpb,IAAIL,EAAElB,KAAK,EAAE,IAAIP,EAAE,OAAM,EAAG,GAAGM,EAAEqH,UAAUb,IAAIzG,IAAIyB,IAAIL,EAAElB,MAAMF,GAAGuE,GAAG,OAAM,IAAK,OAAO7C,EAAE,EAAE,SAASmzB,GAAGh0B,EAAE4F,GAAG,OAAO9G,EAAEoG,QAAQkX,OAAOpc,IAAI4F,EAAEiuB,UAAUC,gBAAgB9zB,EAAEvB,MAAMmH,EAAEiuB,UAAUC,gBAAgB,SAASG,GAAGj0B,EAAE4F,EAAErF,GAAG,IAAIX,EAAEW,EAAEszB,UAAUK,cAAct0B,GAAGA,IAAII,IAAIJ,EAAE6H,MAAM0sB,OAAO,IAAIn0B,EAAE4b,cAAcsG,gBAAgBza,MAAM0sB,OAAOvuB,EAAE5F,EAAEyH,MAAM0sB,OAAOvuB,EAAErF,EAAEszB,UAAUK,cAActuB,EAAE5F,EAAE,KAAK,SAAS2zB,GAAG3zB,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE2d,aAAa/d,EAAEI,EAAEyG,QAAQlH,EAAES,EAAE2c,SAAS,GAAG,UAAU3c,EAAE+d,aAAaxd,GAAGA,EAAE2F,QAAQmsB,YAAY,CAAC,IAAI3uB,EAAE,GAAG,GAAGnE,EAAEF,KAAK,CAAC,IAAIwB,EAAEN,EAAE2F,QAAQ3G,EAAEF,MAAM+0B,cAAc1wB,EAAE5E,EAAEoG,QAAQiX,KAAKtb,GAAGA,EAAEtB,EAAEgB,EAAEX,EAAEI,EAAEq0B,cAAczuB,EAAEyX,QAAQhP,IAAI9O,EAAEF,MAAMmf,UAAUjf,GAAG00B,GAAGj0B,EAAEyG,QAAQ/C,GAAG,GAAGkC,QAAQA,EAAEiuB,UAAUK,eAAeD,GAAGruB,EAAEiuB,UAAUK,cAAc,GAAGtuB,GAAGpG,OAAOC,eAAeyzB,GAAG,aAAa,CAACnzB,OAAM,IAAKmzB,GAAGhuB,aAAQ,EAAO,IAAIovB,GAAG,CAACnlB,GAAG,kBAAkBme,OAAO,CAAC,WAAWra,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAE+qB,eAAexqB,EAAEP,EAAEud,SAASvd,EAAEgrB,UAAUmH,GAAGjtB,SAAS3E,EAAEg0B,KAAKhC,cAAc,KAAKhyB,EAAEg0B,KAAKlC,aAAY,GAAG,EAAG3Y,EAAExU,SAAS3E,EAAEuxB,UAAU,CAAC2B,aAAY,EAAGrO,IAAI,IAAIwO,cAAc,EAAEX,UAAU,KAAKF,WAAW,KAAK/U,aAAa,IAAIpY,EAAEkuB,gBAAgB,SAASluB,GAAG,OAAOouB,GAAGpuB,EAAE5F,IAAIA,EAAE6zB,UAAU,CAACC,gBAAgB,IAAIU,uBAAuBnB,GAAGa,cAAc,OAAO5Y,UAAU,CAAC,oBAAoB,SAAStb,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAY3uB,EAAEixB,eAAekC,GAAGnzB,EAAEgzB,GAAGhzB,EAAEX,EAAEL,EAAET,EAAE8G,GAAGA,IAAI,oBAAoB,SAAS5F,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAY,UAAU3uB,EAAEwd,aAAaxd,EAAEud,eAAevd,EAAEixB,eAAekC,GAAGnzB,EAAEgzB,GAAGhzB,EAAEX,EAAEL,EAAET,EAAE8G,GAAGA,GAAtJ,CAA0J5F,EAAE4F,GAAG,SAAS5F,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY,GAAGnc,EAAEud,gBAAgBvd,EAAEixB,eAAejxB,EAAEk0B,iBAAiBl0B,EAAEoc,SAAStd,KAAK,CAACuG,EAAE2jB,KAAK,yBAAyBvpB,GAAG,IAAIJ,EAAEW,EAAEod,aAAape,EAAEgB,EAAEoc,SAAStd,KAAKE,GAAGK,IAAIA,EAAEsG,QAAQ3G,GAAGk0B,cAAcJ,GAAGzzB,EAAEW,EAAEkG,QAAQlG,EAAEoc,SAAS/W,GAAGrF,EAAE6wB,QAAQ7wB,EAAEyc,MAAMzc,EAAEoc,SAAS/c,EAAEW,EAAEkG,SAASktB,GAAGpzB,EAAEqF,MAApS,CAA2S5F,EAAE4F,IAAI,oBAAoB,SAAS5F,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEW,EAAEod,aAAa/d,GAAGA,EAAEsG,QAAQmsB,aAAa4B,GAAG1zB,EAAEkG,QAAQ,GAAGb,KAAKkuB,gBAAgBE,GAAGQ,uBAAuBnB,GAAGqB,eAAevB,IAAID,GAAGhuB,QAAQovB,GAAG,IAAIK,GAAG,GAAGn1B,OAAOC,eAAek1B,GAAG,aAAa,CAAC50B,OAAM,IAAK40B,GAAGzvB,aAAQ,EAAO,IAAI0vB,GAAG,CAACzlB,GAAG,sBAAsBmM,UAAU,CAAC,yBAAyB,SAAStb,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEkvB,YAAY3vB,EAAES,EAAE60B,GAAGnxB,EAAE1D,EAAE80B,GAAG,GAAG,SAASv0B,EAAEoc,SAAStd,KAAK,CAAC,IAAIwB,EAAEmW,KAAK2W,IAAIpuB,GAAGR,EAAEiY,KAAK2W,IAAIjqB,GAAGsY,EAAEzb,EAAEod,aAAazX,QAAQuX,KAAKte,EAAE6c,EAAEmC,UAAUxY,EAAE9E,EAAE9B,EAAE,IAAI8B,EAAE9B,EAAE,IAAI,KAAK,GAAGwB,EAAEoc,SAASC,KAAK,UAAUZ,EAAEkC,SAASvY,EAAE,GAAGqW,EAAEkC,SAAS,OAAOvY,GAAG,OAAOxG,GAAGA,IAAIwG,EAAE,CAACpF,EAAEoc,SAAStd,KAAK,KAAK,IAAI,IAAID,EAAEQ,EAAEgB,EAAE,SAASZ,GAAG,GAAGA,IAAIO,EAAEod,aAAa,CAAC,IAAIpe,EAAEgB,EAAEod,aAAazX,QAAQuX,KAAK,IAAIle,EAAEk0B,aAAazzB,EAAEozB,gBAAgB7zB,EAAEH,EAAEQ,GAAG,CAAC,IAAId,EAAEkB,EAAEyyB,UAAUlyB,EAAEw0B,YAAYx0B,EAAEy0B,UAAUz0B,EAAEnB,GAAG,GAAGN,GAAG,SAASA,EAAEO,MAAM,SAASW,EAAE4F,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIrF,EAAEqF,EAAEM,QAAQuX,KAAKU,UAAU,MAAM,OAAOne,GAAG,OAAOO,GAAGA,IAAIP,EAA1F,CAA6F2F,EAAE3F,IAAIkzB,GAAGhuB,QAAQwvB,eAAe51B,EAAEkB,EAAEZ,EAAEQ,EAAEgG,GAAG,OAAO5F,KAAKlB,EAAEoG,QAAQuB,QAAQrH,IAAI,CAAC,IAAI+K,EAAEvE,EAAE8jB,cAAc8J,aAAap0B,EAAEwB,GAAG,GAAGuJ,EAAE,CAAC5J,EAAEoc,SAAStd,KAAK,OAAOkB,EAAEod,aAAaxT,EAAE5J,EAAEkG,QAAQrH,EAAE,MAAMA,GAAE,EAAGkhB,EAAErG,YAAY7a,SAASu1B,GAAGzvB,QAAQ0vB,GAAG,IAAIK,GAAG,GAAG,SAASC,GAAGl1B,GAAG,IAAI4F,EAAE5F,EAAE2c,UAAU3c,EAAE2c,SAAStd,KAAK,IAAIuG,EAAE,OAAO,KAAK,IAAIrF,EAAEP,EAAE2d,aAAazX,QAAQ,OAAO3F,EAAEqF,GAAGuvB,MAAM50B,EAAEqF,GAAGwvB,MAAM51B,OAAOC,eAAew1B,GAAG,aAAa,CAACl1B,OAAM,IAAKk1B,GAAG/vB,aAAQ,EAAO,IAAI+G,GAAG,CAACkD,GAAG,kBAAkB8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEud,SAASvd,EAAEgrB,UAAUkI,GAAGhuB,SAASU,EAAEksB,UAAUqD,KAAK,EAAEvvB,EAAEksB,UAAUsD,MAAM,GAAG9Z,UAAU,CAAC,mBAAmB,SAAStb,GAAGA,EAAE0c,YAAY2Y,mBAAmB,MAAM,qBAAqB,SAASr1B,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAE20B,GAAGtvB,GAAGrF,EAAE,IAAIqF,EAAEyvB,mBAAmB5sB,YAAW,WAAY7C,EAAEoX,MAAMpX,EAAE+W,SAAS/W,EAAE+X,aAAa/X,EAAEa,WAAWlG,KAAK,oBAAoB,SAASP,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEs1B,UAAU1vB,EAAEyvB,oBAAoBzvB,EAAE6uB,kBAAkBl0B,IAAI2vB,aAAatqB,EAAEyvB,oBAAoBzvB,EAAEyvB,mBAAmB,OAAO,yBAAyB,SAASr1B,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYwY,GAAGtvB,GAAG,IAAIA,EAAE+W,SAAStd,KAAK,QAAQk2B,gBAAgBL,IAAID,GAAG/vB,QAAQ+G,GAAG,IAAIupB,GAAG,GAAGh2B,OAAOC,eAAe+1B,GAAG,aAAa,CAACz1B,OAAM,IAAKy1B,GAAGtwB,aAAQ,EAAO,IAAIuwB,GAAG,CAACtmB,GAAG,aAAa8D,QAAQ,SAASjT,GAAGA,EAAEgrB,UAAUkI,GAAGhuB,SAASlF,EAAEgrB,UAAUiK,GAAG/vB,SAASlF,EAAEgrB,UAAU2J,GAAGzvB,WAAWswB,GAAGtwB,QAAQuwB,GAAG,IAAIC,GAAG,GAAGl2B,OAAOC,eAAei2B,GAAG,aAAa,CAAC31B,OAAM,IAAK21B,GAAGxwB,aAAQ,EAAOwwB,GAAGxwB,QAAQ,GAAG,IAAIywB,GAAG,GAAG,SAASC,GAAG51B,GAAG,MAAM,wBAAwBiZ,KAAKjZ,IAAIvB,KAAKyH,QAAQ4gB,eAAe9mB,EAAEvB,MAAMK,EAAEoG,QAAQmX,KAAKrc,IAAIvB,KAAKyH,QAAQ4gB,eAAe9mB,EAAE,SAAS,QAAQvB,MAAMA,KAAKyH,QAAQ4gB,eAAe,SAAS+O,GAAG71B,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEwL,MAAM5F,EAAE+X,cAAc/X,EAAE+X,aAAamY,uBAAuBv1B,GAAG,SAASw1B,GAAG/1B,GAAG,IAAIO,EAAEP,EAAEsd,aAAa/c,EAAEG,UAAUomB,eAAe8O,GAAGr1B,EAAEG,UAAUo1B,uBAAuB,SAASv1B,GAAG,OAAO,SAASP,EAAEO,EAAEX,GAAG,IAAIL,EAAES,EAAEkG,QAAQ4gB,eAAe,GAAG,UAAUvnB,EAAE,GAAG,WAAWA,EAAE,CAAC,GAAGgB,EAAE4oB,OAAO6M,iBAAiB,sBAAsB/c,KAAKrZ,EAAEoJ,MAAM,CAAC,IAAItF,GAAE,EAAGkC,EAAE+V,WAAW/b,EAAE8mB,QAAQ9d,SAAS/H,EAAEN,EAAE01B,cAAcvyB,GAAG,IAAI7C,IAAIA,EAAEsoB,SAAQ,IAAKtoB,EAAEsoB,OAAO+M,QAAQ,OAAO,uCAAuCjd,KAAKrZ,EAAEoJ,OAAOlK,EAAEoG,QAAQuB,QAAQ7G,EAAE8mB,UAAS,EAAGpG,EAAEK,iBAAiB/gB,EAAE8mB,OAAO,0EAA0E9mB,EAAEknB,sBAAsBlnB,EAAEknB,iBAAld,CAAoeroB,KAAKuB,EAAEO,IAAIP,EAAE+zB,aAAaoC,UAAU/mB,KAAK,CAACpG,KAAK,YAAYtC,SAAS,SAASd,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEP,EAAE+zB,aAAa/kB,KAAKnL,OAAOtD,IAAI,CAAC,IAAIX,EAAEI,EAAE+zB,aAAa/kB,KAAKzO,GAAG,GAAGX,EAAE6G,UAAU7G,EAAE6G,UAAUb,EAAE8gB,SAAQ,EAAGpG,EAAEE,cAAc5gB,EAAE6G,QAAQb,EAAE8gB,SAAS,YAAY9mB,EAAE+d,aAAamY,uBAAuBlwB,OAAOpG,OAAOC,eAAek2B,GAAG,aAAa,CAAC51B,OAAM,IAAK41B,GAAG1iB,QAAQ8iB,GAAGJ,GAAGzwB,aAAQ,EAAO,IAAIkxB,GAAG,CAACjnB,GAAG,kCAAkC8D,QAAQ8iB,GAAGza,UAAU,CAAC,OAAO,OAAO,KAAK,UAAUoI,QAAO,SAAU1jB,EAAE4F,GAAG,OAAO5F,EAAE,gBAAgBwO,OAAO5I,IAAIiwB,GAAG71B,IAAI,KAAK21B,GAAGzwB,QAAQkxB,GAAG,IAAIC,GAAGC,GAAG,GAAG,SAASC,GAAGv2B,GAAG,OAAO,SAASA,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOw2B,GAAGx2B,GAA1C,CAA8CA,IAAI,SAASA,GAAG,GAAG,oBAAoBH,QAAQA,OAAOkc,YAAYvc,OAAOQ,GAAG,OAAO0iB,MAAMM,KAAKhjB,GAA1F,CAA8FA,IAAI,SAASA,EAAE4F,GAAG,GAAI5F,EAAJ,CAAa,GAAG,iBAAiBA,EAAE,OAAOw2B,GAAGx2B,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAuD,MAApD,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAS,QAAQkB,GAAG,QAAQA,EAASmiB,MAAMM,KAAKhjB,GAAM,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAUi2B,GAAGx2B,EAAE4F,QAAnF,GAArN,CAA4S5F,IAAI,WAAW,MAAM,IAAI+K,UAAU,wIAA/B,GAA0K,SAASyrB,GAAGx2B,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAEJ,OAAOC,eAAe62B,GAAG,aAAa,CAACv2B,OAAM,IAAKu2B,GAAGpxB,aAAQ,EAAO,SAASlF,GAAGA,EAAEy2B,YAAY,cAAcz2B,EAAE02B,UAAU,YAAY12B,EAAE22B,YAAY,cAA9E,CAA6FN,KAAKA,GAAG,KAAK,IAAIO,GAAG,CAACH,YAAY,gEAAgEC,UAAU,+DAAmEG,GAAG,CAAC,CAACx3B,KAAKg3B,GAAGI,YAAYK,QAAQ,SAAS92B,GAAG,OAAO,SAASA,EAAE4F,EAAErF,GAAW,IAAR,IAAIX,EAAEI,EAAOlB,EAAEoG,QAAQuB,QAAQ7G,IAAI,CAAC,GAAGm3B,GAAGn3B,EAAEgG,EAAErF,GAAG,OAAM,EAAGX,GAAE,EAAG0gB,EAAErG,YAAYra,GAAG,OAAM,EAAtG,CAA0GI,EAAEyG,QAAQ,cAAc,oBAAoBuwB,QAAQ,SAASh3B,GAAG,MAAM,CAACA,EAAEyG,QAAQmwB,GAAGH,cAAcQ,KAAK,8DAA8D,CAAC53B,KAAKg3B,GAAGK,UAAUI,QAAQ,SAAS92B,GAAG,IAAI4F,EAAE5F,EAAEyG,QAAQ,MAAM,WAAWzG,EAAE2c,SAAStd,MAAMuG,aAAayL,EAAEnM,QAAQ4Z,cAAciY,GAAGnxB,EAAE,YAAY,eAAeqxB,KAAK,yEAAyED,QAAQ,SAASh3B,GAAG,MAAM,CAACA,EAAEyG,QAAQmwB,GAAGF,aAAa,CAACr3B,KAAKg3B,GAAGM,YAAYG,QAAQ,SAAS92B,GAAG,IAAI4F,EAAE5F,EAAE2c,SAAStd,KAAK,QAAQW,EAAE2d,aAAawL,OAAO+N,MAAM,GAAG1oB,OAAO5I,EAAE,UAAU,IAAI/B,QAAQmzB,QAAQ,SAASh3B,GAAG,MAAM,CAACA,EAAE2c,SAAStd,KAAKW,EAAE2d,eAAesZ,KAAK,+CAA+C,SAASF,GAAG/2B,EAAEO,EAAEX,GAAG,IAAIL,EAAES,EAAEyH,MAAMlH,IAAIqF,EAAE8B,OAAOC,iBAAiB3H,GAAGO,GAAG,OAAOX,EAAEqZ,MAAM1Z,GAAG,IAAIsL,YAAY,IAAIssB,GAAG,YAAYC,GAAG,CAACjoB,GAAGgoB,GAAGlkB,QAAQ,SAASjT,GAAG,IAAI4F,EAAE2G,UAAU1I,OAAO,QAAG,IAAS0I,UAAU,GAAGA,UAAU,GAAG,GAAGhM,EAAEqF,EAAEyxB,OAAOz3B,EAAEI,EAAEsd,aAAa/d,EAAES,EAAEud,SAASvd,EAAEq3B,OAAO92B,GAAG0xB,QAAQ1yB,EAAEg1B,KAAK+C,SAAS,CAACC,OAAO,IAAI33B,EAAEc,UAAU42B,SAAS,SAASt3B,GAAG,OAAOA,IAAG,EAAG0Z,EAAExU,SAASzG,KAAKyH,QAAQoxB,SAASt3B,GAAGvB,MAAMA,KAAKyH,QAAQoxB,WAAWhc,UAAU,CAAC,4BAA4B,SAAStb,EAAE4F,GAAG,IAAI,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAE,EAAEA,EAAEi3B,GAAGhzB,OAAOjE,IAAI,CAAC,IAAIL,EAAET,EAAE+3B,GAAGj3B,GAAG8D,EAAEnD,EAAEod,cAAcpd,EAAEod,aAAazX,QAAaxC,GAAGA,EAAE4zB,UAAU5zB,EAAE4zB,SAASC,OAAOz4B,EAAEO,QAAQP,EAAEg4B,QAAQv2B,KAAIhB,EAAEqG,EAAEyxB,QAAQ/uB,KAAKgE,MAAM/M,EAAE,CAAC,iBAAiBT,EAAEm4B,MAAMzoB,OAAO+nB,GAAGz3B,EAAEk4B,QAAQz2B,SAASi3B,OAAOX,GAAGY,UAAUpB,GAAGqB,MAAMd,GAAGe,OAAO,kBAAkBrB,GAAGpxB,QAAQkyB,GAAG,IAAIQ,GAAG,GAAGp4B,OAAOC,eAAem4B,GAAG,aAAa,CAAC73B,OAAM,IAAK63B,GAAG1yB,aAAQ,EAAO0yB,GAAG1yB,QAAQ,GAAG,IAAI2yB,GAAG,GAAGr4B,OAAOC,eAAeo4B,GAAG,aAAa,CAAC93B,OAAM,IAAK83B,GAAG3yB,QAAQ,SAASlF,EAAE4F,GAAG,IAAIrF,EAAE,GAAG,IAAI,IAAIX,KAAKgG,EAAE,CAAC,IAAIrG,EAAEqG,EAAEhG,GAAGd,EAAEoG,QAAQsX,YAAYjd,GAAGgB,EAAEX,GAAGI,EAAET,GAAGT,EAAEoG,QAAQuX,MAAMld,GAAGgB,EAAEX,GAAG4nB,EAAExE,KAAKzjB,GAAGgB,EAAEX,GAAGL,EAAE,OAAOgB,GAAG,IAAIu3B,GAAG,GAAG,SAASC,GAAG/3B,EAAE4F,GAAG,OAAO,SAAS5F,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOA,EAAvC,CAA0CA,IAAI,SAASA,EAAE4F,GAAG,GAAG,oBAAoB/F,QAAUA,OAAOkc,YAAYvc,OAAOQ,GAA3D,CAAsE,IAAIO,EAAE,GAAGX,GAAE,EAAGL,GAAE,EAAGT,OAAE,EAAO,IAAI,IAAI,IAAI4E,EAAE7C,EAAEb,EAAEH,OAAOkc,cAAcnc,GAAG8D,EAAE7C,EAAEmB,QAAQsL,QAAQ/M,EAAE6O,KAAK1L,EAAE3D,QAAQ6F,GAAGrF,EAAEsD,SAAS+B,GAAGhG,GAAE,IAAK,MAAMI,GAAGT,GAAE,EAAGT,EAAEkB,EAAE,QAAQ,IAAIJ,GAAG,MAAMiB,EAAEm3B,QAAQn3B,EAAEm3B,SAAS,QAAQ,GAAGz4B,EAAE,MAAMT,GAAG,OAAOyB,GAAhT,CAAmTP,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,GAAI5F,EAAJ,CAAa,GAAG,iBAAiBA,EAAE,OAAOi4B,GAAGj4B,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAuD,MAApD,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAS,QAAQkB,GAAG,QAAQA,EAASmiB,MAAMM,KAAKhjB,GAAM,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAU03B,GAAGj4B,EAAE4F,QAAnF,GAArN,CAA4S5F,EAAE4F,IAAI,WAAW,MAAM,IAAImF,UAAU,6IAA/B,GAA+K,SAASktB,GAAGj4B,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAE,SAASs4B,GAAGl4B,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAIJ,OAAOC,eAAeq4B,GAAG,aAAa,CAAC/3B,OAAM,IAAK+3B,GAAGK,cAAcC,GAAGN,GAAG5yB,aAAQ,EAAO,IAAImzB,GAAG,WAAW,SAASr4B,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAK65B,OAAO,GAAG75B,KAAK85B,YAAY,CAAC7W,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,OAAO,GAAGpjB,KAAK+5B,WAAW,KAAK/5B,KAAK8F,OAAO,KAAK9F,KAAKg6B,UAAU,KAAKh6B,KAAKkwB,WAAM,EAAOlwB,KAAKie,iBAAY,EAAOje,KAAKie,YAAY9W,EAAEnH,KAAK8F,OAAOm0B,KAAK,IAAI9yB,EAAErF,EAAEX,EAAE,OAAOgG,EAAE5F,GAAGO,EAAE,CAAC,CAACF,IAAI,QAAQN,MAAM,SAASC,EAAE4F,GAAG,IAAIrF,EAAEP,EAAEusB,MAAM3sB,EAAEnB,KAAKie,YAAYnd,EAAE,SAASS,GAAG,IAAI4F,EAAE5F,EAAE2d,aAAazX,QAAQlG,EAAE2c,SAAStd,MAAMkB,EAAEqF,EAAE+yB,UAAU,OAAOp4B,GAAGA,EAAEsD,OAAOtD,EAAE,CAAC,OAAO,WAAW,YAAY,WAAW,gBAAgB,gBAAgB8N,KAAI,SAAUrO,GAAG,IAAIO,EAAEqF,EAAE5F,GAAG,OAAOO,GAAGA,EAAEsd,SAAS,CAAC3X,QAAQ3F,EAAE6B,QAAQ7B,EAAEq4B,aAAane,QAAO,SAAUza,GAAG,QAAQA,KAAtR,CAA4RJ,GAAGnB,KAAKo6B,cAAct5B,GAAGd,KAAKkwB,OAAM,EAAGjV,EAAExU,SAAS,GAAGtF,EAAE+uB,OAAOlwB,KAAK85B,YAAYH,GAAGx4B,EAAEoqB,KAAKpkB,GAAGnH,KAAK+5B,WAAW,CAAC3jB,EAAE,EAAEC,EAAE,GAAG,IAAIhW,EAAE,CAACytB,MAAMhsB,EAAEu4B,WAAWlzB,EAAEmzB,QAAO,GAAI,OAAOt6B,KAAK8F,OAAOm0B,KAAKj6B,KAAKu6B,SAASl6B,GAAGL,KAAK8F,OAAO9F,KAAKw6B,OAAOn6B,KAAK,CAACuB,IAAI,UAAUN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAKie,YAAY1c,EAAE0c,YAAY9W,EAAE5F,EAAE2d,aAAa/X,EAAE+X,aAAa3d,EAAEyG,QAAQb,EAAEa,QAAQzG,EAAEgqB,KAAKhqB,EAAEgqB,MAAMpkB,EAAEokB,KAAKhqB,EAAE2uB,MAAMlwB,KAAKkwB,MAAM3uB,EAAEu4B,YAAY95B,KAAK85B,cAAc,CAACl4B,IAAI,WAAWN,MAAM,SAASC,GAAGvB,KAAKy6B,QAAQl5B,GAAG,IAAI,IAAI4F,EAAE,EAAEA,EAAEnH,KAAK65B,OAAOz0B,OAAO+B,IAAI,CAAC,IAAIrF,EAAE9B,KAAK65B,OAAO1yB,GAAGrF,EAAE6B,QAAQ4a,QAAQhd,EAAEm5B,MAAM54B,EAAEA,EAAE6B,QAAQ4a,MAAMhd,OAAO,CAACK,IAAI,SAASN,MAAM,SAASC,GAAGvB,KAAKy6B,QAAQl5B,GAAG,IAAI4F,EAAE5F,EAAEusB,MAAMhsB,EAAEP,EAAE+4B,OAAOn5B,EAAEI,EAAEo5B,cAAc75B,EAAES,EAAEgqB,KAAKhqB,EAAE6c,QAAO,EAAGnD,EAAExU,SAAS,GAAGlF,EAAE84B,YAAY94B,EAAEgqB,MAAK,EAAGtQ,EAAExU,SAAS,GAAG3F,GAAG,IAAI,IAAIT,EAAEc,EAAEnB,KAAK65B,OAAOt0B,MAAMpE,GAAGnB,KAAK65B,OAAO50B,EAAEg1B,GAAG14B,EAAE6c,OAAO7c,EAAEgqB,MAAMnpB,EAAE,EAAEA,EAAE/B,EAAE+E,OAAOhD,IAAI,CAAC,IAAI9B,EAAED,EAAE+B,GAAGmb,EAAEjd,EAAEmH,QAAQ/G,GAAE,EAAGua,EAAExU,SAAS,GAAGlF,EAAE6c,QAAQlX,EAAE,KAAK5G,EAAEqD,QAAQmlB,KAAK9oB,KAAK46B,SAASrd,EAAEzb,EAAEqF,KAAK5F,EAAEm5B,MAAMp6B,EAAE4G,EAAE5G,EAAEqD,QAAQmlB,IAAIvnB,GAAGwiB,EAAEY,SAAS3kB,KAAKie,YAAYiS,MAAM3uB,EAAEgqB,KAAK,CAACnV,EAAE7U,EAAE6c,OAAOhI,EAAE1V,EAAE0V,EAAEC,EAAE9U,EAAE6c,OAAO/H,EAAE3V,EAAE2V,KAAKpR,EAAE41B,WAAWlqB,KAAKzJ,GAAGjC,EAAE0Z,MAAMvI,EAAE7U,EAAE6c,OAAOhI,EAAE7U,EAAE84B,WAAWjkB,EAAEnR,EAAE0Z,MAAMtI,EAAE9U,EAAE6c,OAAO/H,EAAE9U,EAAE84B,WAAWhkB,EAAEpR,EAAE61B,UAAU7X,KAAK1hB,EAAEgqB,KAAKtI,KAAKniB,EAAEmiB,KAAKhe,EAAE61B,UAAU5X,MAAM3hB,EAAEgqB,KAAKrI,MAAMpiB,EAAEoiB,MAAMje,EAAE61B,UAAU3X,IAAI5hB,EAAEgqB,KAAKpI,IAAIriB,EAAEqiB,IAAIle,EAAE61B,UAAU1X,OAAO7hB,EAAEgqB,KAAKnI,OAAOtiB,EAAEsiB,OAAO,IAAIziB,EAAEX,KAAK8F,OAAOsY,OAAOjc,EAAEnC,KAAK8F,OAAOylB,KAAK,GAAG5qB,GAAGwB,EAAE,CAAC,IAAIuJ,EAAEzG,EAAEsmB,KAAKtI,OAAO9gB,EAAE8gB,MAAMhe,EAAEsmB,KAAKrI,QAAQ/gB,EAAE+gB,OAAOje,EAAEsmB,KAAKpI,MAAMhhB,EAAEghB,KAAKle,EAAEsmB,KAAKnI,SAASjhB,EAAEihB,OAAOne,EAAE81B,QAAQrvB,GAAG/K,EAAEyV,IAAInR,EAAEmZ,OAAOhI,GAAGzV,EAAE0V,IAAIpR,EAAEmZ,OAAO/H,EAAE,OAAOpR,IAAI,CAACrD,IAAI,qBAAqBN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAKie,YAAYnc,EAAEP,EAAEusB,MAAM3sB,EAAEgG,EAAEiX,OAAOC,IAAIvd,EAAEqG,EAAEiX,OAAOG,MAAMle,EAAEL,KAAK8F,OAAOb,EAAEjF,KAAK+5B,WAAW33B,EAAE/B,EAAEse,MAAM,UAAU7c,IAAG,EAAGmZ,EAAExU,SAASzG,KAAK+5B,WAAW15B,EAAEse,OAAO,IAAI,IAAIre,EAAE,CAAC,CAACQ,EAAEmE,GAAG,CAAC9D,EAAEiB,IAAImb,EAAE,EAAEA,EAAEjd,EAAE8E,OAAOmY,IAAI,CAAC,IAAI7c,EAAE44B,GAAGh5B,EAAEid,GAAG,GAAGrW,EAAExG,EAAE,GAAGC,EAAED,EAAE,GAAGwG,EAAEoX,KAAKlI,GAAGzV,EAAEyV,EAAElP,EAAEoX,KAAKjI,GAAG1V,EAAE0V,EAAEnP,EAAEsX,OAAOpI,GAAGzV,EAAEyV,EAAElP,EAAEsX,OAAOnI,GAAG1V,EAAE0V,EAAE,IAAIlU,EAAEnC,KAAK8F,OAAOg1B,UAAUpvB,EAAEnK,EAAEgqB,MAAMpkB,EAAEokB,KAAK7f,EAAEuX,MAAM9gB,EAAE8gB,KAAKvX,EAAEwX,OAAO/gB,EAAE+gB,MAAMxX,EAAEyX,KAAKhhB,EAAEghB,IAAIzX,EAAE0X,QAAQjhB,EAAEihB,OAAO1X,EAAEvC,MAAMuC,EAAEwX,MAAMxX,EAAEuX,KAAKvX,EAAErC,OAAOqC,EAAE0X,OAAO1X,EAAEyX,MAAM,CAACvhB,IAAI,cAAcN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAKie,YAAYnc,EAAEP,EAAEusB,MAAM3sB,EAAEI,EAAE+4B,OAAOx5B,EAAES,EAAEo5B,cAAct6B,EAAEL,KAAKw6B,OAAO,CAACF,OAAOn5B,EAAE2sB,MAAMhsB,EAAEu4B,WAAW94B,EAAEy5B,gBAAgB7zB,EAAEiX,OAAOC,IAAIC,OAAO,GAAGte,KAAK8F,OAAOzF,GAAGA,EAAE06B,WAAWj6B,GAAGA,EAAEd,KAAK65B,OAAOz0B,SAAS+B,EAAE4rB,cAAc,OAAM,EAAG,GAAGxxB,EAAEy5B,eAAe,CAAC,IAAI/1B,EAAEkC,EAAEiX,OAAOC,IAAIC,KAAKlc,EAAE,CAACgU,EAAE7U,EAAEy5B,eAAe5kB,EAAEnR,EAAEmR,EAAEC,EAAE9U,EAAEy5B,eAAe3kB,EAAEpR,EAAEoR,GAAGhW,EAAE+d,OAAOhI,GAAGhU,EAAEgU,EAAE/V,EAAE+d,OAAO/H,GAAGjU,EAAEiU,EAAEhW,EAAEse,MAAMvI,GAAGhU,EAAEgU,EAAE/V,EAAEse,MAAMtI,GAAGjU,EAAEiU,EAAErW,KAAKi7B,mBAAmB15B,KAAK,CAACK,IAAI,YAAYN,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEwL,MAAM5L,EAAEnB,KAAK65B,OAAO,GAAG14B,GAAGA,EAAEiE,OAAO,CAAC,IAAI,IAAItE,GAAE,EAAGT,EAAE,EAAEA,EAAEc,EAAEiE,OAAO/E,IAAI,CAAC,IAAI4E,EAAE9D,EAAEd,GAAGkB,EAAEm5B,MAAMz1B,EAAE,IAAI7C,EAAE6C,EAAEwC,QAAQnH,EAAE2E,EAAEtB,QAAQ4Z,EAAEjd,EAAE46B,WAAW56B,EAAE46B,UAAU35B,GAAG,GAAGgc,EAAE,OAAOvd,KAAKg6B,UAAUzc,GAAE,EAAGzc,EAAEA,IAAIA,GAAGd,KAAK46B,SAASx4B,GAAE,EAAGb,EAAEusB,OAAM,GAAIhtB,GAAGqG,EAAE2Y,KAAK,CAAC/S,MAAMjL,EAAEw4B,QAAO,OAAQ,CAAC14B,IAAI,OAAON,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY,GAAGje,KAAK65B,QAAQ75B,KAAK65B,OAAOz0B,OAAO,CAAC,IAAItD,GAAE,EAAGmZ,EAAExU,SAAS,CAACozB,OAAO75B,KAAK65B,OAAO3a,aAAa/X,EAAE+X,aAAalX,QAAQb,EAAEa,QAAQujB,KAAK,MAAMhqB,GAAGvB,KAAKy6B,QAAQ34B,GAAG,IAAI,IAAIX,EAAE,EAAEA,EAAEnB,KAAK65B,OAAOz0B,OAAOjE,IAAI,CAAC,IAAIL,EAAEd,KAAK65B,OAAO14B,GAAGW,EAAE44B,MAAM55B,EAAEA,EAAE6C,QAAQgvB,MAAM7xB,EAAE6C,QAAQgvB,KAAK7wB,GAAG9B,KAAK65B,OAAO,KAAK75B,KAAKg6B,UAAU,QAAQ,CAACp4B,IAAI,gBAAgBN,MAAM,SAASC,GAAGvB,KAAK65B,OAAO,GAAG,IAAI,IAAI1yB,EAAE,EAAEA,EAAE5F,EAAE6D,OAAO+B,IAAI,CAAC,IAAIrF,EAAEP,EAAE4F,GAAGhG,EAAEW,EAAE2F,QAAQ3G,EAAEgB,EAAE6B,QAAQtD,EAAEyB,EAAElB,KAAKZ,KAAK65B,OAAOlpB,KAAK,CAAClJ,QAAQtG,EAAEwC,QAAQ7C,EAAE4E,MAAMyB,EAAEvG,KAAKP,IAAI,OAAOL,KAAK65B,SAAS,CAACj4B,IAAI,2BAA2BN,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEqF,EAAEiX,OAAOjd,EAAEgG,EAAEokB,KAAKzqB,EAAEqG,EAAEg0B,aAAa,GAAGr6B,EAAEgF,OAAO,CAAC,IAAI,IAAIzF,EAAES,EAAEi5B,WAAW90B,EAAEnE,EAAEgF,OAAO1D,EAAE6C,EAAE0Z,MAAMre,EAAE2E,EAAE61B,UAAUvd,EAAE,CAAC,CAACzb,EAAEyc,MAAMle,GAAG,CAACyB,EAAEuc,IAAIjc,IAAI1B,EAAE,EAAEA,EAAE6c,EAAEnY,OAAO1E,IAAI,CAAC,IAAIwG,EAAEoyB,GAAG/b,EAAE7c,GAAG,GAAGC,EAAEuG,EAAE,GAAG/E,EAAE+E,EAAE,GAAGvG,EAAE2d,KAAKlI,GAAGjU,EAAEiU,EAAEzV,EAAE2d,KAAKjI,GAAGlU,EAAEkU,EAAE1V,EAAE6d,OAAOpI,GAAGjU,EAAEiU,EAAEzV,EAAE6d,OAAOnI,GAAGlU,EAAEkU,EAAElV,EAAE8hB,MAAM3iB,EAAE2iB,KAAK9hB,EAAE+hB,OAAO5iB,EAAE4iB,MAAM/hB,EAAEgiB,KAAK7iB,EAAE6iB,IAAIhiB,EAAEiiB,QAAQ9iB,EAAE8iB,UAAU,CAACxhB,IAAI,WAAWN,MAAM,SAASC,EAAE4F,EAAErF,EAAEX,GAAG,SAASI,IAAG,IAAKA,EAAE6d,SAASje,IAAII,EAAE65B,SAAS75B,EAAE65B,UAAUj0B,GAAG,UAAUrF,IAAIP,EAAE85B,YAAY,CAACz5B,IAAI,WAAWN,MAAM,SAASC,GAAGvB,KAAK85B,YAAYv4B,EAAEu4B,YAAY95B,KAAK+5B,WAAWx4B,EAAEw4B,WAAW/5B,KAAKkwB,MAAM3uB,EAAE2uB,MAAMlwB,KAAK65B,OAAOt4B,EAAEs4B,OAAOjqB,KAAI,SAAUrO,GAAG,OAAM,EAAG63B,GAAG3yB,SAASlF,MAAMvB,KAAK8F,OAAOm0B,IAAG,EAAGhf,EAAExU,SAAS,GAAGlF,EAAEuE,OAAOsY,SAAQ,EAAGnD,EAAExU,SAAS,GAAGlF,EAAEuE,OAAOylB,SAAS,CAAC3pB,IAAI,UAAUN,MAAM,WAAW,IAAI,IAAIC,KAAKvB,KAAKA,KAAKuB,GAAG,UAAUk4B,GAAGtyB,EAAElF,UAAUH,GAAGX,GAAGs4B,GAAGtyB,EAAEhG,GAAGI,EAAzwJ,GAA8wJ,SAAS04B,GAAG14B,EAAE4F,GAAG,MAAM,CAACokB,KAAKpkB,EAAEiX,OAAO7c,EAAEod,MAAM,CAACvI,EAAE,EAAEC,EAAE,GAAGykB,UAAU,CAAC7X,KAAK,EAAEC,MAAM,EAAEC,IAAI,EAAEC,OAAO,GAAGyX,WAAW,GAAGE,SAAQ,GAAI,SAASpB,GAAGp4B,EAAE4F,GAAG,OAAO5F,EAAE,CAAC0hB,KAAK9b,EAAEiP,EAAE7U,EAAE0hB,KAAKE,IAAIhc,EAAEkP,EAAE9U,EAAE4hB,IAAID,MAAM3hB,EAAE2hB,MAAM/b,EAAEiP,EAAEgN,OAAO7hB,EAAE6hB,OAAOjc,EAAEkP,GAAG,CAAC4M,KAAK,EAAEE,IAAI,EAAED,MAAM,EAAEE,OAAO,GAAGiW,GAAG5yB,QAAQmzB,GAAG,IAAI0B,GAAG,GAAG,SAASC,GAAGh6B,GAAG,IAAI4F,EAAE5F,EAAEmd,OAAO5c,EAAEP,EAAE0c,YAAYkd,aAAar1B,OAAOhE,IAAIqF,EAAE+yB,UAAUp4B,EAAE+4B,YAAY95B,OAAOC,eAAes6B,GAAG,aAAa,CAACh6B,OAAM,IAAKg6B,GAAGE,aAAa,SAASj6B,EAAE4F,GAAG,IAAIrF,EAAEP,EAAEud,SAAS3d,EAAE,CAACod,MAAMhd,EAAEgd,MAAMuK,IAAIvnB,EAAEunB,IAAIoS,UAAU35B,EAAE25B,UAAUvI,KAAKpxB,EAAEoxB,MAAM7xB,EAAE,SAASS,GAAG,IAAIT,EAAES,GAAG,GAAG,IAAI,IAAIlB,KAAKS,EAAEse,SAAQ,IAAKte,EAAEse,QAAQtd,EAAEzB,KAAKS,IAAIA,EAAET,GAAGyB,EAAEzB,IAAI,IAAI4E,EAAE,CAACwC,QAAQ3G,EAAE6C,QAAQxC,EAAEP,KAAKuG,EAAEs0B,OAAO,WAAW,OAAO36B,EAAEse,SAAQ,EAAGna,GAAGy2B,QAAQ,WAAW,OAAO56B,EAAEse,SAAQ,EAAGna,IAAI,OAAOA,GAAuD,OAApDkC,GAAG,iBAAiBA,IAAIrG,EAAE66B,UAAU75B,EAAEhB,EAAEq5B,SAASh5B,GAAUL,GAAGw6B,GAAGM,kBAAkBL,GAAGD,GAAG70B,aAAQ,EAAO,IAAIo1B,GAAG,CAACnrB,GAAG,iBAAiBme,OAAO,CAAC,WAAWra,QAAQ,SAASjT,GAAGA,EAAEud,SAASuU,UAAU6G,UAAU,IAAIrd,UAAU,CAAC,mBAAmB,SAAStb,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY9W,EAAEg0B,aAAa,IAAI9B,GAAG5yB,QAAQU,IAAI,mCAAmC,SAAS5F,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYkd,aAAah0B,EAAEoX,MAAMhd,EAAEA,EAAE0c,YAAYG,OAAOG,MAAMD,MAAM/c,EAAE0c,YAAYiS,MAAM/oB,EAAE+oB,MAAM/oB,EAAE8zB,mBAAmB15B,IAAI,kCAAkC,SAASA,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaW,YAAYv6B,IAAI,iCAAiC,SAASA,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaD,UAAU35B,IAAI,4BAA4Bg6B,GAAG,2BAA2BA,GAAG,0BAA0BA,GAAG,kCAAkC,SAASh6B,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaY,yBAAyBx6B,IAAI,iCAAiC,SAASA,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaY,yBAAyBx6B,IAAI,oBAAoB,SAASA,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaxI,KAAKpxB,MAAM+5B,GAAG70B,QAAQo1B,GAAG,IAAIG,GAAG,GAAGj7B,OAAOC,eAAeg7B,GAAG,aAAa,CAAC16B,OAAM,IAAK06B,GAAGld,cAAS,EAAOkd,GAAGld,SAAS,CAACgX,KAAK,CAACzN,eAAe,OAAO4F,YAAY,QAAQoF,UAAU,CAACjU,SAAQ,EAAGwF,OAAO,CAACxO,EAAE,EAAEC,EAAE,IAAIuI,QAAQ,IAAI,IAAIqd,GAAG,GAAG,SAASC,GAAG36B,GAAG,OAAO26B,GAAG,mBAAmB96B,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAG,SAAS46B,GAAG56B,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAASi7B,GAAG76B,EAAE4F,GAAG,OAAOi1B,GAAGr7B,OAAO0oB,gBAAgB,SAASloB,EAAE4F,GAAG,OAAO5F,EAAEmoB,UAAUviB,EAAE5F,IAAIA,EAAE4F,GAAG,SAASk1B,GAAG96B,GAAG,IAAI4F,EAAE,WAAW,GAAG,oBAAoByiB,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOC,KAAK/nB,UAAUmK,SAAS5L,KAAKopB,QAAQC,UAAUG,KAAK,IAAG,iBAAiB,EAAG,MAAMzoB,GAAG,OAAM,GAApP,GAA2P,OAAO,WAAW,IAAIO,EAAEX,EAAEm7B,GAAG/6B,GAAG,GAAG4F,EAAE,CAAC,IAAIrG,EAAEw7B,GAAGt8B,MAAMqO,YAAYvM,EAAE8nB,QAAQC,UAAU1oB,EAAE2M,UAAUhN,QAAQgB,EAAEX,EAAE0M,MAAM7N,KAAK8N,WAAW,OAAOyuB,GAAGv8B,KAAK8B,IAAI,SAASy6B,GAAGh7B,EAAE4F,GAAG,OAAOA,GAAG,WAAW+0B,GAAG/0B,IAAI,mBAAmBA,EAAEq1B,GAAGj7B,GAAG4F,EAAE,SAASq1B,GAAGj7B,GAAG,QAAG,IAASA,EAAE,MAAM,IAAI2oB,eAAe,6DAA6D,OAAO3oB,EAAE,SAAS+6B,GAAG/6B,GAAG,OAAO+6B,GAAGv7B,OAAO0oB,eAAe1oB,OAAO6B,eAAe,SAASrB,GAAG,OAAOA,EAAEmoB,WAAW3oB,OAAO6B,eAAerB,KAAKA,GAAGR,OAAOC,eAAei7B,GAAG,aAAa,CAAC36B,OAAM,IAAK26B,GAAGQ,mBAAc,EAAO,IAAIC,GAAG,SAASn7B,IAAI,SAASA,EAAE4F,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAImF,UAAU,sDAAsD/K,EAAEU,UAAUlB,OAAOY,OAAOwF,GAAGA,EAAElF,UAAU,CAACoM,YAAY,CAAC/M,MAAMC,EAAEmV,UAAS,EAAGD,cAAa,KAAMtP,GAAGi1B,GAAG76B,EAAE4F,GAAhO,CAAoO9G,EAAEkB,GAAG,IAAI4F,EAAErF,EAAEX,EAAEL,EAAEu7B,GAAGh8B,GAAG,SAASA,EAAEkB,EAAE4F,EAAErF,EAAEX,EAAE8D,EAAE7C,EAAE9B,GAAG,IAAIid,GAAG,SAAShc,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKK,IAAIkd,EAAEzc,EAAEN,KAAKR,KAAKuB,IAAI0mB,YAAO,EAAO1K,EAAE2K,mBAAc,EAAO3K,EAAE+M,cAAc,KAAK/M,EAAE8I,aAAQ,EAAO9I,EAAE+I,aAAQ,EAAO/I,EAAE8W,YAAO,EAAO9W,EAAE4B,aAAQ,EAAO5B,EAAEof,aAAQ,EAAOpf,EAAEqf,cAAS,EAAOrf,EAAEsf,YAAO,EAAOtf,EAAEuf,aAAQ,EAAOvf,EAAEe,UAAK,EAAOf,EAAEiB,YAAO,EAAOjB,EAAEoB,WAAM,EAAOpB,EAAEgO,UAAK,EAAOhO,EAAEwf,QAAG,EAAOxf,EAAEyf,QAAG,EAAOzf,EAAE0f,QAAG,EAAO1f,EAAE2O,QAAG,EAAO3O,EAAE2f,cAAS,EAAO3f,EAAE4f,cAAS,EAAO5f,EAAE6f,cAAS,EAAO7f,EAAEkB,cAAS,EAAOlB,EAAEgV,WAAM,EAAOhV,EAAE8f,WAAM,EAAO9f,EAAEiJ,eAAU,EAAOjJ,EAAEyO,eAAU,EAAOzO,EAAEuO,eAAU,EAAOvO,EAAE+R,UAAK,EAAO/R,EAAE+c,YAAO,EAAOr1B,EAAEA,GAAG1D,EAAEyG,QAAQ,IAAItH,EAAEa,EAAE2d,aAAahY,GAAGxG,GAAGA,EAAE+G,SAASu0B,GAAGld,UAAUmP,YAAYttB,GAAE,EAAG0Y,EAAE5S,SAAS/F,EAAEuE,EAAEnD,GAAGK,EAAE,UAAUhB,EAAEuK,EAAE,QAAQvK,EAAEyR,EAAEzQ,EAAEq6B,GAAGjf,GAAGhc,EAAEotB,UAAU3O,EAAE7d,EAAEZ,EAAE6c,OAAOG,MAAM7S,EAAE,CAAC4S,KAAK1L,EAAE0L,KAAKE,OAAO5L,EAAE4L,OAAOgI,UAAUjlB,EAAE6c,OAAOC,IAAImI,WAAWjlB,EAAE6c,OAAOC,IAAI,OAAOd,EAAEe,MAAK,EAAGrD,EAAExU,SAAS,GAAGuZ,EAAE1B,MAAMf,EAAEiB,QAAO,EAAGvD,EAAExU,SAAS,GAAGuZ,EAAExB,QAAQjB,EAAEgO,MAAK,EAAGtQ,EAAExU,SAAS,GAAGlF,EAAEgqB,MAAMhO,EAAEiJ,UAAUxG,EAAEwG,UAAU9a,IAAI6R,EAAEe,KAAKlI,GAAGzV,EAAEyV,EAAEmH,EAAEe,KAAKjI,GAAG1V,EAAE0V,EAAEkH,EAAEiB,OAAOpI,GAAGzV,EAAEyV,EAAEmH,EAAEiB,OAAOnI,GAAG1V,EAAE0V,GAAGkH,EAAEof,QAAQx1B,EAAEw1B,QAAQpf,EAAEsf,OAAO11B,EAAE01B,OAAOtf,EAAEqf,SAASz1B,EAAEy1B,SAASrf,EAAEuf,QAAQ31B,EAAE21B,QAAQvf,EAAE8W,OAAOltB,EAAEktB,OAAO9W,EAAE4B,QAAQhY,EAAEgY,QAAQ5B,EAAE0K,OAAOhjB,EAAEsY,EAAE2K,cAAcjjB,EAAEsY,EAAE+c,OAAOl4B,EAAEmb,EAAEhT,KAAKjK,GAAGwB,GAAGX,GAAG,IAAIoc,EAAE2B,aAAaxe,EAAE6c,EAAE0f,GAAG96B,EAAEZ,EAAEwsB,SAASxsB,EAAEwsB,SAAS3oB,OAAO,GAAGk4B,SAAS1qB,EAAEqqB,GAAG1f,EAAEwf,GAAGx7B,EAAE6c,OAAOG,MAAMD,KAAKlI,EAAEzV,EAAEyV,EAAEmH,EAAEyf,GAAGz7B,EAAE6c,OAAOG,MAAMD,KAAKjI,EAAE1V,EAAE0V,EAAEkH,EAAE4f,SAAS57B,EAAE6c,OAAOG,MAAMC,OAAOpI,EAAEzV,EAAEyV,EAAEmH,EAAE6f,SAAS77B,EAAE6c,OAAOG,MAAMC,OAAOnI,EAAE1V,EAAE0V,EAAEkH,EAAEoB,MAAMxc,GAAGuJ,EAAE,CAAC0K,EAAE,EAAEC,EAAE,GAAG,CAACD,EAAEmH,EAAErW,GAAGkP,EAAExD,EAAE1L,GAAGkP,EAAEC,EAAEkH,EAAErW,GAAGmP,EAAEzD,EAAE1L,GAAGmP,GAAGkH,EAAE2O,GAAG3qB,EAAE6c,OAAOO,MAAM6H,UAAUjJ,EAAE2f,SAAS3f,EAAEiJ,UAAUjJ,EAAE0f,GAAG1f,EAAEkB,UAAS,EAAGxD,EAAExU,SAAS,GAAGlF,EAAE6c,OAAOK,SAASvX,IAAIqW,EAAEgV,OAAM,EAAGrN,EAAEze,SAAS8W,EAAEkB,SAASrI,EAAEmH,EAAEkB,SAASpI,GAAGkH,EAAE8f,MAAM3xB,GAAG,iBAAiBvK,EAAEoc,EAAEggB,WAAW,KAAKhgB,EAAE,OAAOpW,EAAE9G,GAAGyB,EAAE,CAAC,CAACF,IAAI,WAAWN,MAAM,WAAW,IAAIC,EAAEvB,KAAK0oB,aAAa,GAAGnnB,EAAEotB,UAAU4D,MAAM,KAAKvyB,KAAKwmB,UAAUjlB,EAAEotB,UAAUnI,UAAU,IAAI,OAAO,KAAK,IAAIrf,EAAE,IAAIoR,KAAKoP,MAAMpmB,EAAEotB,UAAU6O,UAAUj8B,EAAEotB,UAAU8O,WAAWllB,KAAKqP,GAAGzgB,EAAE,IAAIA,GAAG,KAAK,IAAIrF,EAAE,OAAOqF,GAAGA,EAAE,MAAMhG,EAAE,OAAOgG,GAAGA,EAAE,MAAM,MAAM,CAACoa,GAAGpgB,EAAEqgB,MAAMrgB,GAAG,MAAMgG,GAAGA,EAAE,MAAM8b,KAAKnhB,EAAEohB,OAAOphB,IAAI,OAAOqF,GAAGA,EAAE,MAAMmnB,MAAMnnB,EAAEorB,MAAMhxB,EAAEotB,UAAU4D,MAAM9T,SAAS,CAACrI,EAAE7U,EAAEotB,UAAU8O,UAAUpnB,EAAE9U,EAAEotB,UAAU6O,cAAc,CAAC57B,IAAI,iBAAiBN,MAAM,cAAc,CAACM,IAAI,2BAA2BN,MAAM,WAAWtB,KAAK2oB,4BAA4B3oB,KAAK4oB,oBAAmB,IAAK,CAAChnB,IAAI,kBAAkBN,MAAM,WAAWtB,KAAK4oB,oBAAmB,OAAQuT,GAAGh1B,EAAElF,UAAUH,GAAGX,GAAGg7B,GAAGh1B,EAAEhG,GAAGd,EAAjpF,CAAopFioB,EAAEE,WAAWyT,GAAGQ,cAAcC,GAAG37B,OAAOuG,iBAAiBo1B,GAAGz6B,UAAU,CAACgkB,MAAM,CAAC/kB,IAAI,WAAW,OAAOlB,KAAKse,KAAKlI,GAAG0S,IAAI,SAASvnB,GAAGvB,KAAKse,KAAKlI,EAAE7U,IAAI2kB,MAAM,CAAChlB,IAAI,WAAW,OAAOlB,KAAKse,KAAKjI,GAAGyS,IAAI,SAASvnB,GAAGvB,KAAKse,KAAKjI,EAAE9U,IAAI4kB,QAAQ,CAACjlB,IAAI,WAAW,OAAOlB,KAAKwe,OAAOpI,GAAG0S,IAAI,SAASvnB,GAAGvB,KAAKwe,OAAOpI,EAAE7U,IAAI6kB,QAAQ,CAACllB,IAAI,WAAW,OAAOlB,KAAKwe,OAAOnI,GAAGyS,IAAI,SAASvnB,GAAGvB,KAAKwe,OAAOnI,EAAE9U,IAAI60B,GAAG,CAACl1B,IAAI,WAAW,OAAOlB,KAAK2e,MAAMvI,GAAG0S,IAAI,SAASvnB,GAAGvB,KAAK2e,MAAMvI,EAAE7U,IAAI80B,GAAG,CAACn1B,IAAI,WAAW,OAAOlB,KAAK2e,MAAMtI,GAAGyS,IAAI,SAASvnB,GAAGvB,KAAK2e,MAAMtI,EAAE9U,IAAIk8B,UAAU,CAACv8B,IAAI,WAAW,OAAOlB,KAAKye,SAASrI,GAAG0S,IAAI,SAASvnB,GAAGvB,KAAKye,SAASrI,EAAE7U,IAAIi8B,UAAU,CAACt8B,IAAI,WAAW,OAAOlB,KAAKye,SAASpI,GAAGyS,IAAI,SAASvnB,GAAGvB,KAAKye,SAASpI,EAAE9U,MAAM,IAAIm8B,GAAG,GAAG38B,OAAOC,eAAe08B,GAAG,aAAa,CAACp8B,OAAM,IAAKo8B,GAAGC,iBAAY,EAAOD,GAAGC,YAAY,SAASp8B,EAAE4F,EAAErF,EAAEX,EAAEL,EAAET,IAAI,SAASkB,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAK0Q,QAAG,EAAO1Q,KAAKguB,aAAQ,EAAOhuB,KAAK+M,WAAM,EAAO/M,KAAKs9B,cAAS,EAAOt9B,KAAK49B,gBAAW,EAAO59B,KAAK0Q,GAAGvJ,EAAEnH,KAAKguB,QAAQlsB,EAAE9B,KAAK+M,MAAM5L,EAAEnB,KAAKs9B,SAASx8B,EAAEd,KAAK49B,WAAWv9B,GAAG,IAAIw9B,GAAGC,GAAGC,GAAG,GAAG,SAASC,GAAGz8B,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAAS88B,GAAG18B,EAAE4F,EAAErF,GAAG,OAAOqF,GAAG62B,GAAGz8B,EAAEU,UAAUkF,GAAGrF,GAAGk8B,GAAGz8B,EAAEO,GAAGP,EAAER,OAAOC,eAAe+8B,GAAG,aAAa,CAACz8B,OAAM,IAAKP,OAAOC,eAAe+8B,GAAG,cAAc,CAAC98B,YAAW,EAAGC,IAAI,WAAW,OAAOw8B,GAAGC,eAAeI,GAAGt3B,QAAQs3B,GAAGG,YAAYH,GAAGI,cAAcJ,GAAGK,kBAAa,EAAOL,GAAGK,aAAaP,GAAG,SAASt8B,GAAGA,EAAE2d,aAAa,GAAG3d,EAAEyG,QAAQ,GAAGzG,EAAE2c,SAAS,GAAG3c,EAAE8d,cAAc,GAAG9d,EAAEy0B,gBAAgB,GAAGz0B,EAAEsnB,OAAO,GAA1G,CAA8GgV,KAAKE,GAAGK,aAAaP,GAAG,KAAKE,GAAGI,cAAcL,GAAG,SAASv8B,GAAGA,EAAEgd,MAAM,GAAGhd,EAAEue,KAAK,GAAGve,EAAE88B,IAAI,GAAG98B,EAAEoxB,KAAK,GAAGpxB,EAAEwxB,YAAY,GAAlE,CAAsE+K,KAAKC,GAAGI,cAAcL,GAAG,KAAK,IAAIQ,GAAG,EAAEC,GAAG,WAAW,SAASh9B,EAAE4F,GAAG,IAAIrF,EAAE9B,KAAKmB,EAAEgG,EAAEmY,YAAYxe,EAAEqG,EAAEq3B,WAAW,SAASj9B,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAKkf,aAAa,KAAKlf,KAAKgI,QAAQ,KAAKhI,KAAKurB,UAAK,EAAOvrB,KAAKmwB,YAAO,EAAOnwB,KAAKkwB,WAAM,EAAOlwB,KAAKy+B,gBAAW,EAAOz+B,KAAKke,SAAS,CAACtd,KAAK,KAAKud,KAAK,KAAK+R,MAAM,MAAMlwB,KAAKsf,iBAAY,EAAOtf,KAAK+tB,SAAS,GAAG/tB,KAAKu2B,UAAU,KAAKv2B,KAAKs2B,YAAY,GAAGt2B,KAAKwwB,eAAe,CAACxC,QAAQ,KAAKjhB,MAAM,KAAK0jB,YAAY,MAAMzwB,KAAK2uB,UAAU,KAAK3uB,KAAKqf,eAAc,EAAGrf,KAAKg2B,iBAAgB,EAAGh2B,KAAK41B,cAAa,EAAG51B,KAAK0+B,SAAQ,EAAG1+B,KAAK2+B,UAAS,EAAG3+B,KAAK6oB,OAAO,KAAK7oB,KAAKgzB,WAAW,KAAKhzB,KAAK4+B,QAAO,EAAGtL,GAAGC,WAAU,SAAUhyB,GAAGvB,KAAK8f,KAAKve,KAAK,0EAA0EvB,KAAKoe,OAAO,CAACG,MAAMkH,EAAE0C,YAAYoC,KAAK9E,EAAE0C,YAAY9J,IAAIoH,EAAE0C,YAAYxJ,MAAM8G,EAAE0C,YAAY1J,SAASgH,EAAE0C,aAAanoB,KAAK6+B,IAAIP,KAAKt+B,KAAKy+B,WAAW39B,EAAEd,KAAKsf,YAAYne,EAAE,IAAId,EAAEL,KAAKA,KAAK6oB,OAAO,GAAG,IAAI5jB,EAAE,SAAS1D,GAAGR,OAAOC,eAAec,EAAE+mB,OAAOtnB,EAAE,CAACL,IAAI,WAAW,OAAOb,EAAEkB,OAAO,IAAI,IAAIa,KAAKy7B,GAAG54B,EAAE7C,GAAG,IAAI9B,EAAE,SAASiB,GAAGR,OAAOC,eAAec,EAAE+mB,OAAOtnB,EAAE,CAACD,MAAM,WAAW,OAAOjB,EAAEkB,GAAGsM,MAAMxN,EAAEyN,eAAe,IAAI,IAAIyP,KAAKugB,GAAGx9B,EAAEid,GAAGvd,KAAKy+B,WAAW,mBAAmB,CAACxgB,YAAYje,OAAO,OAAOi+B,GAAG18B,EAAE,CAAC,CAACK,IAAI,uBAAuBV,IAAI,WAAW,OAAO,MAAM+8B,GAAG18B,EAAE,CAAC,CAACK,IAAI,cAAcN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,IAAIX,EAAEnB,KAAK8+B,cAAcv9B,EAAE4F,EAAErF,GAAE,GAAIhB,EAAEd,KAAK+tB,SAAS5sB,GAAGnB,KAAKy+B,WAAW,oBAAoB,CAACzQ,QAAQzsB,EAAEwL,MAAM5F,EAAEspB,YAAY3uB,EAAEi9B,aAAa59B,EAAE69B,YAAYl+B,EAAEyJ,KAAK,OAAO0T,YAAYje,SAAS,CAAC4B,IAAI,QAAQN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,QAAQ9B,KAAK+yB,gBAAgB/yB,KAAKqf,eAAerf,KAAK+tB,SAAS3oB,QAAQ,YAAY7D,EAAEX,KAAK,EAAE,KAAKuG,EAAEM,QAAQlG,EAAEX,MAAMwe,YAAW,EAAGkU,GAAGG,YAAYzzB,KAAKke,SAAS3c,GAAGvB,KAAKkf,aAAa/X,EAAEnH,KAAKgI,QAAQlG,EAAE9B,KAAKurB,KAAKpkB,EAAEgd,QAAQriB,GAAG9B,KAAKkwB,MAAMlwB,KAAKke,SAASgS,OAAM,EAAGjV,EAAExU,SAAS,GAAGzG,KAAKke,SAASgS,OAAO,CAACjN,MAAK,EAAGC,OAAM,EAAGC,KAAI,EAAGC,QAAO,GAAIpjB,KAAK2+B,UAAS,EAAG3+B,KAAK41B,aAAa51B,KAAKi/B,SAAS,CAAChhB,YAAYje,KAAK+M,MAAM/M,KAAKu2B,UAAUzI,MAAM,YAAY9tB,KAAK2+B,SAAS3+B,KAAK41B,gBAAgB,CAACh0B,IAAI,cAAcN,MAAM,SAASC,EAAE4F,EAAErF,GAAG9B,KAAKgzB,YAAYhzB,KAAKm7B,cAAcn7B,KAAKm7B,aAAanB,WAAWh6B,KAAK8+B,cAAcv9B,EAAE4F,EAAErF,GAAE,GAAI,IAAIX,EAAEL,EAAET,EAAEL,KAAKoe,OAAOC,IAAIC,KAAKlI,IAAIpW,KAAKoe,OAAOmM,KAAKjM,KAAKlI,GAAGpW,KAAKoe,OAAOC,IAAIC,KAAKjI,IAAIrW,KAAKoe,OAAOmM,KAAKjM,KAAKjI,GAAGrW,KAAKoe,OAAOC,IAAIG,OAAOpI,IAAIpW,KAAKoe,OAAOmM,KAAK/L,OAAOpI,GAAGpW,KAAKoe,OAAOC,IAAIG,OAAOnI,IAAIrW,KAAKoe,OAAOmM,KAAK/L,OAAOnI,EAAErW,KAAKqf,gBAAgBrf,KAAKg2B,kBAAkB70B,EAAEnB,KAAKoe,OAAOC,IAAIG,OAAOpI,EAAEpW,KAAKoe,OAAOG,MAAMC,OAAOpI,EAAEtV,EAAEd,KAAKoe,OAAOC,IAAIG,OAAOnI,EAAErW,KAAKoe,OAAOG,MAAMC,OAAOnI,EAAErW,KAAKg2B,iBAAgB,EAAG9Q,EAAEze,SAAStF,EAAEL,GAAGd,KAAKk/B,sBAAsB,IAAIj6B,EAAEjF,KAAKm/B,gBAAgB59B,GAAGa,EAAE,CAAC4rB,QAAQzsB,EAAEw9B,aAAa95B,EAAE+5B,YAAYh/B,KAAK+tB,SAAS9oB,GAAG8H,MAAM5F,EAAEoD,KAAK,OAAOkmB,YAAY3uB,EAAEs0B,GAAGj1B,EAAEk1B,GAAGv1B,EAAE+1B,UAAUx2B,EAAE4d,YAAYje,MAAMK,GAAGolB,EAAEiB,iBAAiB1mB,KAAKoe,OAAOK,SAASze,KAAKoe,OAAOO,OAAO3e,KAAKy+B,WAAW,oBAAoBr8B,GAAG/B,GAAGL,KAAKgzB,aAAahzB,KAAK+yB,gBAAgB3wB,EAAEmI,KAAK,KAAKvK,KAAK8f,KAAK1d,IAAIpC,KAAKg2B,iBAAiBvQ,EAAEc,WAAWvmB,KAAKoe,OAAOmM,KAAKvqB,KAAKoe,OAAOC,QAAQ,CAACzc,IAAI,OAAON,MAAM,SAASC,GAAGA,GAAGA,EAAEwL,OAAO0Y,EAAEmB,cAAc5mB,KAAKoe,OAAOO,QAAQpd,GAAE,EAAG0Z,EAAExU,SAAS,CAACunB,QAAQhuB,KAAKwwB,eAAexC,QAAQjhB,MAAM/M,KAAKwwB,eAAezjB,MAAM0jB,YAAYzwB,KAAKwwB,eAAeC,YAAYxS,YAAYje,MAAMuB,GAAG,KAAKusB,MAAM,OAAO9tB,KAAKi/B,SAAS19B,KAAK,CAACK,IAAI,YAAYN,MAAM,SAASC,EAAE4F,EAAErF,EAAEX,GAAG,IAAIL,EAAEd,KAAKm/B,gBAAgB59B,IAAI,IAAIT,IAAIA,EAAEd,KAAK8+B,cAAcv9B,EAAE4F,EAAErF,GAAE,IAAK,IAAIzB,EAAE,WAAWma,KAAKrT,EAAEoD,MAAM,SAAS,KAAKvK,KAAKy+B,WAAW,gBAAgB1uB,OAAO1P,GAAG,CAAC2tB,QAAQzsB,EAAEw9B,aAAaj+B,EAAEk+B,YAAYh/B,KAAK+tB,SAASjtB,GAAGiM,MAAM5F,EAAEspB,YAAY3uB,EAAEyI,KAAKlK,EAAE++B,eAAej+B,EAAE8c,YAAYje,OAAOA,KAAKgzB,YAAYhzB,KAAKq+B,IAAIl3B,GAAGnH,KAAKq/B,cAAc99B,EAAE4F,KAAK,CAACvF,IAAI,eAAeN,MAAM,SAASC,GAAGvB,KAAKq+B,IAAI98B,GAAGvB,KAAKy+B,WAAW,oBAAoB,CAAC1xB,MAAMxL,EAAEgJ,KAAK,OAAO0T,YAAYje,SAAS,CAAC4B,IAAI,MAAMN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAK0+B,SAAQ,EAAGn9B,EAAEA,GAAGvB,KAAKwwB,eAAezjB,MAAM/M,KAAK+yB,gBAAgB5rB,EAAEnH,KAAKi/B,SAAS,CAAClyB,MAAMxL,EAAE0c,YAAYje,KAAK8tB,MAAM,SAAS9tB,KAAK0+B,SAAQ,GAAG,IAAKv3B,GAAGnH,KAAK2yB,SAAS,CAAC/wB,IAAI,gBAAgBN,MAAM,WAAW,OAAOtB,KAAK41B,aAAa51B,KAAKke,SAAStd,KAAK,OAAO,CAACgB,IAAI,cAAcN,MAAM,WAAW,OAAOtB,KAAK41B,eAAe,CAACh0B,IAAI,OAAON,MAAM,WAAWtB,KAAKy+B,WAAW,oBAAoB,CAACxgB,YAAYje,OAAOA,KAAKkf,aAAalf,KAAKgI,QAAQ,KAAKhI,KAAK41B,cAAa,EAAG51B,KAAK2+B,UAAS,EAAG3+B,KAAKke,SAAStd,KAAKZ,KAAK2uB,UAAU,OAAO,CAAC/sB,IAAI,kBAAkBN,MAAM,SAASC,GAAG,IAAI4F,EAAEse,EAAEwB,aAAa1lB,GAAG,MAAM,UAAUvB,KAAKsf,aAAa,QAAQtf,KAAKsf,YAAYtf,KAAK+tB,SAAS3oB,OAAO,EAAE2jB,EAAEE,UAAUjpB,KAAK+tB,UAAS,SAAUxsB,GAAG,OAAOA,EAAEmP,KAAKvJ,OAAO,CAACvF,IAAI,iBAAiBN,MAAM,SAASC,GAAG,OAAOvB,KAAK+tB,SAAS/tB,KAAKm/B,gBAAgB59B,MAAM,CAACK,IAAI,gBAAgBN,MAAM,SAASC,EAAE4F,EAAErF,EAAEX,GAAG,IAAIL,EAAE2kB,EAAEwB,aAAa1lB,GAAGlB,EAAEL,KAAKm/B,gBAAgB59B,GAAG0D,EAAEjF,KAAK+tB,SAAS1tB,GAAG,OAAOc,GAAE,IAAKA,IAAIA,GAAG,iBAAiBqZ,KAAKrT,EAAEoD,OAAOtF,EAAEA,EAAE+oB,QAAQzsB,GAAG0D,EAAE,IAAIy4B,GAAGC,YAAY78B,EAAES,EAAE4F,EAAE,KAAK,MAAM9G,EAAEL,KAAK+tB,SAAS3oB,OAAOpF,KAAK+tB,SAASpd,KAAK1L,IAAIwgB,EAAE2B,UAAUpnB,KAAKoe,OAAOC,IAAIre,KAAK+tB,SAASne,KAAI,SAAUrO,GAAG,OAAOA,EAAEysB,WAAWhuB,KAAKs/B,QAAQ7Z,EAAEgB,eAAezmB,KAAKoe,OAAOO,MAAM3e,KAAKoe,OAAOmM,KAAKvqB,KAAKoe,OAAOC,KAAKld,IAAInB,KAAKqf,eAAc,EAAGpa,EAAEq4B,SAASt9B,KAAKoe,OAAOC,IAAImI,UAAUvhB,EAAE24B,WAAW97B,EAAE2jB,EAAE8Z,cAAcv/B,KAAKs2B,YAAY/0B,GAAGvB,KAAK+yB,gBAAgBtN,EAAEc,WAAWvmB,KAAKoe,OAAOG,MAAMve,KAAKoe,OAAOC,KAAKoH,EAAEc,WAAWvmB,KAAKoe,OAAOmM,KAAKvqB,KAAKoe,OAAOC,KAAKre,KAAKu2B,UAAUpvB,EAAEnH,KAAKg2B,iBAAgB,IAAKh2B,KAAKw/B,qBAAqBj+B,EAAE4F,EAAErF,GAAG9B,KAAKy+B,WAAW,8BAA8B,CAACzQ,QAAQzsB,EAAEwL,MAAM5F,EAAEspB,YAAY3uB,EAAE0f,KAAKrgB,EAAE69B,YAAY/5B,EAAE85B,aAAa1+B,EAAE4d,YAAYje,OAAOK,IAAI,CAACuB,IAAI,gBAAgBN,MAAM,SAASC,EAAE4F,GAAG,IAAIrF,EAAE9B,KAAKm/B,gBAAgB59B,GAAG,IAAI,IAAIO,EAAE,CAAC,IAAIX,EAAEnB,KAAK+tB,SAASjsB,GAAG9B,KAAKy+B,WAAW,8BAA8B,CAACzQ,QAAQzsB,EAAEwL,MAAM5F,EAAEspB,YAAY,KAAKsO,aAAaj9B,EAAEk9B,YAAY79B,EAAE8c,YAAYje,OAAOA,KAAK+tB,SAASjR,OAAOhb,EAAE,GAAG9B,KAAKqf,eAAc,KAAM,CAACzd,IAAI,uBAAuBN,MAAM,SAASC,EAAE4F,EAAErF,GAAG9B,KAAKwwB,eAAexC,QAAQzsB,EAAEvB,KAAKwwB,eAAezjB,MAAM5F,EAAEnH,KAAKwwB,eAAeC,YAAY3uB,IAAI,CAACF,IAAI,UAAUN,MAAM,WAAWtB,KAAKwwB,eAAexC,QAAQ,KAAKhuB,KAAKwwB,eAAezjB,MAAM,KAAK/M,KAAKwwB,eAAeC,YAAY,OAAO,CAAC7uB,IAAI,uBAAuBN,MAAM,SAASC,EAAE4F,EAAErF,EAAEX,GAAG,OAAO,IAAI86B,GAAGQ,cAAcz8B,KAAKuB,EAAEvB,KAAKke,SAAStd,KAAKuG,EAAEnH,KAAKgI,QAAQlG,EAAEX,KAAK,CAACS,IAAI,aAAaN,MAAM,SAASC,GAAGvB,KAAKkf,aAAa4L,KAAKvpB,KAAKvB,KAAK2uB,WAAWptB,EAAEilB,WAAWxmB,KAAK2uB,UAAUnI,aAAaxmB,KAAK2uB,UAAUptB,KAAK,CAACK,IAAI,WAAWN,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAEwL,MAAMjL,EAAEP,EAAEusB,MAAM3sB,EAAEI,EAAE+4B,OAAOx5B,EAAES,EAAEgJ,KAAKlK,EAAEL,KAAKurB,KAAK,GAAGlrB,GAAG,SAASyB,IAAIiiB,EAAEY,SAAS3kB,KAAKkwB,MAAM7vB,EAAEL,KAAKoe,OAAOO,MAAM3e,KAAKkf,aAAazX,QAAQwmB,cAAc5tB,EAAE8I,MAAM9I,EAAE6iB,MAAM7iB,EAAE4iB,KAAK5iB,EAAEgJ,OAAOhJ,EAAE+iB,OAAO/iB,EAAE8iB,MAAK,IAAKnjB,KAAKy+B,WAAW,8BAA8B1uB,OAAOjO,GAAGP,GAAG,OAAM,EAAG,IAAI0D,EAAE1D,EAAEmd,OAAO1e,KAAKy/B,qBAAqBt4B,EAAErF,EAAEX,EAAEL,GAAG,OAAOd,KAAKy+B,WAAW,uBAAuB1uB,OAAOjO,GAAGP,GAAG,UAAUO,IAAI9B,KAAK2uB,UAAU1pB,GAAGjF,KAAK0/B,WAAWz6B,GAAGjF,KAAKy+B,WAAW,6BAA6B1uB,OAAOjO,GAAGP,IAAG,IAAK,CAACK,IAAI,OAAON,MAAM,WAAW,OAAO0oB,KAAKwH,UAAUjwB,EAAnwN,GAAwwNw8B,GAAGG,YAAYK,GAAG,IAAIoB,GAAGpB,GAAGR,GAAGt3B,QAAQk5B,GAAG,IAAIC,GAAG,GAAG,SAASC,GAAGt+B,GAAGA,EAAE8d,gBAAgBygB,GAAGv+B,EAAE6c,OAAOC,IAAI9c,EAAEw+B,OAAOC,OAAOz+B,EAAEw+B,OAAOE,QAAQ7pB,EAAE,EAAE7U,EAAEw+B,OAAOE,QAAQ5pB,EAAE,GAAG,SAAS6pB,GAAG3+B,GAAG4+B,GAAG5+B,EAAE0c,aAAa,SAASkiB,GAAG5+B,GAAG,IAAI,SAASA,GAAG,SAASA,EAAEw+B,OAAOE,QAAQ7pB,IAAI7U,EAAEw+B,OAAOE,QAAQ5pB,GAA3D,CAA+D9U,GAAG,OAAM,EAAG,IAAI4F,EAAE5F,EAAEw+B,OAAOE,QAAQ,OAAOH,GAAGv+B,EAAE6c,OAAOC,IAAIlX,GAAG24B,GAAGv+B,EAAE6c,OAAOO,MAAMxX,GAAG4c,EAAEY,SAASpjB,EAAE2uB,MAAM3uB,EAAEgqB,KAAKpkB,GAAGA,EAAEiP,EAAE,EAAEjP,EAAEkP,EAAE,GAAE,EAAG,SAAS+pB,GAAG7+B,GAAG,IAAI4F,EAAE5F,EAAE6U,EAAEtU,EAAEP,EAAE8U,EAAErW,KAAK+/B,OAAOE,QAAQ7pB,GAAGjP,EAAEnH,KAAK+/B,OAAOE,QAAQ5pB,GAAGvU,EAAE9B,KAAK+/B,OAAOC,MAAM5pB,GAAGjP,EAAEnH,KAAK+/B,OAAOC,MAAM3pB,GAAGvU,EAAE,SAASg+B,GAAGv+B,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE+c,KAAKnd,EAAEI,EAAEid,OAAO1d,EAAEqG,EAAEiP,EAAE/V,EAAE8G,EAAEkP,EAAEvU,EAAEsU,GAAGtV,EAAEgB,EAAEuU,GAAGhW,EAAEc,EAAEiV,GAAGtV,EAAEK,EAAEkV,GAAGhW,EAAEU,OAAOC,eAAe4+B,GAAG,aAAa,CAACt+B,OAAM,IAAKs+B,GAAGS,SAASR,GAAGD,GAAGU,aAAaH,GAAGP,GAAGn5B,aAAQ,EAAOs3B,GAAGI,cAAcoC,SAAS,GAAG,IAAI9T,GAAG,CAAC/b,GAAG,SAASme,OAAO,CAAC,YAAY,iBAAiB,UAAU,WAAWra,QAAQ,SAASjT,GAAGA,EAAE28B,YAAYj8B,UAAUs+B,SAASH,IAAIvjB,UAAU,CAAC,mBAAmB,SAAStb,GAAGA,EAAE0c,YAAY8hB,OAAO,CAACC,MAAM,CAAC5pB,EAAE,EAAEC,EAAE,GAAG4pB,QAAQ,CAAC7pB,EAAE,EAAEC,EAAE,KAAK,8BAA8B,SAAS9U,GAAG,OAAOs+B,GAAGt+B,EAAE0c,cAAc,mCAAmCiiB,GAAG,kCAAkCA,GAAG,iCAAiC,SAAS3+B,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY,GAAGkiB,GAAGh5B,GAAG,OAAOA,EAAE2Y,KAAK,CAACigB,QAAO,IAAK54B,EAAEk3B,OAAM,GAAI,oBAAoB,SAAS98B,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY9W,EAAE44B,OAAOC,MAAM5pB,EAAE,EAAEjP,EAAE44B,OAAOC,MAAM3pB,EAAE,EAAElP,EAAE44B,OAAOE,QAAQ7pB,EAAE,EAAEjP,EAAE44B,OAAOE,QAAQ5pB,EAAE,KAAKupB,GAAGn5B,QAAQgmB,GAAG,IAAI+T,GAAG,GAAG,SAASC,GAAGl/B,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAIJ,OAAOC,eAAew/B,GAAG,aAAa,CAACl/B,OAAM,IAAKk/B,GAAG/5B,QAAQ+5B,GAAGE,kBAAa,EAAO,IAAIC,GAAG,WAAW,SAASp/B,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAK4gC,QAAO,EAAG5gC,KAAK6gC,YAAW,EAAG7gC,KAAK8gC,WAAU,EAAG9gC,KAAK+gC,aAAY,EAAG/gC,KAAKm7B,aAAa,KAAKn7B,KAAKghC,cAAc,EAAEhhC,KAAKihC,YAAY,KAAKjhC,KAAKkhC,YAAY,KAAKlhC,KAAKi9B,GAAG,EAAEj9B,KAAKmhC,GAAG,EAAEnhC,KAAKm2B,GAAG,EAAEn2B,KAAKohC,aAAa,KAAKphC,KAAKqhC,eAAe,KAAKrhC,KAAKshC,cAAc,KAAKthC,KAAKuhC,UAAU,EAAEvhC,KAAKwhC,UAAU,EAAExhC,KAAKyhC,QAAQ,KAAKzhC,KAAKie,iBAAY,EAAOje,KAAKie,YAAY9W,EAAE,IAAIA,EAAErF,EAAEX,EAAE,OAAOgG,EAAE5F,GAAGO,EAAE,CAAC,CAACF,IAAI,QAAQN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAKie,YAAYnc,EAAE4/B,GAAGv6B,GAAG,IAAIrF,IAAIA,EAAEsd,QAAQ,OAAM,EAAG,IAAIje,EAAEgG,EAAEiX,OAAOK,SAASD,OAAO1d,GAAE,EAAGokB,EAAEze,SAAStF,EAAEiV,EAAEjV,EAAEkV,GAAGhW,EAAEL,KAAKm7B,eAAen7B,KAAKm7B,aAAa,IAAI9B,GAAG5yB,QAAQU,IAAI,GAAG9G,EAAEshC,SAASx6B,EAAEg0B,cAAcn7B,KAAKi9B,GAAG91B,EAAEm4B,OAAOt/B,KAAK+gC,YAAYj/B,EAAEi/B,YAAY/gC,KAAKmhC,GAAGrgC,EAAEd,KAAKshC,cAAc,CAAClrB,EAAE,EAAEC,EAAE,GAAGrW,KAAKkhC,YAAY/5B,EAAEiX,OAAOC,IAAIC,KAAKte,KAAKihC,YAAY,CAAChjB,YAAY9W,EAAE+X,aAAa/X,EAAE+X,aAAalX,QAAQb,EAAEa,QAAQujB,KAAKpkB,EAAEokB,KAAK2E,MAAM/oB,EAAE+oB,MAAMmK,WAAWr6B,KAAKkhC,YAAY5G,QAAO,EAAGxM,MAAM,gBAAgB9tB,KAAKi9B,GAAG91B,EAAEiX,OAAOC,IAAImI,UAAU,IAAI1lB,EAAEgB,EAAE8/B,UAAU9gC,EAAEgB,EAAE+/B,SAAS7hC,KAAK8hC,mBAAmB,CAAC,GAAGzhC,EAAEyF,OAAOzF,EAAEm6B,OAAOx6B,KAAKihC,cAAc5gC,EAAEyF,OAAOi1B,QAAQ,OAAM,EAAG/6B,KAAK+hC,iBAAiB,OAAO56B,EAAEg0B,aAAar1B,OAAOylB,KAAK,KAAKpkB,EAAEo5B,SAASvgC,KAAKohC,cAAcj6B,EAAE83B,SAAS,CAAChhB,YAAY9W,EAAE4F,MAAMxL,EAAEusB,MAAM,iBAAiB3mB,EAAEo5B,SAAS,CAACnqB,GAAGpW,KAAKohC,aAAahrB,EAAEC,GAAGrW,KAAKohC,aAAa/qB,IAAIlP,EAAEg0B,aAAar1B,OAAOylB,KAAK,KAAKvrB,KAAK4gC,QAAO,EAAGz5B,EAAE6rB,WAAWhzB,MAAK,IAAK,CAAC4B,IAAI,eAAeN,MAAM,WAAW,IAAIC,EAAEvB,KAAKmH,EAAEnH,KAAKie,YAAYG,OAAOK,SAASD,OAAO1c,EAAE4/B,GAAG1hC,KAAKie,aAAa9c,EAAEW,EAAEkgC,WAAWlhC,GAAGyX,KAAK0pB,IAAIngC,EAAE+/B,SAAS7hC,KAAKmhC,IAAIhgC,EAAEnB,KAAKohC,aAAa,CAAChrB,GAAGjP,EAAEiP,EAAEtV,GAAGK,EAAEkV,GAAGlP,EAAEkP,EAAEvV,GAAGK,GAAGnB,KAAKm2B,GAAGr1B,EAAEd,KAAKuhC,UAAUpgC,EAAEnB,KAAKmhC,GAAGnhC,KAAKwhC,UAAU,EAAE1/B,EAAE+/B,SAAS7hC,KAAKmhC,GAAG,IAAI9gC,EAAEL,KAAKm7B,aAAal2B,EAAEjF,KAAKihC,YAAYh8B,EAAEo1B,WAAW,CAACjkB,EAAEpW,KAAKkhC,YAAY9qB,EAAEpW,KAAKohC,aAAahrB,EAAEC,EAAErW,KAAKkhC,YAAY7qB,EAAErW,KAAKohC,aAAa/qB,GAAGhW,EAAEyF,OAAOzF,EAAEm6B,OAAOv1B,GAAG5E,EAAEyF,OAAOi1B,UAAU/6B,KAAK6gC,YAAW,EAAG7gC,KAAKqhC,eAAe,CAACjrB,EAAEpW,KAAKohC,aAAahrB,EAAE/V,EAAEyF,OAAO6Y,MAAMvI,EAAEC,EAAErW,KAAKohC,aAAa/qB,EAAEhW,EAAEyF,OAAO6Y,MAAMtI,IAAIrW,KAAKkiC,aAAY,WAAY,OAAO3gC,EAAE4gC,mBAAmB,CAACvgC,IAAI,iBAAiBN,MAAM,WAAW,IAAIC,EAAEvB,KAAKA,KAAK8gC,WAAU,EAAG9gC,KAAK6gC,YAAW,EAAG7gC,KAAKohC,aAAa,CAAChrB,EAAEpW,KAAKm7B,aAAar1B,OAAO6Y,MAAMvI,EAAEC,EAAErW,KAAKm7B,aAAar1B,OAAO6Y,MAAMtI,GAAGrW,KAAKkiC,aAAY,WAAY,OAAO3gC,EAAE6gC,qBAAqB,CAACxgC,IAAI,cAAcN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAKA,KAAKyhC,QAAQzQ,GAAGvqB,QAAQ4qB,SAAQ,WAAYlqB,EAAEy5B,QAAQr/B,SAAS,CAACK,IAAI,cAAcN,MAAM,WAAW,IAAIC,EAAE4F,EAAErF,EAAEX,EAAEL,EAAET,EAAE4E,EAAE7C,EAAEpC,KAAKM,EAAEN,KAAKie,YAAYV,EAAEmkB,GAAGphC,GAAG0hC,WAAWthC,GAAGJ,EAAEg/B,OAAOt/B,KAAKi9B,IAAI,IAAI,GAAGv8B,EAAEV,KAAKm2B,GAAG,CAAC,IAAIjvB,EAAEvG,EAAE,GAAG4X,KAAK8pB,KAAK9kB,EAAE7c,GAAGV,KAAKuhC,WAAWvhC,KAAKwhC,UAAUxhC,KAAK6gC,YAAYt/B,EAAE,EAAE4F,EAAE,EAAErF,EAAE9B,KAAKohC,aAAahrB,EAAEjV,EAAEnB,KAAKohC,aAAa/qB,EAAEvV,EAAEd,KAAKqhC,eAAejrB,EAAE/V,EAAEL,KAAKqhC,eAAehrB,EAAEnP,EAAE,CAACkP,EAAEksB,GAAGr9B,EAAEtE,EAAEY,EAAEO,EAAEhB,GAAGuV,EAAEisB,GAAGr9B,EAAEkC,EAAEhG,EAAEd,KAAK6G,EAAE,CAACkP,EAAEpW,KAAKohC,aAAahrB,EAAEzV,EAAE0V,EAAErW,KAAKohC,aAAa/qB,EAAE1V,GAAG,IAAIwB,EAAE,CAACiU,EAAElP,EAAEkP,EAAEpW,KAAKshC,cAAclrB,EAAEC,EAAEnP,EAAEmP,EAAErW,KAAKshC,cAAcjrB,GAAGrW,KAAKshC,cAAclrB,GAAGjU,EAAEiU,EAAEpW,KAAKshC,cAAcjrB,GAAGlU,EAAEkU,EAAE/V,EAAEigC,SAASp+B,GAAG7B,EAAEwf,OAAO9f,KAAKkiC,aAAY,WAAY,OAAO9/B,EAAE+/B,sBAAsB7hC,EAAEigC,SAAS,CAACnqB,EAAEpW,KAAKqhC,eAAejrB,EAAEpW,KAAKshC,cAAclrB,EAAEC,EAAErW,KAAKqhC,eAAehrB,EAAErW,KAAKshC,cAAcjrB,IAAIrW,KAAKq+B,QAAQ,CAACz8B,IAAI,gBAAgBN,MAAM,WAAW,IAAIC,EAAEvB,KAAKmH,EAAEnH,KAAKie,YAAYnc,EAAEqF,EAAEm4B,OAAOt/B,KAAKi9B,GAAG97B,EAAEugC,GAAGv6B,GAAGo7B,kBAAkB,GAAGzgC,EAAEX,EAAE,CAAC,IAAIL,EAAE,CAACsV,EAAElK,GAAGpK,EAAE,EAAE9B,KAAKohC,aAAahrB,EAAEjV,GAAGkV,EAAEnK,GAAGpK,EAAE,EAAE9B,KAAKohC,aAAa/qB,EAAElV,IAAId,EAAE,CAAC+V,EAAEtV,EAAEsV,EAAEpW,KAAKshC,cAAclrB,EAAEC,EAAEvV,EAAEuV,EAAErW,KAAKshC,cAAcjrB,GAAGrW,KAAKshC,cAAclrB,GAAG/V,EAAE+V,EAAEpW,KAAKshC,cAAcjrB,GAAGhW,EAAEgW,EAAElP,EAAEo5B,SAASlgC,GAAG8G,EAAE2Y,KAAK,CAAC6a,cAAc36B,KAAKghC,gBAAgBhhC,KAAKkiC,aAAY,WAAY,OAAO3gC,EAAE6gC,wBAAwBj7B,EAAEo5B,SAAS,CAACnqB,EAAEpW,KAAKohC,aAAahrB,EAAEpW,KAAKshC,cAAclrB,EAAEC,EAAErW,KAAKohC,aAAa/qB,EAAErW,KAAKshC,cAAcjrB,IAAIrW,KAAKq+B,QAAQ,CAACz8B,IAAI,SAASN,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAEysB,QAAQlsB,EAAEP,EAAEwL,MAAM5L,EAAEI,EAAEkvB,YAAY3vB,EAAEd,KAAKie,YAAYnd,EAAEy/B,SAAS,CAACnqB,GAAGpW,KAAKshC,cAAclrB,EAAEC,GAAGrW,KAAKshC,cAAcjrB,IAAIvV,EAAEg+B,cAAc33B,EAAErF,EAAEX,GAAE,GAAIL,EAAEm+B,SAAS,CAAChhB,YAAYnd,EAAEiM,MAAMjL,EAAEgsB,MAAM,YAAW,EAAGrI,EAAEc,YAAYzlB,EAAEsd,OAAOmM,KAAKzpB,EAAEsd,OAAOC,KAAKre,KAAK2yB,SAAS,CAAC/wB,IAAI,MAAMN,MAAM,WAAWtB,KAAKie,YAAY6B,OAAO9f,KAAKie,YAAYogB,MAAMr+B,KAAK2yB,SAAS,CAAC/wB,IAAI,OAAON,MAAM,WAAWtB,KAAK4gC,OAAO5gC,KAAK8gC,WAAU,EAAG9gC,KAAKie,YAAY+U,WAAW,KAAKhC,GAAGvqB,QAAQkb,OAAO3hB,KAAKyhC,cAAchB,GAAGt5B,EAAElF,UAAUH,GAAGX,GAAGs/B,GAAGt5B,EAAEhG,GAAGI,EAAnoI,GAAwoI,SAASmgC,GAAGngC,GAAG,IAAI4F,EAAE5F,EAAE2d,aAAapd,EAAEP,EAAE2c,SAAS,OAAO/W,GAAGA,EAAEM,SAAS3F,EAAElB,MAAMuG,EAAEM,QAAQ3F,EAAElB,MAAM4hC,QAAQ,SAASF,GAAG/gC,EAAE4F,EAAErF,EAAEX,GAAG,IAAIL,EAAE,EAAES,EAAE,OAAOT,EAAEA,EAAEqG,EAAE,EAAErG,EAAES,EAAEO,EAAEP,EAAEA,EAAEJ,EAAE,SAAS+K,GAAG3K,EAAE4F,EAAErF,EAAEX,GAAG,OAAOW,GAAGP,GAAGJ,IAAII,EAAE,GAAG4F,EAAEq5B,GAAGE,aAAaC,GAAG,IAAI8B,GAAG,CAAC/xB,GAAG,UAAUme,OAAO,CAAC,YAAY,WAAWra,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEud,SAASvd,EAAEgrB,UAAUqT,GAAGn5B,SAASlF,EAAEgrB,UAAU+O,GAAG70B,SAASlF,EAAEqd,QAAQ8jB,OAAOC,cAAa,EAAGphC,EAAEqd,QAAQ8jB,OAAOE,QAAO,EAAGz7B,EAAEksB,UAAUmP,QAAQ,CAACpjB,SAAQ,EAAG4iB,WAAW,GAAGJ,SAAS,IAAIC,SAAS,GAAGd,aAAY,EAAGwB,kBAAkB,MAAM1lB,UAAU,CAAC,mBAAmB,SAAStb,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY9W,EAAEq7B,QAAQ,IAAI7B,GAAGx5B,IAAI,iCAAiC,SAAS5F,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEwL,MAAM,QAAQ5F,EAAEyuB,cAAczuB,EAAE6rB,aAAa7rB,EAAEq7B,QAAQjkB,MAAMzc,KAAK,MAAM,oBAAoB,SAASP,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEkvB,YAAYtvB,EAAEgG,EAAEq7B,QAAQ,GAAGrhC,EAAEy/B,OAAO,IAAI,IAAI9/B,EAAEgB,EAAEzB,EAAEoG,QAAQuB,QAAQlH,IAAI,CAAC,GAAGA,IAAIqG,EAAEa,QAAQ,CAAC7G,EAAEyhC,OAAOrhC,GAAG,MAAMT,EAAE+gB,EAAErG,WAAW1a,KAAK,oBAAoB,SAASS,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYukB,QAAQr7B,EAAEy5B,QAAQz5B,EAAEwrB,QAAQ,oCAAoC,SAASpxB,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYkd,aAAah0B,EAAEwrB,KAAKpxB,GAAG4F,EAAEoX,MAAMhd,EAAEA,EAAE0c,YAAYG,OAAOC,IAAIC,MAAMnX,EAAE8zB,mBAAmB15B,IAAI,0CAA0C,SAASA,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaW,YAAYv6B,IAAI,6BAA6B+5B,GAAGM,kBAAkB,mCAAmCN,GAAGM,kBAAkB,yCAAyC,SAASr6B,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaY,yBAAyBx6B,IAAI,mCAAmC,SAASA,GAAG,OAAOA,EAAE0c,YAAYkd,aAAaY,yBAAyBx6B,MAAMi/B,GAAG/5B,QAAQg8B,GAAG,IAAII,GAAG,GAAG,SAASC,GAAGvhC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAAS4hC,GAAGxhC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAG,GAAGP,EAAEonB,4BAA4B,MAAMxnB,EAAEI,IAAIR,OAAOC,eAAe6hC,GAAG,aAAa,CAACvhC,OAAM,IAAKuhC,GAAGG,eAAU,EAAO,IAAIC,GAAG,WAAW,SAAS1hC,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAKyH,aAAQ,EAAOzH,KAAKy4B,MAAM,GAAGz4B,KAAK4oB,oBAAmB,EAAG5oB,KAAK2oB,6BAA4B,EAAG3oB,KAAK+F,YAAO,EAAO/F,KAAKyH,SAAQ,EAAGwT,EAAExU,SAAS,GAAGU,GAAG,IAAI,IAAIA,EAAErF,EAAEX,EAAE,OAAOgG,EAAE5F,GAAGO,EAAE,CAAC,CAACF,IAAI,OAAON,MAAM,SAASC,GAAG,IAAI4F,EAAErF,EAAE9B,KAAK+F,QAAQoB,EAAEnH,KAAKy4B,MAAMl3B,EAAEgJ,QAAQw4B,GAAGxhC,EAAE4F,IAAI5F,EAAEqnB,oBAAoB9mB,IAAIqF,EAAErF,EAAEP,EAAEgJ,QAAQw4B,GAAGxhC,EAAE4F,KAAK,CAACvF,IAAI,KAAKN,MAAM,SAASC,EAAE4F,GAAG,IAAIrF,GAAE,EAAG+iB,EAAEpe,SAASlF,EAAE4F,GAAG,IAAI5F,KAAKO,EAAE9B,KAAKy4B,MAAMl3B,GAAGwnB,EAAEG,MAAMlpB,KAAKy4B,MAAMl3B,IAAI,GAAGO,EAAEP,MAAM,CAACK,IAAI,MAAMN,MAAM,SAASC,EAAE4F,GAAG,IAAIrF,GAAE,EAAG+iB,EAAEpe,SAASlF,EAAE4F,GAAG,IAAI5F,KAAKO,EAAE,CAAC,IAAIX,EAAEnB,KAAKy4B,MAAMl3B,GAAG,GAAGJ,GAAGA,EAAEiE,OAAO,IAAI,IAAItE,EAAE,EAAEA,EAAEgB,EAAEP,GAAG6D,OAAOtE,IAAI,CAAC,IAAIT,EAAEyB,EAAEP,GAAGT,GAAGmE,EAAE9D,EAAEoK,QAAQlL,IAAI,IAAI4E,GAAG9D,EAAE2b,OAAO7X,EAAE,OAAO,CAACrD,IAAI,UAAUN,MAAM,SAASC,GAAG,OAAO,UAAUuhC,GAAG37B,EAAElF,UAAUH,GAAGX,GAAG2hC,GAAG37B,EAAEhG,GAAGI,EAApzB,GAAyzBshC,GAAGG,UAAUC,GAAG,IAAIC,GAAG,GAAGniC,OAAOC,eAAekiC,GAAG,aAAa,CAAC5hC,OAAM,IAAK4hC,GAAGz8B,QAAQ,SAASlF,EAAE4F,GAAG,GAAGA,EAAE+lB,eAAe3rB,GAAG,OAAM,EAAG,IAAI,IAAIO,KAAKqF,EAAEyI,IAAI,GAAG,IAAIrO,EAAEgK,QAAQzJ,IAAIP,EAAE4hC,OAAOrhC,EAAEsD,UAAU+B,EAAEu7B,OAAO,OAAM,EAAG,OAAM,GAAI,IAAIU,GAAG,GAAG,SAASC,GAAG9hC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAASmiC,GAAG/hC,EAAE4F,EAAErF,GAAG,OAAOqF,GAAGk8B,GAAG9hC,EAAEU,UAAUkF,GAAGrF,GAAGuhC,GAAG9hC,EAAEO,GAAGP,EAAER,OAAOC,eAAeoiC,GAAG,aAAa,CAAC9hC,OAAM,IAAK8hC,GAAGvkB,kBAAa,EAAO,IAAI0kB,GAAG,WAAW,SAAShiC,EAAEO,EAAEX,EAAEL,EAAET,IAAI,SAASkB,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAKyH,aAAQ,EAAOzH,KAAKwjC,cAAS,EAAOxjC,KAAKioB,YAAO,EAAOjoB,KAAK0qB,OAAO,IAAImY,GAAGG,UAAUhjC,KAAKqrB,cAAS,EAAOrrB,KAAKyjC,UAAK,EAAOzjC,KAAK0jC,UAAK,EAAO1jC,KAAK2jC,kBAAa,EAAO3jC,KAAK4jC,kBAAa,EAAO5jC,KAAKwjC,SAASriC,EAAEyd,QAAQ5e,KAAKioB,OAAOnmB,EAAE9B,KAAKqrB,SAASlqB,EAAE6Q,SAASlR,EAAEd,KAAKyjC,MAAK,EAAGt8B,EAAE+V,YAAW,EAAG2E,EAAEyB,aAAaxhB,GAAG9B,KAAKqrB,SAASvpB,GAAG9B,KAAK0jC,KAAK1jC,KAAKyjC,KAAKt5B,SAASnK,KAAK2jC,aAAatjC,EAAEL,KAAK8oB,IAAI3nB,GAAG,OAAOmiC,GAAG/hC,EAAE,CAAC,CAACK,IAAI,YAAYV,IAAI,WAAW,MAAM,CAAC40B,KAAK,GAAGzC,UAAU,GAAGzU,QAAQ,QAAQ0kB,GAAG/hC,EAAE,CAAC,CAACK,IAAI,cAAcN,MAAM,SAASC,EAAE4F,GAAG,OAAO9G,EAAEoG,QAAQiX,KAAKvW,EAAE08B,UAAU7jC,KAAKysB,GAAG,GAAG1c,OAAOxO,EAAE,SAAS4F,EAAE08B,SAASxjC,EAAEoG,QAAQiX,KAAKvW,EAAE28B,SAAS9jC,KAAKysB,GAAG,GAAG1c,OAAOxO,EAAE,QAAQ4F,EAAE28B,QAAQzjC,EAAEoG,QAAQiX,KAAKvW,EAAE48B,QAAQ/jC,KAAKysB,GAAG,GAAG1c,OAAOxO,EAAE,OAAO4F,EAAE48B,OAAO1jC,EAAEoG,QAAQiX,KAAKvW,EAAE68B,iBAAiBhkC,KAAKysB,GAAG,GAAG1c,OAAOxO,EAAE,gBAAgB4F,EAAE68B,gBAAgBhkC,OAAO,CAAC4B,IAAI,2BAA2BN,MAAM,SAASC,EAAE4F,EAAErF,IAAIzB,EAAEoG,QAAQuX,MAAM7W,IAAI9G,EAAEoG,QAAQ1E,OAAOoF,KAAKnH,KAAKwsB,IAAIjrB,EAAE4F,IAAI9G,EAAEoG,QAAQuX,MAAMlc,IAAIzB,EAAEoG,QAAQ1E,OAAOD,KAAK9B,KAAKysB,GAAGlrB,EAAEO,KAAK,CAACF,IAAI,eAAeN,MAAM,SAASC,EAAE4F,GAAG,IAAIrF,EAAE9B,KAAK27B,UAAU,IAAI,IAAIx6B,KAAKgG,EAAE,CAAC,IAAIrG,EAAEK,EAAE8D,EAAEjF,KAAKyH,QAAQlG,GAAGa,EAAE+E,EAAErG,GAAG,cAAcA,GAAGd,KAAKikC,yBAAyB1iC,EAAE0D,EAAE4X,UAAUza,GAAG/B,EAAEoG,QAAQuX,MAAM5b,GAAG6C,EAAEnE,GAAGioB,EAAExE,KAAKniB,GAAG/B,EAAEoG,QAAQsX,YAAY3b,IAAI6C,EAAEnE,IAAG,EAAGma,EAAExU,SAASxB,EAAEnE,IAAI,IAAG,EAAGs4B,GAAG3yB,SAASrE,IAAI/B,EAAEoG,QAAQ1E,OAAOD,EAAEuxB,UAAUvyB,KAAK,YAAYgB,EAAEuxB,UAAUvyB,KAAKmE,EAAEnE,GAAGse,SAAQ,IAAKhd,EAAEgd,UAAU/e,EAAEoG,QAAQmX,KAAKxb,IAAI/B,EAAEoG,QAAQ1E,OAAOD,EAAEuxB,UAAUvyB,IAAImE,EAAEnE,GAAGse,QAAQhd,EAAE6C,EAAEnE,GAAGsB,KAAK,CAACR,IAAI,UAAUN,MAAM,SAASC,GAAG,OAAOA,EAAEA,IAAIlB,EAAEoG,QAAQuB,QAAQhI,KAAKioB,QAAQjoB,KAAKioB,OAAO,MAAM5nB,EAAEoG,QAAQwI,OAAOjP,KAAKioB,UAAU1mB,EAAEA,GAAGvB,KAAKqrB,SAAS9P,cAAcvb,KAAKioB,UAAS,EAAGpG,EAAEmB,gBAAgBzhB,KAAK,CAACK,IAAI,cAAcN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAK,OAAOK,EAAEoG,QAAQiX,KAAKnc,IAAIvB,KAAK4jC,aAAariC,EAAEvB,KAAKmkB,QAAQ,SAAS5iB,GAAG,IAAIO,GAAE,EAAGmZ,EAAExU,SAAS,GAAGU,EAAEy8B,aAAariC,IAAI,MAAM,UAAUO,IAAIA,EAAEqH,MAAMrH,EAAEohB,MAAMphB,EAAEmhB,KAAKnhB,EAAEuH,OAAOvH,EAAEshB,OAAOthB,EAAEqhB,KAAKrhB,GAAG9B,MAAM,OAAOuB,UAAUvB,KAAKmkB,eAAenkB,KAAK4jC,aAAa5jC,MAAMA,KAAKmkB,UAAU,CAACviB,IAAI,oBAAoBN,MAAM,SAASC,EAAE4F,GAAG,IAAG,EAAG0a,EAAEyB,aAAanc,IAAI9G,EAAEoG,QAAQ1E,OAAOoF,GAAG,CAAC,IAAI,IAAIrF,KAAK9B,KAAKyH,QAAQlG,GAAG4F,EAAEnH,KAAKwjC,SAAS5zB,IAAI5P,KAAKyH,QAAQ3F,GAAGP,GAAG4F,EAAE,OAAOnH,KAAK,OAAOA,KAAKyH,QAAQlG,KAAK,CAACK,IAAI,SAASN,MAAM,SAASC,GAAG,OAAOvB,KAAKu0B,kBAAkB,SAAShzB,KAAK,CAACK,IAAI,cAAcN,MAAM,SAASC,GAAG,MAAM,SAASA,GAAG,WAAWA,GAAGvB,KAAKyH,QAAQwmB,YAAY1sB,EAAEvB,MAAMA,KAAKyH,QAAQwmB,cAAc,CAACrsB,IAAI,UAAUN,MAAM,WAAW,OAAOtB,KAAKqrB,WAAW,CAACzpB,IAAI,YAAYN,MAAM,SAASC,GAAG,OAAOvB,KAAKqrB,WAAW9pB,EAAE4b,gBAAe,EAAG0E,EAAEE,cAAc/hB,KAAKqrB,SAAS9pB,KAAK,CAACK,IAAI,kBAAkBN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,OAAO9B,KAAKkkC,WAAW3iC,EAAE+yB,WAAWntB,EAAErF,IAAI9B,KAAKmkC,UAAU5iC,EAAEizB,UAAUrtB,EAAErF,KAAK,CAACF,IAAI,YAAYN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,OAAOP,KAAKlB,EAAEoG,QAAQuB,QAAQlG,KAAKzB,EAAEoG,QAAQwI,OAAO1N,IAAG,EAAGsgB,EAAEa,aAAa5gB,EAAEP,EAAE4F,KAAK9G,EAAEoG,QAAQuB,QAAQzG,KAAI,EAAGsgB,EAAEE,cAAcxgB,EAAEO,MAAM,CAACF,IAAI,aAAaN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,SAASP,IAAIlB,EAAEoG,QAAQuB,QAAQlG,MAAMzB,EAAEoG,QAAQwI,OAAO1N,IAAG,EAAGsgB,EAAEa,aAAa5gB,EAAEP,EAAE4F,KAAK9G,EAAEoG,QAAQuB,QAAQzG,KAAI,EAAGsgB,EAAEE,cAAcxgB,EAAEO,MAAM,CAACF,IAAI,OAAON,MAAM,SAASC,GAAG,OAAOvB,KAAK0qB,OAAOI,KAAKvpB,GAAGvB,OAAO,CAAC4B,IAAI,SAASN,MAAM,SAASC,EAAE4F,EAAErF,EAAEX,GAAGd,EAAEoG,QAAQ1E,OAAOoF,KAAK9G,EAAEoG,QAAQuX,MAAM7W,KAAKhG,EAAEW,EAAEA,EAAE,MAAM,IAAIhB,EAAE,OAAOS,EAAE,MAAM,SAAS0D,GAAE,EAAG4f,EAAEpe,SAASU,EAAErF,GAAG,IAAI,IAAIM,KAAK6C,EAAE,CAAC,UAAU7C,IAAIA,EAAE8C,EAAEuB,QAAQmb,YAAY,IAAI,IAAIthB,EAAE,EAAEA,EAAE2E,EAAE7C,GAAGgD,OAAO9E,IAAI,CAAC,IAAIid,EAAEtY,EAAE7C,GAAG9B,IAAG,EAAG4iC,GAAGz8B,SAASrE,EAAEpC,KAAKwjC,UAAUxjC,KAAK0qB,OAAOnpB,GAAGa,EAAEmb,GAAGld,EAAEoG,QAAQwI,OAAOjP,KAAKioB,QAAQjoB,KAAK2jC,aAAa,GAAG5zB,OAAOjP,EAAE,aAAad,KAAKioB,OAAOjoB,KAAKqrB,SAASjpB,EAAEmb,EAAEpc,GAAGnB,KAAK2jC,aAAa7iC,GAAGd,KAAKioB,OAAO7lB,EAAEmb,EAAEpc,IAAI,OAAOnB,OAAO,CAAC4B,IAAI,KAAKN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,OAAO9B,KAAKokC,OAAO,KAAK7iC,EAAE4F,EAAErF,KAAK,CAACF,IAAI,MAAMN,MAAM,SAASC,EAAE4F,EAAErF,GAAG,OAAO9B,KAAKokC,OAAO,MAAM7iC,EAAE4F,EAAErF,KAAK,CAACF,IAAI,MAAMN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAK27B,UAAU,IAAI,IAAI75B,KAAKzB,EAAEoG,QAAQ1E,OAAOR,KAAKA,EAAE,IAAIvB,KAAKyH,SAAQ,EAAG2xB,GAAG3yB,SAASU,EAAE2uB,MAAM91B,KAAKwjC,SAASvkB,WAAW,CAAC,IAAI9d,EAAEW,EAAEhB,EAAEd,KAAKwjC,SAASvkB,WAAW9d,GAAGnB,KAAKyH,QAAQtG,GAAG,GAAGnB,KAAK2f,aAAaxe,GAAE,EAAG8Z,EAAExU,UAAS,EAAGwU,EAAExU,SAAS,GAAGU,EAAEksB,WAAWlsB,EAAEyX,QAAQzd,KAAKnB,KAAKc,GAAGS,EAAEJ,IAAI,IAAI,IAAI8D,KAAK1D,EAAElB,EAAEoG,QAAQiX,KAAK1d,KAAKiF,KAAKjF,KAAKiF,GAAG1D,EAAE0D,IAAI,OAAOjF,OAAO,CAAC4B,IAAI,QAAQN,MAAM,WAAW,GAAGjB,EAAEoG,QAAQwI,OAAOjP,KAAKioB,QAAQ,IAAI,IAAI1mB,KAAKvB,KAAK2jC,aAAaU,gBAAgB,IAAI,IAAIl9B,EAAEnH,KAAK2jC,aAAaU,gBAAgB9iC,GAAGO,EAAEqF,EAAE/B,OAAO,EAAEtD,GAAG,EAAEA,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGhB,EAAEK,EAAEmjC,SAASr/B,EAAE9D,EAAE6Q,QAAQ5P,EAAEjB,EAAE0b,UAAU/b,IAAId,KAAKioB,QAAQhjB,IAAIjF,KAAKqrB,UAAUlkB,EAAE2V,OAAOhb,EAAE,GAAG,IAAI,IAAIxB,EAAE8B,EAAEgD,OAAO,EAAE9E,GAAG,EAAEA,IAAIN,KAAK2jC,aAAaY,eAAevkC,KAAKioB,OAAOjoB,KAAKqrB,SAAS9pB,EAAEa,EAAE9B,GAAG,GAAG8B,EAAE9B,GAAG,SAASN,KAAK2jC,aAAaroB,OAAOtb,KAAKioB,OAAO,WAAW1mB,EAAl+I,GAAu+I6hC,GAAGvkB,aAAa0kB,GAAG,IAAIiB,GAAG,GAAG,SAASC,GAAGljC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAIJ,OAAOC,eAAewjC,GAAG,aAAa,CAACljC,OAAM,IAAKkjC,GAAGE,qBAAgB,EAAO,IAAIC,GAAG,WAAW,SAASpjC,EAAE4F,GAAG,IAAIrF,EAAE9B,MAAM,SAASuB,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAKuQ,KAAK,GAAGvQ,KAAK4kC,YAAY,GAAG5kC,KAAK6kC,WAAM,EAAO7kC,KAAK6kC,MAAM19B,EAAEA,EAAE29B,aAAa,CAAC,qBAAqB,SAASvjC,GAAG,IAAI4F,EAAE5F,EAAE2d,aAAa/d,EAAEgG,EAAE8gB,OAAOnnB,EAAEqG,EAAEkkB,SAASpmB,EAAE5E,EAAEoG,QAAQwI,OAAO9N,GAAGW,EAAE8iC,YAAYzjC,GAAGA,EAAEW,EAAE+iC,MAAMn0B,IAAItO,EAAE2mB,EAAEE,UAAUhkB,GAAE,SAAU1D,GAAG,OAAOA,EAAEyQ,UAAUlR,KAAKmE,EAAE7C,KAAK6C,EAAE7C,GAAG4P,QAAQ,KAAK/M,EAAE7C,GAAG8c,aAAa,MAAMja,EAAE6X,OAAO1a,EAAE,MAAM,IAAI+E,EAAErF,EAAEX,EAAE,OAAOgG,EAAE5F,GAAGO,EAAE,CAAC,CAACF,IAAI,MAAMN,MAAM,SAASC,EAAE4F,GAAGA,GAAE,EAAG8T,EAAExU,SAASU,GAAG,GAAG,CAACyX,QAAQ5e,KAAK6kC,MAAMjmB,UAAU,IAAI9c,EAAE,IAAI9B,KAAK6kC,MAAMhmB,aAAatd,EAAE4F,EAAEnH,KAAK6kC,MAAM16B,SAASnK,KAAK6kC,MAAMna,QAAQvpB,EAAE,CAAC6Q,QAAQlQ,EAAEupB,SAASnM,aAAapd,GAAG,OAAO9B,KAAK6kC,MAAME,YAAYjjC,EAAE4hC,MAAM1jC,KAAKuQ,KAAKI,KAAK7O,GAAGzB,EAAEoG,QAAQwI,OAAO1N,IAAIvB,KAAK4kC,YAAYrjC,KAAKvB,KAAK4kC,YAAYrjC,GAAG,IAAIvB,KAAK4kC,YAAYrjC,GAAGoP,KAAKxP,KAAKW,EAAEmmB,OAAOjoB,KAAK6kC,MAAMn0B,KAAK3P,OAAOC,eAAeO,EAAEvB,KAAK6kC,MAAMn0B,GAAG,CAACpP,MAAM,GAAGmV,cAAa,IAAKlV,EAAEvB,KAAK6kC,MAAMn0B,IAAIC,KAAKxP,IAAInB,KAAK6kC,MAAM/Z,KAAK,mBAAmB,CAAC7C,OAAO1mB,EAAEkG,QAAQN,EAAE+X,aAAapd,EAAEkjC,IAAIhlC,KAAK6kC,MAAMpB,OAAO3hC,IAAI,CAACF,IAAI,MAAMN,MAAM,SAASC,EAAE4F,GAAG,IAAIrF,EAAEqF,GAAGA,EAAE6K,SAAShS,KAAK6kC,MAAM16B,SAAShJ,EAAEd,EAAEoG,QAAQwI,OAAO1N,GAAGT,EAAEK,EAAEnB,KAAK4kC,YAAYrjC,GAAGA,EAAEvB,KAAK6kC,MAAMn0B,IAAI,IAAI5P,EAAE,OAAO,KAAK,IAAImE,EAAE8jB,EAAEC,KAAKloB,GAAE,SAAUqG,GAAG,OAAOA,EAAE6K,UAAUlQ,IAAIX,GAAGgG,EAAE+X,aAAa+lB,UAAU1jC,OAAO,OAAO0D,GAAGA,EAAEia,eAAe,CAACtd,IAAI,eAAeN,MAAM,SAASC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAE9B,KAAKuQ,KAAKnL,OAAOtD,IAAI,CAAC,IAAIX,EAAEnB,KAAKuQ,KAAKzO,GAAGhB,OAAE,EAAO,IAAIT,EAAEoG,QAAQwI,OAAO9N,EAAE8mB,QAAQ5nB,EAAEoG,QAAQuB,QAAQzG,IAAIsgB,EAAEK,gBAAgB3gB,EAAEJ,EAAE8mB,QAAQ1mB,IAAIJ,EAAE8mB,SAAS9mB,EAAE8jC,UAAU1jC,KAAKT,EAAEqG,EAAEhG,SAAI,IAASL,EAAE,OAAOA,QAAQ2jC,GAAGt9B,EAAElF,UAAUH,GAAGX,GAAGsjC,GAAGt9B,EAAEhG,GAAGI,EAApkD,GAAykDijC,GAAGE,gBAAgBC,GAAG,IAAIO,GAAG,GAAG,SAASC,GAAG5jC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAASikC,GAAG7jC,EAAE4F,GAAG,OAAO,SAAS5F,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOA,EAAvC,CAA0CA,IAAI,SAASA,EAAE4F,GAAG,GAAG,oBAAoB/F,QAAUA,OAAOkc,YAAYvc,OAAOQ,GAA3D,CAAsE,IAAIO,EAAE,GAAGX,GAAE,EAAGL,GAAE,EAAGT,OAAE,EAAO,IAAI,IAAI,IAAI4E,EAAE7C,EAAEb,EAAEH,OAAOkc,cAAcnc,GAAG8D,EAAE7C,EAAEmB,QAAQsL,QAAQ/M,EAAE6O,KAAK1L,EAAE3D,QAAQ6F,GAAGrF,EAAEsD,SAAS+B,GAAGhG,GAAE,IAAK,MAAMI,GAAGT,GAAE,EAAGT,EAAEkB,EAAE,QAAQ,IAAIJ,GAAG,MAAMiB,EAAEm3B,QAAQn3B,EAAEm3B,SAAS,QAAQ,GAAGz4B,EAAE,MAAMT,GAAG,OAAOyB,GAAhT,CAAmTP,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,GAAI5F,EAAJ,CAAa,GAAG,iBAAiBA,EAAE,OAAO8jC,GAAG9jC,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAuD,MAApD,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAS,QAAQkB,GAAG,QAAQA,EAASmiB,MAAMM,KAAKhjB,GAAM,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAUujC,GAAG9jC,EAAE4F,QAAnF,GAArN,CAA4S5F,EAAE4F,IAAI,WAAW,MAAM,IAAImF,UAAU,6IAA/B,GAA+K,SAAS+4B,GAAG9jC,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAEJ,OAAOC,eAAekkC,GAAG,aAAa,CAAC5jC,OAAM,IAAK4jC,GAAGz+B,aAAQ,EAAO,IAAI6+B,GAAG,WAAW,SAAS/jC,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKuB,GAAGvB,KAAKkoB,mBAAc,EAAOloB,KAAKulC,mBAAc,EAAOvlC,KAAKuK,UAAK,EAAOvK,KAAKulC,cAAcp+B,GAAE,EAAGxC,EAAE8B,SAASzG,KAAKmH,GAAG,IAAIA,EAAErF,EAAEX,EAAE,OAAOgG,EAAE5F,GAAGO,EAAE,CAAC,CAACF,IAAI,yBAAyBN,MAAM,WAAWtB,KAAKulC,cAAcld,mBAAmB,CAACzmB,IAAI,kBAAkBN,MAAM,WAAWtB,KAAKulC,cAAcC,oBAAoB,CAAC5jC,IAAI,2BAA2BN,MAAM,WAAWtB,KAAKulC,cAAc3a,gCAAgCua,GAAGh+B,EAAElF,UAAUH,GAAGX,GAAGgkC,GAAGh+B,EAAEhG,GAAGI,EAA7iB,GAAkjB,SAASkkC,GAAGlkC,GAAG,IAAIlB,EAAEoG,QAAQ1E,OAAOR,GAAG,MAAM,CAACmkC,UAAUnkC,EAAEk2B,SAAQ,GAAI,IAAItwB,GAAE,EAAG8T,EAAExU,SAAS,GAAGlF,GAAG,OAAO4F,EAAEu+B,UAAUnkC,EAAEmkC,QAAQv+B,EAAEswB,UAAUl2B,EAAEk2B,QAAQtwB,EAAE,IAAIw+B,GAAG,CAACj1B,GAAG,SAAS8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE,GAAGrF,EAAE,GAAGX,EAAE,GAAGL,EAAE,CAAC0F,IAAIvB,EAAEqW,OAAOlZ,EAAEwjC,YAAY,SAASrkC,EAAE4F,EAAErG,EAAET,EAAE+B,GAAG,IAAI1B,EAAE+kC,GAAGrjC,GAAG,IAAIN,EAAEhB,GAAG,CAACgB,EAAEhB,GAAG,GAAG,IAAI,IAAIoG,EAAE,EAAEA,EAAE/F,EAAEiE,OAAO8B,IAAI,CAAC,IAAIvG,EAAEQ,EAAE+F,GAAGjC,EAAEtE,EAAEG,EAAER,GAAG2E,EAAEtE,EAAEG,EAAEyc,GAAE,IAAK,IAAIpb,EAAEL,EAAEhB,GAAG4K,EAAEqd,EAAEC,KAAK7mB,GAAE,SAAUL,GAAG,OAAOA,EAAEwiC,WAAW/iC,GAAGO,EAAEkQ,UAAU7K,KAAKuE,IAAIA,EAAE,CAAC44B,SAAS/iC,EAAEyQ,QAAQ7K,EAAE0V,UAAU,IAAI1a,EAAEwO,KAAKjF,IAAIA,EAAEmR,UAAUlM,KAAK,CAACtQ,EAAEK,KAAK6jC,eAAe,SAAShjC,EAAE4F,EAAEhG,EAAEL,EAAET,GAAG,IAAI4E,EAAEvE,EAAE+kC,GAAGplC,GAAG6G,EAAEpF,EAAEX,GAAGR,GAAE,EAAG,GAAIuG,EAAS,IAAIjC,EAAEiC,EAAE9B,OAAO,EAAEH,GAAG,EAAEA,IAAI,CAAC,IAAI9C,EAAE+E,EAAEjC,GAAG,GAAG9C,EAAEmiC,WAAW/iC,GAAGY,EAAE6P,UAAU7K,EAAE,CAAC,IAAI,IAAIuE,EAAEvJ,EAAE0a,UAAUjK,EAAElH,EAAEtG,OAAO,EAAEwN,GAAG,EAAEA,IAAI,CAAC,IAAIoN,EAAEolB,GAAG15B,EAAEkH,GAAG,GAAGyD,EAAE2J,EAAE,GAAGvf,EAAEuf,EAAE,GAAG9a,EAAEzE,EAAEilC,QAAQtvB,EAAE3V,EAAEg3B,QAAQ,GAAGphB,IAAIvV,GAAGoE,IAAIxE,EAAEglC,SAAStvB,IAAI1V,EAAE+2B,QAAQ,CAAC/rB,EAAEoR,OAAOlK,EAAE,GAAGlH,EAAEtG,SAAS8B,EAAE4V,OAAO7X,EAAE,GAAG7C,EAAE+E,EAAEhG,EAAEb,GAAG8B,EAAE+E,EAAEhG,EAAEoc,GAAE,IAAK5c,GAAE,EAAG,OAAO,GAAGA,EAAE,SAASklC,iBAAiBvlC,EAAEwlC,mBAAmBvoB,EAAE8mB,gBAAgBviC,EAAEikC,UAAU5kC,EAAE6kC,QAAQ7+B,EAAE8+B,iBAAgB,EAAG1O,iBAAgB,GAAI,SAAStyB,EAAE1D,EAAEO,EAAEX,EAAEd,GAAG,IAAI4E,EAAEwgC,GAAGplC,GAAG+B,EAAE2mB,EAAEC,KAAK7hB,GAAE,SAAUA,GAAG,OAAOA,EAAEspB,cAAclvB,KAAKa,IAAIA,EAAE,CAACquB,YAAYlvB,EAAEmpB,OAAO,IAAIvjB,EAAEwJ,KAAKvO,IAAIA,EAAEsoB,OAAO5oB,KAAKM,EAAEsoB,OAAO5oB,GAAG,IAAIP,EAAEkH,mBAAmBsgB,EAAE/G,SAAS5f,EAAEsoB,OAAO5oB,GAAGX,KAAKI,EAAEkH,iBAAiB3G,EAAEX,EAAEL,EAAEmlC,gBAAgBhhC,EAAEA,EAAEygC,SAAStjC,EAAEsoB,OAAO5oB,GAAG6O,KAAKxP,IAAI,SAASiB,EAAEb,EAAEO,EAAEX,EAAEd,GAAG,IAAI4E,EAAEwgC,GAAGplC,GAAGC,EAAEyoB,EAAEE,UAAU9hB,GAAE,SAAUA,GAAG,OAAOA,EAAEspB,cAAclvB,KAAKgc,EAAEpW,EAAE7G,GAAG,GAAGid,GAAGA,EAAEmN,OAAO,GAAG,QAAQ5oB,EAAE,CAAC,IAAIpB,GAAE,EAAGwG,EAAEqW,EAAEmN,OAAO5oB,GAAG,GAAGoF,EAAE,CAAC,GAAG,QAAQ/F,EAAE,CAAC,IAAI,IAAIR,EAAEuG,EAAE9B,OAAO,EAAEzE,GAAG,EAAEA,IAAIyB,EAAEb,EAAEO,EAAEoF,EAAEvG,GAAGsE,GAAG,OAAO,IAAI,IAAI9C,EAAE,EAAEA,EAAE+E,EAAE9B,OAAOjD,IAAI,GAAG+E,EAAE/E,KAAKhB,EAAE,CAACI,EAAE0L,oBAAoBnL,EAAEX,EAAEL,EAAEmlC,gBAAgBhhC,EAAEA,EAAEygC,SAASx+B,EAAE4V,OAAO3a,EAAE,GAAG,IAAI+E,EAAE9B,gBAAgBmY,EAAEmN,OAAO5oB,GAAGpB,GAAE,GAAI,OAAOA,IAAIK,OAAOgC,KAAKwa,EAAEmN,QAAQtlB,QAAQ+B,EAAE2V,OAAOxc,EAAE,QAAQ,IAAIwB,KAAKyb,EAAEmN,OAAOnN,EAAEmN,OAAOxoB,eAAeJ,IAAIM,EAAEb,EAAEO,EAAE,OAAO,SAASxB,EAAEiB,EAAE4F,GAAG,IAAI,IAAIhG,EAAEskC,GAAGt+B,GAAGrG,EAAE,IAAIwkC,GAAG/jC,GAAG0D,EAAEnD,EAAEP,EAAEgJ,MAAMnI,EAAEgjC,GAAG3f,EAAEqC,gBAAgBvmB,GAAG,GAAG,GAAGjB,EAAE8B,EAAE/B,EAAEoG,QAAQuB,QAAQ1H,IAAI,CAAC,IAAI,IAAIid,EAAE,EAAEA,EAAEtY,EAAEG,OAAOmY,IAAI,CAAC,IAAI7c,EAAEuE,EAAEsY,GAAGrW,EAAExG,EAAE4jC,SAAS3jC,EAAED,EAAEsR,QAAQ,GAAG6P,EAAEK,gBAAgB5hB,EAAE4G,IAAI2a,EAAEE,aAAaphB,EAAEyB,IAAIyf,EAAEE,aAAaphB,EAAEL,GAAG,CAAC,IAAI6B,EAAEzB,EAAEmc,UAAU/b,EAAEonB,cAAc5nB,EAAE,IAAI,IAAIoL,EAAE,EAAEA,EAAEvJ,EAAEiD,OAAOsG,IAAI,CAAC,IAAIkH,EAAEwyB,GAAGjjC,EAAEuJ,GAAG,GAAGsU,EAAEpN,EAAE,GAAGyD,EAAEzD,EAAE,GAAGnS,EAAE4V,EAAEqvB,QAAQxgC,EAAEmR,EAAEohB,QAAQh3B,IAAIU,EAAEukC,SAASxgC,IAAI/D,EAAEs2B,SAASzX,EAAElf,KAAKR,EAAEuhB,EAAErG,WAAWlb,IAAI,SAASid,EAAEhc,GAAG,OAAOjB,EAAEiB,GAAE,GAAI,OAAOA,EAAE4I,SAASC,cAAc,OAAO3B,iBAAiB,OAAO,KAAK,CAAC,cAAc,OAAO3H,EAAEmlC,iBAAgB,GAAI,cAAc,OAAOnlC,EAAEy2B,iBAAgB,KAAMh2B,EAAEmpB,OAAO5pB,EAAEA,IAAIokC,GAAGz+B,QAAQk/B,GAAG,IAAIO,GAAG,GAAGnlC,OAAOC,eAAeklC,GAAG,aAAa,CAAC5kC,OAAM,IAAK4kC,GAAGC,qBAAqB,SAAS5kC,GAAG,IAAI4F,EAAE,SAASA,EAAErF,EAAEX,GAAG,IAAIL,EAAES,EAAE0pB,cAAc/pB,IAAIY,EAAEX,GAAG,OAAOL,KAAKA,EAAES,EAAE0pB,cAAcmb,IAAItkC,EAAEX,IAAIupB,OAAO3kB,OAAOoB,EAAEk/B,cAAcvlC,GAAG,OAAOqG,EAAEm/B,kBAAkB7gB,EAAE6B,eAAengB,EAAEo/B,aAAa9gB,EAAE8B,UAAUpgB,EAAEq/B,iBAAiB/gB,EAAEgC,cAActgB,EAAEs/B,cAAchhB,EAAEiC,WAAWvgB,EAAE6b,eAAenB,EAAEmB,eAAe7b,EAAE2b,qBAAqBjB,EAAEiB,qBAAqB3b,EAAE+a,gBAAgBL,EAAEK,gBAAgB/a,EAAE8a,QAAQJ,EAAEI,QAAQ9a,EAAEk/B,aAAa,GAAGl/B,EAAE8D,aAAQ,EAAO9D,EAAE09B,MAAMtjC,EAAE4F,EAAE4N,IAAI,SAASxT,EAAE4F,GAAG,OAAOnH,KAAK6kC,MAAMtY,UAAUhrB,EAAE4F,GAAGnH,MAAMmH,EAAEu/B,MAAM,SAASnlC,EAAE4F,GAAG,QAAQnH,KAAK6kC,MAAM5Z,cAAc/pB,IAAIK,EAAE4F,GAAGA,EAAE6K,UAAU7K,EAAEslB,GAAG,SAASlrB,EAAE4F,EAAErF,GAAG,GAAGzB,EAAEoG,QAAQwI,OAAO1N,KAAK,IAAIA,EAAEyjB,OAAO,OAAOzjB,EAAEA,EAAEwjB,OAAOhX,MAAM,OAAO1N,EAAEoG,QAAQuX,MAAMzc,GAAG,CAAC,IAAI,IAAIJ,EAAE,EAAEA,EAAEI,EAAE6D,OAAOjE,IAAI,CAAC,IAAIL,EAAES,EAAEJ,GAAGnB,KAAKysB,GAAG3rB,EAAEqG,EAAErF,GAAG,OAAO9B,KAAK,GAAGK,EAAEoG,QAAQ1E,OAAOR,GAAG,CAAC,IAAI,IAAI0D,KAAK1D,EAAEvB,KAAKysB,GAAGxnB,EAAE1D,EAAE0D,GAAGkC,GAAG,OAAOnH,KAAK,OAAM,EAAGkjC,GAAGz8B,SAASlF,EAAEvB,KAAK6kC,MAAMjmB,SAAS5e,KAAKqmC,aAAa9kC,GAAGvB,KAAKqmC,aAAa9kC,GAAGoP,KAAKxJ,GAAGnH,KAAKqmC,aAAa9kC,GAAG,CAAC4F,GAAGnH,KAAK6kC,MAAMna,OAAOlkB,IAAIxG,KAAK6kC,MAAM16B,SAAS5I,EAAE4F,EAAE,CAACM,QAAQ3F,IAAI9B,MAAMmH,EAAEqlB,IAAI,SAASjrB,EAAE4F,EAAErF,GAAG,GAAGzB,EAAEoG,QAAQwI,OAAO1N,KAAK,IAAIA,EAAEyjB,OAAO,OAAOzjB,EAAEA,EAAEwjB,OAAOhX,MAAM,OAAO1N,EAAEoG,QAAQuX,MAAMzc,GAAG,CAAC,IAAI,IAAIJ,EAAE,EAAEA,EAAEI,EAAE6D,OAAOjE,IAAI,CAAC,IAAIL,EAAES,EAAEJ,GAAGnB,KAAKwsB,IAAI1rB,EAAEqG,EAAErF,GAAG,OAAO9B,KAAK,GAAGK,EAAEoG,QAAQ1E,OAAOR,GAAG,CAAC,IAAI,IAAI0D,KAAK1D,EAAEvB,KAAKwsB,IAAIvnB,EAAE1D,EAAE0D,GAAGkC,GAAG,OAAOnH,KAAK,IAAIoC,EAA8L,OAA5L,EAAG8gC,GAAGz8B,SAASlF,EAAEvB,KAAK6kC,MAAMjmB,SAASrd,KAAKvB,KAAKqmC,eAAe,KAAKjkC,EAAEpC,KAAKqmC,aAAa9kC,GAAGgK,QAAQpE,KAAKnH,KAAKqmC,aAAa9kC,GAAGub,OAAO1a,EAAE,GAAGpC,KAAK6kC,MAAMna,OAAOpP,OAAOtb,KAAK6kC,MAAM16B,SAAS5I,EAAE4F,EAAErF,GAAU9B,MAAMmH,EAAEyB,MAAM,WAAW,OAAO5I,KAAK6kC,OAAO19B,EAAEuZ,cAAc,WAAW,OAAOxb,EAAEuB,QAAQia,eAAevZ,EAAEyZ,qBAAqB,WAAW,OAAO1b,EAAEuB,QAAQma,sBAAsBzZ,EAAEwrB,KAAK,WAAW,IAAI,IAAIpxB,EAAE,EAAEA,EAAEvB,KAAK6kC,MAAMvP,aAAa/kB,KAAKnL,OAAO7D,IAAKvB,KAAK6kC,MAAMvP,aAAa/kB,KAAKhP,GAAGoxB,OAAO,OAAO3yB,MAAMmH,EAAE+3B,qBAAqB,SAAS39B,GAAG,OAAOlB,EAAEoG,QAAQkX,OAAOpc,IAAIvB,KAAK6kC,MAAMvP,aAAa4J,qBAAqB39B,EAAEvB,MAAMA,KAAK6kC,MAAMvP,aAAa4J,sBAAsB/3B,EAAE49B,YAAY,SAASxjC,EAAE4F,GAAGnH,KAAK6kC,MAAME,YAAYxjC,EAAE4F,IAAIA,EAAEw/B,eAAe,SAASplC,GAAGvB,KAAK6kC,MAAM8B,eAAeplC,IAAI4F,GAAG,IAAIy/B,GAAG,GAAG7lC,OAAOC,eAAe4lC,GAAG,aAAa,CAACtlC,OAAM,IAAKslC,GAAGngC,aAAQ,EAAO,IAAIogC,GAAG,CAACC,YAAY,CAAC,mBAAmB,aAAa,aAAa,QAAQ9hB,OAAO,SAASzjB,GAAG,IAAI,IAAI4F,EAAE,EAAEA,EAAE0/B,GAAGC,YAAY1hC,OAAO+B,IAAI,CAAC,IAAIrF,EAAEA,EAAE+kC,GAAGC,YAAY3/B,GAAG,IAAIhG,EAAE0lC,GAAG/kC,GAAGP,GAAG,GAAGJ,EAAE,OAAOA,EAAE,OAAO,MAAM4lC,iBAAiB,SAASxlC,GAAG,IAAI4F,EAAE5F,EAAE+d,YAAYxd,EAAEP,EAAEylC,UAAU7lC,EAAEI,EAAEkvB,YAAY3vB,EAAES,EAAEsjC,MAAM,IAAI,cAAcrqB,KAAK1Y,GAAG,OAAO,KAAK,IAAI,IAAIzB,EAAE,EAAEA,EAAES,EAAEw0B,aAAa/kB,KAAKnL,OAAO/E,IAAI,CAAC,IAAI4E,EAAEnE,EAAEw0B,aAAa/kB,KAAKlQ,GAAG+B,EAAEjB,EAAE,GAAG8D,EAAE+tB,YAAY/tB,EAAE+tB,WAAW+N,aAAa97B,EAAEqa,cAAcnY,EAAE,KAAK/E,GAAG,CAAC,GAAGA,IAAI6C,EAAE+C,QAAQ,OAAO/C,EAAE7C,EAAEyf,EAAErG,WAAWpZ,IAAI,OAAO,MAAM6kC,WAAW,SAAS1lC,GAAG,IAAI4F,EAAErF,EAAEP,EAAE2lB,UAAU/lB,EAAEI,EAAE+d,YAAYxe,EAAES,EAAEylC,UAAU3mC,EAAEkB,EAAEsjC,MAAM,GAAG,UAAU1jC,GAAG,QAAQA,EAAE,OAAO,KAAK,IAAI,IAAI8D,EAAE,EAAEA,EAAE5E,EAAEi1B,aAAa/kB,KAAKnL,OAAOH,IAAI,CAAC,IAAI7C,EAAE/B,EAAEi1B,aAAa/kB,KAAKtL,GAAG,GAAG7C,EAAEkd,cAAcne,EAAE,CAAC,GAAGiB,EAAE4wB,aAAakU,GAAG9kC,EAAEN,GAAG,SAAS,GAAGM,EAAE2wB,cAAc,OAAO3wB,EAAE+E,IAAIA,EAAE/E,IAAI,GAAG+E,EAAE,OAAOA,EAAE,IAAI,IAAI7G,EAAE,EAAEA,EAAED,EAAEi1B,aAAa/kB,KAAKnL,OAAO9E,IAAI,CAAC,IAAIid,EAAEld,EAAEi1B,aAAa/kB,KAAKjQ,GAAG,KAAKid,EAAE+B,cAAcne,GAAG,QAAQqZ,KAAK1Z,IAAIyc,EAAEyV,YAAY,OAAOzV,EAAE,OAAO,MAAM4pB,WAAW,SAAS5lC,GAAG,IAAI,IAAI4F,EAAE5F,EAAE2lB,UAAUplB,EAAEP,EAAEsjC,MAAM1jC,EAAE,EAAEA,EAAEW,EAAEwzB,aAAa/kB,KAAKnL,OAAOjE,IAAI,CAAC,IAAIL,EAAEgB,EAAEwzB,aAAa/kB,KAAKpP,GAAG,GAAG+lC,GAAGpmC,EAAEqG,GAAG,OAAOrG,EAAE,OAAO,MAAMsmC,KAAK,SAAS7lC,GAAG,IAAI,IAAI4F,EAAE5F,EAAE+d,YAAYxd,EAAEP,EAAEsjC,MAAM1jC,EAAE,EAAEA,EAAEW,EAAEwzB,aAAa/kB,KAAKnL,OAAOjE,IAAI,CAAC,IAAIL,EAAEgB,EAAEwzB,aAAa/kB,KAAKpP,GAAG,GAAG,IAAIL,EAAEitB,SAAS3oB,OAAO,CAAC,IAAI/E,EAAES,EAAEoe,aAAa,GAAG7e,KAAKA,EAAEoH,QAAQ+mB,UAAUnuB,EAAEoH,QAAQ+mB,QAAQpP,SAAS,cAAc,GAAGte,EAAEitB,SAAS3oB,QAAQ,EAAE,SAAS,IAAItE,EAAEiyB,eAAe5rB,IAAIrG,EAAEwe,YAAY,OAAOxe,EAAE,OAAO,OAAO,SAASomC,GAAG3lC,EAAE4F,GAAG,OAAO5F,EAAEwsB,SAASsZ,MAAK,SAAU9lC,GAAG,OAAOA,EAAEmP,KAAKvJ,KAAK,IAAImgC,GAAGT,GAAGD,GAAGngC,QAAQ6gC,GAAG,IAAIC,GAAG,GAAG,SAASC,GAAGjmC,GAAG,OAAOimC,GAAG,mBAAmBpmC,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAG,SAASkmC,GAAGlmC,EAAE4F,GAAG,OAAO,SAAS5F,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOA,EAAvC,CAA0CA,IAAI,SAASA,EAAE4F,GAAG,GAAG,oBAAoB/F,QAAUA,OAAOkc,YAAYvc,OAAOQ,GAA3D,CAAsE,IAAIO,EAAE,GAAGX,GAAE,EAAGL,GAAE,EAAGT,OAAE,EAAO,IAAI,IAAI,IAAI4E,EAAE7C,EAAEb,EAAEH,OAAOkc,cAAcnc,GAAG8D,EAAE7C,EAAEmB,QAAQsL,QAAQ/M,EAAE6O,KAAK1L,EAAE3D,QAAQ6F,GAAGrF,EAAEsD,SAAS+B,GAAGhG,GAAE,IAAK,MAAMI,GAAGT,GAAE,EAAGT,EAAEkB,EAAE,QAAQ,IAAIJ,GAAG,MAAMiB,EAAEm3B,QAAQn3B,EAAEm3B,SAAS,QAAQ,GAAGz4B,EAAE,MAAMT,GAAG,OAAOyB,GAAhT,CAAmTP,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,GAAI5F,EAAJ,CAAa,GAAG,iBAAiBA,EAAE,OAAOmmC,GAAGnmC,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAuD,MAApD,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAS,QAAQkB,GAAG,QAAQA,EAASmiB,MAAMM,KAAKhjB,GAAM,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAU4lC,GAAGnmC,EAAE4F,QAAnF,GAArN,CAA4S5F,EAAE4F,IAAI,WAAW,MAAM,IAAImF,UAAU,6IAA/B,GAA+K,SAASo7B,GAAGnmC,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAE,SAASwmC,GAAGpmC,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAqC,SAASs7B,GAAGrmC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAAS0mC,GAAGtmC,EAAE4F,GAAG,OAAO0gC,GAAG9mC,OAAO0oB,gBAAgB,SAASloB,EAAE4F,GAAG,OAAO5F,EAAEmoB,UAAUviB,EAAE5F,IAAIA,EAAE4F,GAAG,SAAS2gC,GAAGvmC,GAAG,IAAI4F,EAAE,WAAW,GAAG,oBAAoByiB,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOC,KAAK/nB,UAAUmK,SAAS5L,KAAKopB,QAAQC,UAAUG,KAAK,IAAG,iBAAiB,EAAG,MAAMzoB,GAAG,OAAM,GAApP,GAA2P,OAAO,WAAW,IAAIO,EAAEX,EAAE4mC,GAAGxmC,GAAG,GAAG4F,EAAE,CAAC,IAAIrG,EAAEinC,GAAG/nC,MAAMqO,YAAYvM,EAAE8nB,QAAQC,UAAU1oB,EAAE2M,UAAUhN,QAAQgB,EAAEX,EAAE0M,MAAM7N,KAAK8N,WAAW,OAAOk6B,GAAGhoC,KAAK8B,IAAI,SAASkmC,GAAGzmC,EAAE4F,GAAG,OAAOA,GAAG,WAAWqgC,GAAGrgC,IAAI,mBAAmBA,EAAE,SAAS5F,GAAG,QAAG,IAASA,EAAE,MAAM,IAAI2oB,eAAe,6DAA6D,OAAO3oB,EAAvH,CAA0HA,GAAG4F,EAAE,SAAS4gC,GAAGxmC,GAAG,OAAOwmC,GAAGhnC,OAAO0oB,eAAe1oB,OAAO6B,eAAe,SAASrB,GAAG,OAAOA,EAAEmoB,WAAW3oB,OAAO6B,eAAerB,KAAKA,GAAGR,OAAOC,eAAeumC,GAAG,aAAa,CAACjmC,OAAM,IAAKimC,GAAG9gC,aAAQ,EAAO,IAAIwhC,GAAG,CAAC,cAAc,cAAc,YAAY,gBAAgB,gBAAgB,cAAc,SAASC,GAAG3mC,EAAE4F,GAAG,OAAO,SAASrF,GAAG,IAAIX,EAAEgG,EAAEmuB,aAAa/kB,KAAKzP,EAAE2kB,EAAEoC,eAAe/lB,GAAGzB,EAAEonC,GAAGhiB,EAAEqC,gBAAgBhmB,GAAG,GAAGmD,EAAE5E,EAAE,GAAG+B,EAAE/B,EAAE,GAAGC,EAAE,GAAG,GAAG,SAASka,KAAK1Y,EAAEyI,MAAM,CAACpD,EAAEghC,cAAchhC,EAAEqqB,MAAM,IAAI,IAAIjU,EAAE,EAAEA,EAAEzb,EAAEikB,eAAe3gB,OAAOmY,IAAI,CAAC,IAAI7c,EAAEoB,EAAEikB,eAAexI,GAAGrW,EAAE,CAAC8mB,QAAQttB,EAAEwmB,UAAUzB,EAAEwB,aAAavmB,GAAG4e,YAAYxe,EAAEkmC,UAAUllC,EAAEyI,KAAKkmB,YAAYxrB,EAAEm6B,eAAeh9B,EAAEyiC,MAAM19B,GAAGxG,EAAEynC,GAAGlhC,GAAG5G,EAAEqQ,KAAK,CAACzJ,EAAE8mB,QAAQ9mB,EAAEupB,YAAYvpB,EAAEk4B,eAAez+B,SAAS,CAAC,IAAIwB,GAAE,EAAG,IAAI+C,EAAEuB,QAAQma,sBAAsB,QAAQpG,KAAK1Y,EAAEyI,MAAM,CAAC,IAAI,IAAImB,EAAE,EAAEA,EAAEvK,EAAEiE,SAASjD,EAAEuJ,IAAIvJ,EAAE,UAAUhB,EAAEuK,GAAG4T,aAAane,EAAEuK,GAAG2T,cAAcld,EAAEA,GAAGgF,EAAEqqB,MAAMrqB,EAAEghC,cAAc,KAAK,IAAIrmC,EAAE0kB,UAAU,IAAIrkB,EAAE,CAAC,IAAIyQ,EAAE,CAACob,QAAQlsB,EAAEolB,UAAUzB,EAAEwB,aAAanlB,GAAGwd,YAAYxe,EAAEkmC,UAAUllC,EAAEyI,KAAK60B,eAAeh9B,EAAEquB,YAAYxrB,EAAE4/B,MAAM19B,GAAG6Y,EAAEooB,GAAGx1B,GAAGtS,EAAEqQ,KAAK,CAACiC,EAAEob,QAAQpb,EAAE6d,YAAY7d,EAAEwsB,eAAepf,KAAK,IAAI,IAAI3J,EAAE,EAAEA,EAAE/V,EAAE8E,OAAOiR,IAAI,CAAC,IAAI5V,EAAEgnC,GAAGnnC,EAAE+V,GAAG,GAAGD,EAAE3V,EAAE,GAAG6V,EAAE7V,EAAE,GAAGohB,EAAEphB,EAAE,GAAGA,EAAE,GAAGc,GAAG6U,EAAEtU,EAAEwU,EAAEuL,KAAK,SAASumB,GAAG7mC,GAAG,IAAI4F,EAAE5F,EAAE+d,YAAYxd,EAAEP,EAAEsjC,MAAM1jC,EAAE,CAAC8c,YAAY2oB,GAAGngC,QAAQue,OAAOzjB,GAAG8mC,cAAc9mC,GAAG,OAAOO,EAAEgpB,KAAK,oBAAoB3pB,GAAGA,EAAE8c,aAAanc,EAAEwzB,aAAa8Q,IAAI,CAAC9mB,YAAYnY,IAAI,SAASmhC,GAAG/mC,EAAE4F,GAAG,IAAIrF,EAAEP,EAAEgnC,IAAIpnC,EAAEI,EAAEsjC,MAAM/jC,EAAES,EAAEkG,QAAQpH,EAAEc,EAAEm0B,aAAaoC,UAAUzyB,EAAE9D,EAAEupB,OAAOtoB,EAAE6C,EAAEkC,GAAG,IAAI,IAAI7G,KAAKa,EAAEquB,QAAQ1O,QAAQhgB,EAAE4pB,SAAS5pB,EAAE4pB,OAAO,CAAC+M,SAAQ,IAAKxyB,EAAEo/B,gBAAgBjiC,EAAEN,EAAExB,EAAE2E,EAAE4gC,kBAAkBzjC,EAAEN,EAAExB,EAAE2E,EAAE6gC,oBAAmB,GAAI,IAAI,IAAIvoB,EAAEzc,GAAGA,EAAE4pB,OAAOhqB,EAAE,EAAEA,EAAEL,EAAE+E,OAAO1E,IAAI,CAAC,IAAIwG,EAAE7G,EAAEK,GAAG0B,EAAEN,EAAEoF,EAAEqD,KAAKrD,EAAEe,SAASsV,IAAI,IAAIirB,GAAG,CAAC93B,GAAG,oBAAoB8D,QAAQ,SAASjT,GAAG,IAAI,IAAI4F,EAAE,GAAGrF,EAAE,EAAEA,EAAEmmC,GAAG7iC,OAAOtD,IAAI,CAAC,IAAIX,EAAE8mC,GAAGnmC,GAAGqF,EAAEhG,GAAG+mC,GAAG/mC,EAAEI,GAAG,IAAIT,EAAET,EAAE6E,EAAEuB,QAAQ6a,YAAY,SAASrc,IAAI,IAAI,IAAIkC,EAAE,EAAEA,EAAE5F,EAAE+zB,aAAa/kB,KAAKnL,OAAO+B,IAAI,CAAC,IAAIrF,EAAEP,EAAE+zB,aAAa/kB,KAAKpJ,GAAG,GAAGrF,EAAEud,eAAe,UAAUvd,EAAEwd,cAAcxd,EAAE8zB,aAAa,IAAI,IAAIz0B,EAAE,WAAW,IAAIgG,EAAErF,EAAEisB,SAASjtB,GAAGS,EAAEwkC,UAAUsB,MAAK,SAAU9lC,GAAG,IAAIO,EAAEP,EAAEgnC,IAAI,OAAM,EAAG1mB,EAAEE,cAAcjgB,EAAEqF,EAAEy2B,gBAAgB97B,EAAEu9B,cAAcl4B,EAAE6mB,QAAQ7mB,EAAE4F,QAAQjM,EAAE,EAAEA,EAAEgB,EAAEisB,SAAS3oB,OAAOtE,IAAKK,MAAOL,EAAE8R,EAAEnM,QAAQ+Z,aAAa,CAAC,CAACjW,KAAKlK,EAAEmhB,KAAKvZ,SAAShD,GAAG,CAACsF,KAAKlK,EAAEmhB,KAAKvZ,SAASd,EAAEshC,aAAa,CAACl+B,KAAKlK,EAAEyf,KAAK7X,SAASd,EAAEuhC,aAAa,CAACn+B,KAAKlK,EAAEkhB,GAAGtZ,SAASd,EAAEwhC,WAAW,CAACp+B,KAAKlK,EAAEshB,OAAO1Z,SAASd,EAAEwhC,YAAY,CAAC,CAACp+B,KAAK,YAAYtC,SAASd,EAAEshC,aAAa,CAACl+B,KAAK,YAAYtC,SAASd,EAAEuhC,aAAa,CAACn+B,KAAK,UAAUtC,SAASd,EAAEwhC,WAAW,CAACp+B,KAAK,aAAatC,SAAShD,GAAG,CAACsF,KAAK,aAAatC,SAASd,EAAEshC,aAAa,CAACl+B,KAAK,YAAYtC,SAASd,EAAEuhC,aAAa,CAACn+B,KAAK,WAAWtC,SAASd,EAAEwhC,WAAW,CAACp+B,KAAK,cAActC,SAASd,EAAEwhC,aAAah4B,KAAK,CAACpG,KAAK,OAAOtC,SAAS,SAASd,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEP,EAAE+zB,aAAa/kB,KAAKnL,OAAOtD,IAAKP,EAAE+zB,aAAa/kB,KAAKzO,GAAG8mC,aAAazhC,MAAO5F,EAAE4mC,cAAc,EAAE5mC,EAAE28B,YAAY,SAAS/2B,IAAI,SAAS5F,EAAE4F,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAImF,UAAU,sDAAsD/K,EAAEU,UAAUlB,OAAOY,OAAOwF,GAAGA,EAAElF,UAAU,CAACoM,YAAY,CAAC/M,MAAMC,EAAEmV,UAAS,EAAGD,cAAa,KAAMtP,GAAG0gC,GAAGtmC,EAAE4F,GAAhO,CAAoOlC,EAAEkC,GAAG,IAAIrF,EAAEX,EAAEL,EAAET,EAAEynC,GAAG7iC,GAAG,SAASA,IAAI,OAAO0iC,GAAG3nC,KAAKiF,GAAG5E,EAAEwN,MAAM7N,KAAK8N,WAAW,OAAOhM,EAAEmD,GAAG9D,EAAE,CAAC,CAACS,IAAI,OAAON,MAAM,WAAW,OAAOC,EAAEiwB,QAAQ,CAAC5vB,IAAI,uBAAuBV,IAAI,WAAW,OAAOK,EAAE+zB,aAAa4J,sBAAsBpW,IAAI,SAAS3hB,GAAG5F,EAAE+zB,aAAa4J,qBAAqB/3B,OAAOygC,GAAG9lC,EAAEG,UAAUd,GAAGL,GAAG8mC,GAAG9lC,EAAEhB,GAAGmE,EAA3iB,CAA8iB84B,GAAGt3B,SAASlF,EAAE+zB,aAAa,CAAC/kB,KAAK,GAAG61B,IAAI,SAASj/B,GAAGA,EAAEq3B,UAAU,SAASr3B,EAAErF,GAAG,OAAOP,EAAEupB,KAAK3jB,EAAErF,IAAI,IAAIA,EAAE,IAAIP,EAAE28B,YAAY/2B,GAAG,OAAO5F,EAAE+zB,aAAa/kB,KAAKI,KAAK7O,GAAGA,GAAG+a,UAAU1V,EAAEuwB,UAAU52B,EAAEo+B,qBAAqB,GAAG39B,EAAEgrB,UAAU2K,GAAGzwB,UAAUoW,UAAU,CAAC,qBAAqB,SAAStb,GAAG,OAAO+mC,GAAG/mC,EAAE,QAAQ,wBAAwB,SAASA,GAAG,OAAO+mC,GAAG/mC,EAAE,WAAW,qBAAqB,SAASA,EAAE4F,GAAG,IAAI,IAAIrF,EAAEP,EAAE2d,aAAa/d,EAAEgG,EAAEmuB,aAAa/kB,KAAKnL,OAAO,EAAEjE,GAAG,EAAEA,IAAI,CAAC,IAAIL,EAAEqG,EAAEmuB,aAAa/kB,KAAKpP,GAAGL,EAAEoe,eAAepd,IAAIhB,EAAE6xB,OAAOxrB,EAAE2jB,KAAK,uBAAuB,CAAC7M,YAAYnd,IAAIA,EAAE+nC,UAAU1hC,EAAEmuB,aAAa/kB,KAAKnL,OAAO,GAAG+B,EAAEmuB,aAAa/kB,KAAKuM,OAAO3b,EAAE,OAAO2nC,YAAYR,GAAGS,iBAAiBb,GAAGc,YAAYf,IAAIV,GAAG9gC,QAAQ+hC,GAAG,IAAIS,GAAG,GAAG,SAASC,GAAG3nC,GAAG,OAAO2nC,GAAG,mBAAmB9nC,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAG,SAAS4nC,GAAG5nC,EAAE4F,EAAErF,GAAG,OAAOqnC,GAAG,oBAAoBvf,SAASA,QAAQ1oB,IAAI0oB,QAAQ1oB,IAAI,SAASK,EAAE4F,EAAErF,GAAG,IAAIX,EAAE,SAASI,EAAE4F,GAAG,MAAMpG,OAAOkB,UAAUC,eAAe1B,KAAKe,EAAE4F,IAAI,QAAQ5F,EAAE6nC,GAAG7nC,MAAM,OAAOA,EAAzF,CAA4FA,EAAE4F,GAAG,GAAGhG,EAAE,CAAC,IAAIL,EAAEC,OAAOkG,yBAAyB9F,EAAEgG,GAAG,OAAOrG,EAAEI,IAAIJ,EAAEI,IAAIV,KAAKsB,GAAGhB,EAAEQ,SAASC,EAAE4F,EAAErF,GAAGP,GAAG,SAAS8nC,GAAG9nC,EAAE4F,GAAG,OAAOkiC,GAAGtoC,OAAO0oB,gBAAgB,SAASloB,EAAE4F,GAAG,OAAO5F,EAAEmoB,UAAUviB,EAAE5F,IAAIA,EAAE4F,GAAG,SAASmiC,GAAG/nC,GAAG,IAAI4F,EAAE,WAAW,GAAG,oBAAoByiB,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOC,KAAK/nB,UAAUmK,SAAS5L,KAAKopB,QAAQC,UAAUG,KAAK,IAAG,iBAAiB,EAAG,MAAMzoB,GAAG,OAAM,GAApP,GAA2P,OAAO,WAAW,IAAIO,EAAEX,EAAEioC,GAAG7nC,GAAG,GAAG4F,EAAE,CAAC,IAAIrG,EAAEsoC,GAAGppC,MAAMqO,YAAYvM,EAAE8nB,QAAQC,UAAU1oB,EAAE2M,UAAUhN,QAAQgB,EAAEX,EAAE0M,MAAM7N,KAAK8N,WAAW,OAAOy7B,GAAGvpC,KAAK8B,IAAI,SAASynC,GAAGhoC,EAAE4F,GAAG,OAAOA,GAAG,WAAW+hC,GAAG/hC,IAAI,mBAAmBA,EAAE,SAAS5F,GAAG,QAAG,IAASA,EAAE,MAAM,IAAI2oB,eAAe,6DAA6D,OAAO3oB,EAAvH,CAA0HA,GAAG4F,EAAE,SAASiiC,GAAG7nC,GAAG,OAAO6nC,GAAGroC,OAAO0oB,eAAe1oB,OAAO6B,eAAe,SAASrB,GAAG,OAAOA,EAAEmoB,WAAW3oB,OAAO6B,eAAerB,KAAKA,GAAG,SAASioC,GAAGjoC,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAqC,SAASm9B,GAAGloC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAASuoC,GAAGnoC,EAAE4F,EAAErF,GAAG,OAAOqF,GAAGsiC,GAAGloC,EAAEU,UAAUkF,GAAGrF,GAAG2nC,GAAGloC,EAAEO,GAAGP,EAAER,OAAOC,eAAeioC,GAAG,aAAa,CAAC3nC,OAAM,IAAK2nC,GAAGU,UAAUC,GAAGX,GAAGY,WAAM,EAAO,IAAIC,GAAG,WAAW,SAASvoC,IAAI,IAAI4F,EAAEnH,KAAKwpC,GAAGxpC,KAAKuB,GAAGvB,KAAK0Q,GAAG,oBAAoBX,OAAOwI,KAAKC,MAAM,IAAID,KAAKwxB,WAAW/pC,KAAKgqC,eAAc,EAAGhqC,KAAKiqC,aAAa,GAAGjqC,KAAKwvB,QAAQtqB,EAAEuB,QAAQzG,KAAK8e,UAAS,EAAGsa,GAAG3yB,SAASu1B,GAAGld,UAAU9e,KAAKgjC,UAAUH,GAAGG,UAAUhjC,KAAK4e,QAAQ,CAAChP,IAAI,GAAG8yB,OAAO,CAACnkB,OAAM,EAAGuB,MAAK,EAAGue,KAAI,GAAIpf,WAAW,GAAGiO,eAAe,IAAIltB,KAAKssB,gBAAe,EAAG4Z,GAAGC,sBAAsBnmC,MAAMA,KAAKy8B,cAAcR,GAAGQ,cAAcz8B,KAAK6e,kBAAa,EAAO7e,KAAKirB,cAAc,IAAIuZ,GAAGE,gBAAgB1kC,MAAMA,KAAKyjC,UAAK,EAAOzjC,KAAKmK,cAAS,EAAOnK,KAAKiJ,YAAO,EAAOjJ,KAAK+lC,UAAU,GAAG/lC,KAAKkqC,SAAS,CAAC35B,KAAK,GAAGX,IAAI,IAAI5P,KAAKmqC,eAAe,SAAS5oC,GAAG,OAAO4F,EAAEw/B,eAAeplC,EAAE0mB,SAAS,IAAInmB,EAAE9B,KAAKA,KAAK6e,aAAa,SAAStd,IAAI,SAASA,EAAE4F,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAImF,UAAU,sDAAsD/K,EAAEU,UAAUlB,OAAOY,OAAOwF,GAAGA,EAAElF,UAAU,CAACoM,YAAY,CAAC/M,MAAMC,EAAEmV,UAAS,EAAGD,cAAa,KAAMtP,GAAGkiC,GAAG9nC,EAAE4F,GAAhO,CAAoOhG,EAAEI,GAAG,IAAI4F,EAAEmiC,GAAGnoC,GAAG,SAASA,IAAI,OAAOqoC,GAAGxpC,KAAKmB,GAAGgG,EAAE0G,MAAM7N,KAAK8N,WAAW,OAAO47B,GAAGvoC,EAAE,CAAC,CAACS,IAAI,MAAMN,MAAM,SAASC,GAAG,OAAO4nC,GAAGC,GAAGjoC,EAAEc,WAAW,MAAMjC,MAAMQ,KAAKR,KAAKuB,GAAGO,EAAEgpB,KAAK,mBAAmB,CAACrjB,QAAQlG,EAAE2d,aAAalf,OAAOA,OAAO,CAAC4B,IAAI,QAAQN,MAAM,WAAW6nC,GAAGC,GAAGjoC,EAAEc,WAAW,QAAQjC,MAAMQ,KAAKR,MAAM8B,EAAEmpB,cAAc1a,KAAKuM,OAAOhb,EAAEmpB,cAAc1a,KAAKhF,QAAQvL,MAAM,GAAG8B,EAAEgpB,KAAK,qBAAqB,CAAC5L,aAAalf,SAAS,CAAC4B,IAAI,YAAYV,IAAI,WAAW,OAAOY,EAAEgd,aAAa3d,EAA3sB,CAA8sBiiC,GAAGvkB,cAAc,OAAO6qB,GAAGnoC,EAAE,CAAC,CAACK,IAAI,eAAeN,MAAM,SAASC,EAAE4F,GAAGnH,KAAKiqC,aAAat5B,KAAK,CAACD,GAAGvJ,EAAEyI,IAAIrO,MAAM,CAACK,IAAI,OAAON,MAAM,SAASC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAE9B,KAAKiqC,aAAa7kC,OAAOtD,IAAI,CAAC,IAAIX,EAAEnB,KAAKiqC,aAAanoC,GAAG8N,IAAIrO,GAAG,GAAGJ,IAAG,IAAKA,EAAEgG,EAAEnH,KAAKuB,GAAG,OAAM,KAAM,CAACK,IAAI,OAAON,MAAM,SAASC,GAAG,OAAOvB,KAAKgqC,cAAchqC,KAAK4pC,GAAG5pC,KAAKuB,KAAK,CAACK,IAAI,oBAAoBN,MAAM,SAASC,GAAG,OAAOvB,KAAKkqC,SAASt6B,IAAIrO,EAAEmP,MAAM,IAAI1Q,KAAKkqC,SAAS35B,KAAKhF,QAAQhK,KAAK,CAACK,IAAI,YAAYN,MAAM,SAASC,EAAE4F,GAAG,IAAInH,KAAKgqC,cAAc,OAAOhqC,KAAK,GAAGA,KAAKoqC,kBAAkB7oC,GAAG,OAAOvB,KAAK,GAAGuB,EAAEmP,KAAK1Q,KAAKkqC,SAASt6B,IAAIrO,EAAEmP,IAAInP,GAAGvB,KAAKkqC,SAAS35B,KAAKI,KAAKpP,GAAGA,EAAEiT,SAASjT,EAAEiT,QAAQxU,KAAKmH,GAAG5F,EAAEsb,WAAWtb,EAAEstB,OAAO,CAAC,IAAI,IAAI/sB,EAAE,EAAEX,EAAEnB,KAAKiqC,aAAa7kC,OAAOtE,EAAES,EAAEstB,OAAO5J,QAAO,SAAU1jB,EAAE4F,GAAG,OAAO5F,EAAE4F,IAAG,EAAG5F,EAAE8oC,GAAGljC,KAAI,EAAG5F,IAAI,IAAIO,EAAEX,EAAEW,IAAI,CAAC,IAAIzB,EAAEL,KAAKiqC,aAAanoC,GAAG4O,GAAG,GAAG5P,EAAET,IAAIS,EAAEupC,GAAGhqC,IAAI,MAAML,KAAKiqC,aAAantB,OAAOhb,EAAE,EAAE,CAAC4O,GAAGnP,EAAEmP,GAAGd,IAAIrO,EAAEsb,iBAAiBtb,EAAEsb,WAAW7c,KAAKiqC,aAAat5B,KAAK,CAACD,GAAGnP,EAAEmP,GAAGd,IAAIrO,EAAEsb,YAAY,OAAO7c,OAAO,CAAC4B,IAAI,cAAcN,MAAM,SAASC,EAAEO,GAAG,IAAI,IAAI9B,KAAKsqC,YAAY/oC,GAAG,OAAM,EAAG,IAAIJ,EAAEgG,EAAE+V,UAAU3b,GAAGO,EAAEA,GAAE,EAAGmZ,EAAExU,SAAS,GAAG3E,GAAG,GAAG9B,KAAK+lC,UAAUp1B,KAAK,CAAC43B,IAAIhnC,EAAEkG,QAAQ3F,IAAI9B,KAAK0qB,OAAOqb,UAAUp1B,KAAKpP,GAAGA,IAAIvB,KAAKmK,UAAUnK,KAAK0qB,OAAOlkB,IAAIrF,EAAE,SAASnB,KAAKmqC,gBAAgBnqC,KAAK8qB,KAAK,qBAAqB,CAACyd,IAAIhnC,EAAE0H,OAAO9H,EAAE0jC,MAAM7kC,KAAKyH,QAAQ3F,MAAM,CAACF,IAAI,iBAAiBN,MAAM,SAASC,GAAG,IAAIO,EAAE9B,KAAKsqC,YAAY/oC,GAAGJ,EAAEgG,EAAE+V,UAAU3b,GAAGT,EAAEd,KAAK+lC,UAAUjkC,GAAG2F,QAAQzH,KAAK0qB,OAAOpP,OAAOna,EAAE,SAASnB,KAAKmqC,gBAAgBnqC,KAAK+lC,UAAUjpB,OAAOhb,EAAE,GAAG9B,KAAK0qB,OAAOqb,UAAUjpB,OAAOhb,EAAE,GAAG9B,KAAK8qB,KAAK,wBAAwB,CAACyd,IAAIhnC,EAAE0H,OAAO9H,EAAE0jC,MAAM7kC,KAAKyH,QAAQ3G,MAAM,CAACc,IAAI,cAAcN,MAAM,SAASC,GAAG,IAAI,IAAI4F,EAAE,EAAEA,EAAEnH,KAAK+lC,UAAU3gC,OAAO+B,IAAI,GAAGnH,KAAK+lC,UAAU5+B,GAAGohC,MAAMhnC,EAAE,OAAO4F,EAAE,OAAO,IAAI,CAACvF,IAAI,gBAAgBN,MAAM,SAASC,GAAG,IAAI4F,EAAEnH,KAAKsqC,YAAY/oC,GAAG,OAAO,IAAI4F,EAAE,KAAKnH,KAAK+lC,UAAU5+B,GAAGM,UAAU,CAAC7F,IAAI,MAAMN,MAAM,WAAW,OAAOtB,KAAKiJ,OAAO+gB,MAAMA,MAAMwH,UAAUjwB,EAAnwG,GAAwwG,SAASqoC,GAAGroC,EAAEO,GAAG,OAAOP,EAAEyoC,eAAc,EAAG7iC,EAAE8V,KAAKnb,GAAG8Q,EAAEnM,QAAQwW,KAAKnb,GAAGoD,EAAEuB,QAAQwW,KAAKnb,GAAGkvB,GAAGvqB,QAAQwW,KAAKnb,GAAGP,EAAE0H,OAAOnH,EAAEP,EAAE4I,SAASrI,EAAEqI,SAAS5I,EAAEgrB,UAAUgb,GAAG9gC,SAASlF,EAAEgrB,UAAU2Y,GAAGz+B,SAASlF,EAAE,SAAS8oC,GAAG9oC,GAAG,OAAOA,GAAGA,EAAEqI,QAAQ,QAAQ,IAAIq/B,GAAGY,MAAMC,GAAG,IAAIS,GAAG,GAAG,SAASC,GAAGjpC,GAAG,OAAOipC,GAAG,mBAAmBppC,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAGR,OAAOC,eAAeupC,GAAG,aAAa,CAACjpC,OAAM,IAAKipC,GAAGttB,KAAKstB,GAAG9jC,aAAQ,EAAO,IAAIgkC,GAAG,IAAIxB,GAAGY,MAAMa,GAAGD,GAAGne,eAAeie,GAAG9jC,QAAQikC,GAAG,IAAIC,GAAG,SAASppC,GAAG,OAAOkpC,GAAGxtB,KAAK1b,IAAIgpC,GAAGttB,KAAK0tB,GAAG,YAAY,oBAAoB1hC,OAAO,YAAYuhC,GAAGvhC,UAAUA,QAAQ0hC,GAAG1hC,QAAQ,IAAI2hC,GAAG,GAAG7pC,OAAOC,eAAe4pC,GAAG,aAAa,CAACtpC,OAAM,IAAKspC,GAAGnkC,aAAQ,EAAOmkC,GAAGnkC,QAAQ,aAAa,IAAIokC,GAAG,GAAG9pC,OAAOC,eAAe6pC,GAAG,aAAa,CAACvpC,OAAM,IAAKupC,GAAGpkC,aAAQ,EAAOokC,GAAGpkC,QAAQ,aAAa,IAAIqkC,GAAG,GAAG,SAASC,GAAGxpC,EAAE4F,GAAG,OAAO,SAAS5F,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOA,EAAvC,CAA0CA,IAAI,SAASA,EAAE4F,GAAG,GAAG,oBAAoB/F,QAAUA,OAAOkc,YAAYvc,OAAOQ,GAA3D,CAAsE,IAAIO,EAAE,GAAGX,GAAE,EAAGL,GAAE,EAAGT,OAAE,EAAO,IAAI,IAAI,IAAI4E,EAAE7C,EAAEb,EAAEH,OAAOkc,cAAcnc,GAAG8D,EAAE7C,EAAEmB,QAAQsL,QAAQ/M,EAAE6O,KAAK1L,EAAE3D,QAAQ6F,GAAGrF,EAAEsD,SAAS+B,GAAGhG,GAAE,IAAK,MAAMI,GAAGT,GAAE,EAAGT,EAAEkB,EAAE,QAAQ,IAAIJ,GAAG,MAAMiB,EAAEm3B,QAAQn3B,EAAEm3B,SAAS,QAAQ,GAAGz4B,EAAE,MAAMT,GAAG,OAAOyB,GAAhT,CAAmTP,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,GAAI5F,EAAJ,CAAa,GAAG,iBAAiBA,EAAE,OAAOypC,GAAGzpC,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAuD,MAApD,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAS,QAAQkB,GAAG,QAAQA,EAASmiB,MAAMM,KAAKhjB,GAAM,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAUkpC,GAAGzpC,EAAE4F,QAAnF,GAArN,CAA4S5F,EAAE4F,IAAI,WAAW,MAAM,IAAImF,UAAU,6IAA/B,GAA+K,SAAS0+B,GAAGzpC,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAEJ,OAAOC,eAAe8pC,GAAG,aAAa,CAACxpC,OAAM,IAAKwpC,GAAGrkC,aAAQ,EAAOqkC,GAAGrkC,QAAQ,SAASlF,GAAG,IAAI4F,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,OAAO,CAAC,QAAQ,UAAU,CAAC,QAAQ,WAAW6U,QAAO,SAAU7U,GAAG,IAAIrF,EAAEipC,GAAG5jC,EAAE,GAAGhG,EAAEW,EAAE,GAAGhB,EAAEgB,EAAE,GAAG,OAAOX,KAAKI,GAAGT,KAAKS,KAAKO,EAAE,SAASA,EAAEX,GAAG,IAAI,IAAIL,EAAES,EAAE0pC,MAAM5qC,EAAEkB,EAAE2pC,OAAOjmC,OAAE,IAAS5E,EAAE,CAAC4iB,MAAK,IAAKC,MAAM,IAAIC,KAAI,IAAKC,OAAO,KAAK/iB,EAAE+B,EAAEb,EAAEw+B,OAAOz/B,OAAE,IAAS8B,EAAE,CAACgU,EAAE,EAAEC,EAAE,GAAGjU,EAAEmb,EAAE,CAAC0tB,MAAMnqC,EAAEqqC,KAAK5pC,EAAE6U,EAAE,KAAKC,EAAE,MAAM3V,EAAE,EAAEA,EAAEyG,EAAE/B,OAAO1E,IAAI,CAAC,IAAIwG,EAAE6jC,GAAG5jC,EAAEzG,GAAG,GAAGC,EAAEuG,EAAE,GAAG/E,EAAE+E,EAAE,GAAGwE,EAAE6M,KAAK6yB,OAAOtpC,EAAExB,EAAE8V,GAAG7U,EAAEZ,IAAIiS,EAAE2F,KAAK6yB,OAAOjqC,EAAEb,EAAE+V,GAAG9U,EAAEY,IAAIob,EAAE5c,GAAG4X,KAAKoO,IAAI1hB,EAAEge,KAAK1K,KAAKiP,IAAIviB,EAAEie,MAAMxX,EAAEnK,EAAEZ,GAAGL,EAAE8V,IAAImH,EAAEpb,GAAGoW,KAAKoO,IAAI1hB,EAAEke,IAAI5K,KAAKiP,IAAIviB,EAAEme,OAAOxQ,EAAErR,EAAEY,GAAG7B,EAAE+V,IAAI,OAAOkH,GAAG,OAAOzb,EAAEqpC,KAAK5pC,EAAEO,EAAEupC,YAAYlkC,EAAErF,GAAG,IAAIwpC,GAAG,GAAGvqC,OAAOC,eAAesqC,GAAG,aAAa,CAAChqC,OAAM,IAAKP,OAAOC,eAAesqC,GAAG,aAAa,CAACrqC,YAAW,EAAGC,IAAI,WAAW,OAAO0pC,GAAGnkC,WAAW1F,OAAOC,eAAesqC,GAAG,WAAW,CAACrqC,YAAW,EAAGC,IAAI,WAAW,OAAO2pC,GAAGpkC,WAAW1F,OAAOC,eAAesqC,GAAG,OAAO,CAACrqC,YAAW,EAAGC,IAAI,WAAW,OAAO4pC,GAAGrkC,WAAW,IAAI8kC,GAAG,GAAGxqC,OAAOC,eAAeuqC,GAAG,aAAa,CAACjqC,OAAM,IAAKiqC,GAAG9kC,aAAQ,EAAO,IAAI+kC,GAAG,CAAC96B,GAAG,WAAW8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAE+qB,eAAenlB,EAAEskC,UAAS,EAAGxwB,EAAExU,SAASU,EAAEskC,UAAU,GAAGH,IAAInkC,EAAEukC,eAAevkC,EAAEskC,SAASN,OAAOI,GAAG9kC,QAAQ+kC,GAAG,IAAIG,GAAG,GAAG,SAASC,GAAGrqC,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOgC,KAAKxB,GAAG,GAAGR,OAAOmQ,sBAAsB,CAAC,IAAI/P,EAAEJ,OAAOmQ,sBAAsB3P,GAAG4F,IAAIhG,EAAEA,EAAE6a,QAAO,SAAU7U,GAAG,OAAOpG,OAAOkG,yBAAyB1F,EAAE4F,GAAGlG,eAAea,EAAE6O,KAAK9C,MAAM/L,EAAEX,GAAG,OAAOW,EAAE,SAAS+pC,GAAGtqC,GAAG,IAAI,IAAI4F,EAAE,EAAEA,EAAE2G,UAAU1I,OAAO+B,IAAI,CAAC,IAAIrF,EAAE,MAAMgM,UAAU3G,GAAG2G,UAAU3G,GAAG,GAAGA,EAAE,EAAEykC,GAAG7qC,OAAOe,IAAG,GAAI6S,SAAQ,SAAUxN,GAAG2kC,GAAGvqC,EAAE4F,EAAErF,EAAEqF,OAAOpG,OAAOgrC,0BAA0BhrC,OAAOuG,iBAAiB/F,EAAER,OAAOgrC,0BAA0BjqC,IAAI8pC,GAAG7qC,OAAOe,IAAI6S,SAAQ,SAAUxN,GAAGpG,OAAOC,eAAeO,EAAE4F,EAAEpG,OAAOkG,yBAAyBnF,EAAEqF,OAAO,OAAO5F,EAAE,SAASuqC,GAAGvqC,EAAE4F,EAAErF,GAAG,OAAOqF,KAAK5F,EAAER,OAAOC,eAAeO,EAAE4F,EAAE,CAAC7F,MAAMQ,EAAEb,YAAW,EAAGwV,cAAa,EAAGC,UAAS,IAAKnV,EAAE4F,GAAGrF,EAAEP,EAAER,OAAOC,eAAe2qC,GAAG,aAAa,CAACrqC,OAAM,IAAKqqC,GAAGK,YAAYL,GAAGllC,aAAQ,EAAO,IAAIwlC,GAAG,CAAC1tB,MAAM,SAAShd,GAAG,IAAI4F,EAAE5F,EAAEm5B,MAAM54B,EAAEP,EAAEgqB,KAAKpqB,EAAEI,EAAE2uB,MAAMpvB,EAAES,EAAE84B,WAAWh6B,EAAE8G,EAAEM,QAAQykC,MAAMjnC,EAAEkC,EAAEM,QAAQrF,EAAE6C,EAAEknC,WAAW7rC,EAAE2E,EAAEi1B,UAAU,aAAa75B,IAAIA,EAAEyB,EAAEqH,MAAMrH,EAAEuH,QAAQlC,EAAE+5B,aAAY,EAAGjmB,EAAExU,SAAS,GAAG3F,GAAGqG,EAAEilC,WAAU,EAAGnxB,EAAExU,SAAS,GAAG3E,GAAGqF,EAAE+kC,MAAM7rC,EAAE8G,EAAEglC,WAAW/pC,EAAE,IAAImb,EAAEpW,EAAEklC,YAAY,CAAClpB,IAAIhiB,EAAEgiB,KAAKhiB,EAAE8hB,OAAO9hB,EAAEiiB,OAAOH,KAAK9hB,EAAE8hB,MAAM9hB,EAAEgiB,MAAMhiB,EAAE+hB,MAAME,OAAOjiB,EAAEiiB,QAAQjiB,EAAE+hB,QAAQ/hB,EAAEgiB,IAAID,MAAM/hB,EAAE+hB,OAAO/hB,EAAEiiB,SAASjiB,EAAE8hB,MAAM,GAAG9b,EAAEmlC,kBAAkBnrC,EAAE8hB,OAAO9hB,EAAE+hB,OAAO/b,EAAEglC,WAAWhlC,EAAEolC,UAAUhvB,EAAE0F,KAAK,GAAG,IAAI1F,EAAE4F,IAAI,GAAG,OAAO,CAAC,IAAIziB,EAAEyG,EAAEmlC,eAAe/uB,EAAE4F,IAAI5F,EAAE0F,KAAK9b,EAAEolC,SAAS7rC,GAAG,EAAE,EAAE,IAAG,EAAGua,EAAExU,SAASlF,EAAE2uB,MAAM3S,GAAGjd,GAAGA,EAAE8E,OAAO,CAAC,IAAI8B,EAAE,IAAImyB,GAAG5yB,QAAQlF,EAAE0c,aAAa/W,EAAEy6B,SAASpgC,EAAE0c,YAAYkd,cAAcj0B,EAAEkzB,cAAc95B,GAAG6G,EAAEqlC,gBAAgBtlC,EAAEA,EAAEqzB,SAASsR,GAAG,GAAGtqC,MAAMunB,IAAI,SAASvnB,GAAG,IAAI4F,EAAE5F,EAAEm5B,MAAM54B,EAAEP,EAAEgqB,KAAKpqB,EAAEI,EAAE6c,OAAOtd,GAAE,EAAGma,EAAExU,SAAS,GAAGtF,GAAGd,EAAE8G,EAAEglC,WAAWM,GAAGC,GAAG,GAAGrsC,EAAE8G,EAAEA,EAAEmlC,eAAenrC,EAAEW,IAAIqF,EAAEqlC,gBAAgB,OAAO,KAAK,IAAIvnC,GAAE,EAAGgW,EAAExU,SAAS,GAAG3E,IAAG,EAAGiiB,EAAEY,UAAUxd,EAAEklC,YAAYpnC,EAAE,CAACmR,EAAEjV,EAAEiV,EAAEtV,EAAEsV,EAAEC,EAAElV,EAAEkV,EAAEvV,EAAEuV,IAAI,IAAIjU,EAAE+E,EAAEqlC,gBAAgBhS,OAAOqR,GAAGA,GAAG,GAAGtqC,GAAG,GAAG,CAACgqB,KAAKtmB,EAAEirB,MAAM/oB,EAAEklC,YAAYhS,WAAWl5B,EAAEwrC,WAAWxrC,EAAEyrC,SAAS3nC,KAAK3E,EAAE8B,EAAEuc,MAA8F,OAAxFvc,EAAE24B,UAAU16B,EAAE8G,EAAEoR,KAAK2W,IAAI5uB,EAAE8V,GAAGmC,KAAK2W,IAAI5uB,EAAE+V,GAAGjU,EAAEgc,OAAOhc,EAAEmpB,OAAM,EAAGtQ,EAAExU,SAAStF,EAAEiB,EAAEgc,SAAgBhc,EAAEy4B,YAAY/b,SAAS,CAACotB,MAAM,WAAWC,YAAW,EAAGjS,UAAU,GAAG9a,SAAQ,IAAK,SAASqtB,GAAGlrC,EAAE4F,EAAErF,GAAG,IAAIX,EAAEI,EAAE2/B,YAAYpgC,EAAES,EAAEgrC,SAASplC,EAAErF,EAAEuU,EAAElV,EAAEkV,GAAGvU,EAAEsU,EAAEjV,EAAEiV,GAAGtV,EAAEgB,EAAEsU,EAAEjV,EAAEiV,GAAGtU,EAAEuU,EAAElV,EAAEkV,GAAGvV,EAAE,SAAS4rC,GAAGnrC,EAAE4F,EAAErF,EAAEX,GAAG,IAAIL,EAAES,EAAE6qC,UAAU/rC,EAAEkB,EAAE2/B,YAAYj8B,EAAE1D,EAAE2qC,MAAM9pC,EAAEb,EAAEgrC,SAAS,GAAGplC,EAAE,CAAC,IAAI7G,EAAEa,EAAEgI,MAAMlE,EAAEnD,EAAEuU,EAAEhW,EAAEgW,GAAG/V,EAAEQ,EAAEuI,QAAQjH,MAAM,CAAC,IAAImb,EAAEpc,EAAEkI,OAAOpE,EAAEnD,EAAEsU,EAAE/V,EAAE+V,GAAGmH,EAAEzc,EAAEqI,OAAO/G,GAAGupC,GAAGK,YAAYC,GAAG,IAAIY,IAAG,EAAGvR,GAAGE,cAAcyQ,GAAG,eAAeN,GAAGllC,QAAQomC,GAAG,IAAIC,GAAG,GAAG/rC,OAAOC,eAAe8rC,GAAG,aAAa,CAACxrC,OAAM,IAAKwrC,GAAGrmC,aAAQ,EAAO,IAAIsmC,GAAG,aAAaA,GAAGpR,UAAU,GAAG,IAAIqR,GAAGD,GAAGD,GAAGrmC,QAAQumC,GAAG,IAAIC,GAAG,GAAGlsC,OAAOC,eAAeisC,GAAG,aAAa,CAAC3rC,OAAM,IAAKP,OAAOC,eAAeisC,GAAG,UAAU,CAAChsC,YAAW,EAAGC,IAAI,WAAW,OAAO4rC,GAAGrmC,WAAW,IAAIymC,GAAG,GAAG,SAASC,GAAG5rC,EAAE4F,EAAErF,GAAG,OAAOzB,EAAEoG,QAAQiX,KAAKnc,GAAGwiB,EAAEM,gBAAgB9iB,EAAE4F,EAAE+X,aAAa/X,EAAEa,QAAQ,CAAClG,EAAEsU,EAAEtU,EAAEuU,EAAElP,IAAI4c,EAAEM,gBAAgB9iB,EAAE4F,EAAE+X,aAAa/X,EAAEa,SAASjH,OAAOC,eAAeksC,GAAG,aAAa,CAAC5rC,OAAM,IAAK4rC,GAAGE,mBAAmBD,GAAGD,GAAGG,SAASH,GAAGzmC,aAAQ,EAAO,IAAI6mC,GAAG,CAAC/uB,MAAM,SAAShd,GAAG,IAAI4F,EAAE5F,EAAEgqB,KAAKzpB,EAAEP,EAAEu4B,YAAY34B,EAAEI,EAAEm5B,MAAM55B,EAAES,EAAE0c,YAAY5d,EAAEkB,EAAE84B,WAAWp1B,EAAE9D,EAAEsG,QAAQrF,EAAE6C,EAAEsoC,YAAYjtC,GAAE,EAAG2a,EAAExU,SAAS,CAACwc,KAAK,EAAEE,IAAI,EAAED,MAAM,EAAEE,OAAO,GAAGne,EAAE86B,QAAQ,IAAI,GAAG54B,GAAG/E,EAAE,CAAC,IAAImb,EAAE4vB,GAAGloC,EAAEuoC,YAAY1sC,EAAET,GAAG,GAAGkd,EAAE,CAAC,IAAI7c,EAAE6c,EAAE2F,MAAM3F,EAAE0F,KAAK9b,EAAEgC,MAAMjC,EAAEqW,EAAE6F,OAAO7F,EAAE4F,IAAIhc,EAAEkC,OAAO3I,EAAE,IAAIJ,EAAE2iB,MAAMviB,EAAEJ,EAAE4iB,OAAOxiB,GAAGwG,EAAE,IAAI5G,EAAE6iB,KAAKjc,EAAE5G,EAAE8iB,QAAQlc,GAAG5G,EAAE2iB,MAAMnhB,EAAEmhB,KAAK9b,EAAEgC,MAAM/G,EAAE6gB,KAAK3iB,EAAE6iB,KAAKrhB,EAAEqhB,IAAIhc,EAAEkC,OAAOjH,EAAE+gB,IAAI7iB,EAAE4iB,OAAOphB,EAAEohB,MAAM/b,EAAEgC,OAAO,EAAE/G,EAAE8gB,OAAO5iB,EAAE8iB,QAAQthB,EAAEshB,OAAOjc,EAAEkC,QAAQ,EAAEjH,EAAEghB,QAAQjiB,EAAE4+B,OAAOz/B,GAAGwoB,IAAI,SAASvnB,GAAG,IAAI4F,EAAE5F,EAAE6c,OAAOtc,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEm5B,MAAM55B,EAAEK,EAAEsG,QAAQpH,EAAEc,EAAE4+B,OAAO96B,EAAEkoC,GAAGrsC,EAAE0sC,YAAY1rC,EAAEqF,GAAG,GAAGlC,EAAE,CAAC,IAAI7C,EAAE2hB,EAAEU,WAAWxf,GAAGkC,EAAEiP,EAAEmC,KAAKoO,IAAIpO,KAAKiP,IAAIplB,EAAE8gB,MAAM7iB,EAAE6iB,MAAM/b,EAAEiP,GAAGhU,EAAE6gB,KAAK5iB,EAAE4iB,MAAM9b,EAAEkP,EAAEkC,KAAKoO,IAAIpO,KAAKiP,IAAIplB,EAAEghB,OAAO/iB,EAAE+iB,OAAOjc,EAAEkP,GAAGjU,EAAE+gB,IAAI9iB,EAAE8iB,OAAOrE,SAAS,CAAC0uB,YAAY,KAAKD,YAAY,KAAKxN,OAAO,KAAK3E,SAAQ,EAAGhc,SAAQ,IAAK8tB,GAAGG,SAASC,GAAG,IAAIG,IAAG,EAAGnS,GAAGE,cAAc8R,GAAG,YAAYJ,GAAGzmC,QAAQgnC,GAAG,IAAIC,GAAG,GAAG3sC,OAAOC,eAAe0sC,GAAG,aAAa,CAACpsC,OAAM,IAAKosC,GAAGC,cAAcD,GAAGjnC,aAAQ,EAAO,IAAImnC,GAAG,CAACzqB,IAAI,IAAIF,KAAK,IAAIG,QAAO,IAAKF,OAAM,KAAM2qB,GAAG,CAAC1qB,KAAI,IAAKF,MAAK,IAAKG,OAAO,IAAIF,MAAM,KAAK,SAAS4qB,GAAGvsC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,CAAC,MAAM,OAAO,SAAS,SAASX,EAAE,EAAEA,EAAEW,EAAEsD,OAAOjE,IAAI,CAAC,IAAIL,EAAEgB,EAAEX,GAAGL,KAAKS,IAAIA,EAAET,GAAGqG,EAAErG,IAAI,OAAOS,EAAE,IAAIwsC,GAAG,CAACC,QAAQJ,GAAGK,QAAQJ,GAAGtvB,MAAM,SAAShd,GAAG,IAAI4F,EAAErF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEu4B,YAAYh5B,EAAES,EAAEm5B,MAAMr6B,EAAES,EAAE2G,QAAQ,GAAGpH,EAAE,CAAC,IAAI4E,GAAE,EAAGioC,GAAGE,oBAAoB/sC,EAAE0/B,OAAOj+B,EAAEA,EAAEsc,OAAOG,MAAMD,MAAMnX,EAAE4c,EAAES,SAASvf,GAAGkC,EAAEA,GAAG,CAACiP,EAAE,EAAEC,EAAE,GAAGvV,EAAEi/B,OAAO,CAAC5c,IAAIhc,EAAEkP,EAAElV,EAAEgiB,IAAIF,KAAK9b,EAAEiP,EAAEjV,EAAE8hB,KAAKG,OAAOjc,EAAEkP,EAAElV,EAAEiiB,OAAOF,MAAM/b,EAAEiP,EAAEjV,EAAE+hB,QAAQ4F,IAAI,SAASvnB,GAAG,IAAI4F,EAAE5F,EAAE6c,OAAOtc,EAAEP,EAAE2uB,MAAM/uB,EAAEI,EAAE0c,YAAYnd,EAAES,EAAEm5B,MAAMr6B,EAAES,EAAEi/B,OAAO96B,EAAEnE,EAAE2G,QAAQ,GAAG3F,EAAE,CAAC,IAAIM,GAAE,EAAG6Y,EAAExU,SAAS,GAAGU,GAAG7G,GAAE,EAAG4sC,GAAGE,oBAAoBnoC,EAAEipC,MAAM/sC,EAAEiB,IAAI,GAAGmb,GAAE,EAAG2vB,GAAGE,oBAAoBnoC,EAAEkpC,MAAMhtC,EAAEiB,IAAI,GAAG0rC,GAAGxtC,EAAEstC,IAAIE,GAAGvwB,EAAEswB,IAAI/rC,EAAEqhB,IAAIhc,EAAEkP,EAAEkC,KAAKiP,IAAIjP,KAAKoO,IAAIpJ,EAAE4F,IAAI9iB,EAAE8iB,IAAI/gB,EAAEiU,GAAG/V,EAAE6iB,IAAI9iB,EAAE8iB,KAAKrhB,EAAEshB,SAASjc,EAAEkP,EAAEkC,KAAKoO,IAAIpO,KAAKiP,IAAIjK,EAAE6F,OAAO/iB,EAAE+iB,OAAOhhB,EAAEiU,GAAG/V,EAAE8iB,OAAO/iB,EAAE+iB,SAASthB,EAAEmhB,KAAK9b,EAAEiP,EAAEmC,KAAKiP,IAAIjP,KAAKoO,IAAIpJ,EAAE0F,KAAK5iB,EAAE4iB,KAAK7gB,EAAEgU,GAAG9V,EAAE2iB,KAAK5iB,EAAE4iB,MAAMnhB,EAAEohB,QAAQ/b,EAAEiP,EAAEmC,KAAKoO,IAAIpO,KAAKiP,IAAIjK,EAAE2F,MAAM7iB,EAAE6iB,MAAM9gB,EAAEgU,GAAG9V,EAAE4iB,MAAM7iB,EAAE6iB,UAAUpE,SAAS,CAACovB,MAAM,KAAKC,MAAM,KAAKpO,OAAO,KAAK3E,SAAQ,EAAGhc,SAAQ,IAAKsuB,GAAGC,cAAcI,GAAG,IAAIK,IAAG,EAAG9S,GAAGE,cAAcuS,GAAG,iBAAiBL,GAAGjnC,QAAQ2nC,GAAG,IAAIC,GAAG,GAAGttC,OAAOC,eAAeqtC,GAAG,aAAa,CAAC/sC,OAAM,IAAK+sC,GAAGC,aAAaD,GAAG5nC,aAAQ,EAAO,IAAI8nC,IAAG,EAAGtzB,EAAExU,SAAS,CAAC,kBAAkB,MAAM,CAAC0c,IAAI,EAAEF,KAAK,EAAEG,OAAO,EAAEF,MAAM,IAAI,gBAAgB3hB,MAAM2rC,GAAGG,SAASvuB,UAAU0vB,GAAG,CAACjwB,MAAM2uB,GAAGG,SAAS9uB,MAAMuK,IAAIokB,GAAGG,SAASvkB,IAAIhK,SAASyvB,IAAIF,GAAGC,aAAaE,GAAG,IAAIC,IAAG,EAAGnT,GAAGE,cAAcgT,GAAG,gBAAgBH,GAAG5nC,QAAQgoC,GAAG,IAAIC,GAAG,GAAG3tC,OAAOC,eAAe0tC,GAAG,aAAa,CAACptC,OAAM,IAAKotC,GAAGC,aAAaD,GAAGjoC,aAAQ,EAAO,IAAImoC,GAAG,CAACzlC,OAAM,IAAKE,QAAO,KAAMwlC,GAAG,CAAC1lC,MAAM,IAAIE,OAAO,KAASylC,GAAG,CAACvwB,MAAM,SAAShd,GAAG,OAAOmsC,GAAGC,cAAcpvB,MAAMhd,IAAIunB,IAAI,SAASvnB,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEm5B,MAAMv5B,EAAEI,EAAEgqB,KAAKzqB,EAAES,EAAE2uB,MAAM7vB,EAAEyB,EAAE2F,QAAQ,GAAG3G,EAAE,CAAC,IAAImE,EAAE8e,EAAEW,YAAW,EAAGwoB,GAAGE,oBAAoB/sC,EAAEmnB,IAAIrgB,EAAE5F,EAAE6c,UAAUwwB,GAAGxsC,EAAE2hB,EAAEW,YAAW,EAAGwoB,GAAGE,oBAAoB/sC,EAAEsmB,IAAIxf,EAAE5F,EAAE6c,UAAUywB,GAAG/sC,EAAE2F,QAAQ,CAAC2zB,QAAQ/6B,EAAE+6B,QAAQ8S,OAAM,EAAGjzB,EAAExU,SAAS,GAAGinC,GAAGC,cAAcK,SAASG,OAAM,EAAGlzB,EAAExU,SAAS,GAAGinC,GAAGC,cAAcM,UAAUntC,EAAEqiB,KAAKrhB,EAAE2F,QAAQymC,MAAM/qB,IAAIhiB,EAAEiiB,OAAOne,EAAEoE,OAAOvH,EAAE2F,QAAQ0mC,MAAMhrB,IAAIhiB,EAAEiiB,OAAOhhB,EAAEiH,QAAQvI,EAAEsiB,SAASthB,EAAE2F,QAAQymC,MAAM9qB,OAAOjiB,EAAEgiB,IAAIle,EAAEoE,OAAOvH,EAAE2F,QAAQ0mC,MAAM/qB,OAAOjiB,EAAEgiB,IAAI/gB,EAAEiH,QAAQvI,EAAEmiB,MAAMnhB,EAAE2F,QAAQymC,MAAMjrB,KAAK9hB,EAAE+hB,MAAMje,EAAEkE,MAAMrH,EAAE2F,QAAQ0mC,MAAMlrB,KAAK9hB,EAAE+hB,MAAM9gB,EAAE+G,OAAOrI,EAAEoiB,QAAQphB,EAAE2F,QAAQymC,MAAMhrB,MAAM/hB,EAAE8hB,KAAKhe,EAAEkE,MAAMrH,EAAE2F,QAAQ0mC,MAAMjrB,MAAM/hB,EAAE8hB,KAAK7gB,EAAE+G,OAAOukC,GAAGC,cAAc7kB,IAAIvnB,GAAGO,EAAE2F,QAAQpH,IAAIye,SAAS,CAAC0I,IAAI,KAAKb,IAAI,KAAKyU,SAAQ,EAAGhc,SAAQ,IAAKsvB,GAAGC,aAAaG,GAAG,IAAIC,IAAG,EAAGzT,GAAGE,cAAcsT,GAAG,gBAAgBJ,GAAGjoC,QAAQsoC,GAAG,IAAIC,GAAG,GAAGjuC,OAAOC,eAAeguC,GAAG,aAAa,CAAC1tC,OAAM,IAAKP,OAAOC,eAAeguC,GAAG,UAAU,CAAC/tC,YAAW,EAAGC,IAAI,WAAW,OAAO4rC,GAAGrmC,WAAW,IAAIwoC,GAAG,GAAGluC,OAAOC,eAAeiuC,GAAG,aAAa,CAAC3tC,OAAM,IAAK2tC,GAAGC,KAAKD,GAAGxoC,aAAQ,EAAO,IAAI0oC,GAAG,CAAC5wB,MAAM,SAAShd,GAAG,IAAI4F,EAAErF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAE2d,aAAape,EAAES,EAAEyG,QAAQ3H,EAAEkB,EAAEgqB,KAAKtmB,EAAE1D,EAAEm5B,MAAMt4B,EAAEb,EAAEu4B,YAAYx5B,EAAE2E,EAAEwC,QAAQ8V,EAAEjd,EAAE8uC,iBAAiB,SAAS7tC,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYjW,QAAQ,OAAM,EAAG+b,EAAES,WAAU,EAAGT,EAAEM,iBAAiB9iB,EAAEm5B,MAAMjzB,QAAQmd,OAAO,KAAK,KAAK,CAACzd,OAAM,EAAGkS,EAAE5S,SAASlF,EAAE2d,aAAa/X,EAAE5F,EAAE0c,YAAYC,SAAStd,MAAjL,CAAwLW,GAAG,CAAC6U,EAAE,EAAEC,EAAE,GAAG,GAAG,gBAAgB/V,EAAEy/B,OAAO54B,EAAE,CAACiP,EAAEtU,EAAEsc,OAAOG,MAAMD,KAAKlI,EAAEC,EAAEvU,EAAEsc,OAAOG,MAAMD,KAAKjI,OAAO,CAAC,IAAI3V,GAAE,EAAGqjB,EAAEM,iBAAiB/jB,EAAEy/B,OAAO5+B,EAAEL,EAAE,CAACgB,KAAKqF,GAAE,EAAG4c,EAAES,UAAU9jB,IAAI,CAAC0V,EAAE,EAAEC,EAAE,IAAID,GAAGmH,EAAEnH,EAAEjP,EAAEkP,GAAGkH,EAAElH,EAAE,IAAInP,EAAE5G,EAAE+uC,eAAepqC,EAAEqqC,QAAQjvC,GAAG6G,GAAGA,EAAE9B,OAAO8B,EAAE0I,KAAI,SAAUrO,EAAEO,GAAG,MAAM,CAAC4D,MAAM5D,EAAEytC,cAAchuC,EAAE6U,EAAEhU,EAAE6gB,KAAK5iB,EAAE8I,MAAM5H,EAAE6U,EAAEjP,EAAEiP,EAAEC,EAAEjU,EAAE+gB,IAAI9iB,EAAEgJ,OAAO9H,EAAE8U,EAAElP,EAAEkP,MAAM,EAAC,EAAG4E,EAAExU,SAAS,CAACf,MAAM,EAAE6pC,cAAc,MAAMpoC,KAAK2hB,IAAI,SAASvnB,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAE6c,OAAOjd,EAAEI,EAAEm5B,MAAM55B,EAAEK,EAAEsG,QAAQxC,EAAE9D,EAAEmuC,QAAQltC,GAAE,EAAGiX,EAAE5S,SAASU,EAAE+X,aAAa/X,EAAEa,QAAQb,EAAE+W,SAAStd,MAAMN,GAAE,EAAG2a,EAAExU,SAAS,GAAG3E,GAAGyb,EAAE,GAAGzc,EAAEsuC,mBAAmB9uC,EAAE8V,GAAGhU,EAAEgU,EAAE9V,EAAE+V,GAAGjU,EAAEiU,GAAG,IAAI,IAAI3V,EAAE,EAAEA,EAAEuE,EAAEG,OAAO1E,IAAI,IAAI,IAAIwG,EAAEjC,EAAEvE,GAAGC,EAAEL,EAAE8V,EAAElP,EAAEkP,EAAEjU,EAAE7B,EAAE+V,EAAEnP,EAAEmP,EAAE3K,EAAE,EAAEkH,EAAE9R,EAAEklC,QAAQ5gC,OAAOsG,EAAEkH,EAAElH,IAAI,CAAC,IAAIsU,EAAElf,EAAEklC,QAAQt6B,GAAG2K,OAAE,GAAQA,EAAEhW,EAAEoG,QAAQiX,KAAKsC,GAAGA,EAAErf,EAAEwB,EAAEgF,EAAE0hB,OAAO3hB,EAAEwE,GAAGsU,IAAIzC,EAAE5M,KAAK,CAACyF,GAAG/V,EAAEoG,QAAQkX,OAAOtH,EAAED,GAAGC,EAAED,EAAEzV,GAAGuG,EAAEkP,EAAEC,GAAGhW,EAAEoG,QAAQkX,OAAOtH,EAAEA,GAAGA,EAAEA,EAAElU,GAAG+E,EAAEmP,EAAE40B,MAAM5qC,EAAEoG,QAAQkX,OAAOtH,EAAE40B,OAAO50B,EAAE40B,MAAMnqC,EAAEmqC,MAAMp7B,OAAOmQ,EAAEta,MAAMgG,EAAEq0B,OAAO74B,IAAI,IAAI,IAAIzG,EAAE,CAACwnB,OAAO,KAAKunB,SAAQ,EAAGthB,SAAS,EAAE+c,MAAM,EAAEtsB,MAAM,CAACvI,EAAE,EAAEC,EAAE,IAAInR,EAAE,EAAEA,EAAEqY,EAAEnY,OAAOF,IAAI,CAAC,IAAIkR,EAAEmH,EAAErY,GAAGoR,EAAEF,EAAE60B,MAAMppB,EAAEzL,EAAEA,EAAE9V,EAAE8V,EAAE3Q,EAAE2Q,EAAEC,EAAE/V,EAAE+V,EAAE3R,GAAE,EAAGwgB,EAAEze,SAASob,EAAEpc,GAAGY,EAAE3B,GAAG4R,EAAEA,IAAI,KAAK7V,EAAE+uC,SAAS/uC,EAAEwqC,QAAQ,MAAM5kC,GAAE,GAAI5F,EAAEwnB,UAAU5hB,EAAE5F,EAAE+uC,SAASl5B,IAAI,IAAI5R,EAAE4R,EAAE7V,EAAEytB,SAASztB,EAAEwqC,MAAM30B,IAAI,KAAK7V,EAAEwqC,QAAQ,KAAKvmC,EAAEjE,EAAEytB,UAAUztB,EAAE+uC,SAAS9qC,EAAEjE,EAAEytB,YAAYztB,EAAEwnB,OAAO7R,EAAE3V,EAAEytB,SAASxpB,EAAEjE,EAAEwqC,MAAM30B,EAAE7V,EAAE+uC,QAAQnpC,EAAE5F,EAAEke,MAAMvI,EAAEyL,EAAEphB,EAAEke,MAAMtI,EAAE5Q,GAAG,OAAOhF,EAAE+uC,UAAU1tC,EAAEsU,EAAE3V,EAAEwnB,OAAO7R,EAAEtU,EAAEuU,EAAE5V,EAAEwnB,OAAO5R,GAAGlV,EAAE8gB,QAAQxhB,EAAEA,GAAGqe,SAAS,CAACmsB,MAAM,IAAIjF,QAAQ,KAAKjG,OAAO,KAAKqP,kBAAiB,EAAGxqB,OAAO,KAAKyqB,eAAe,KAAKjU,SAAQ,EAAGhc,SAAQ,IAAK6vB,GAAGC,KAAKC,GAAG,IAAIM,IAAG,EAAGnU,GAAGE,cAAc2T,GAAG,QAAQF,GAAGxoC,QAAQgpC,GAAG,IAAIC,GAAG,GAAG,SAASC,GAAGpuC,EAAE4F,GAAG,OAAO,SAAS5F,GAAG,GAAG0iB,MAAMK,QAAQ/iB,GAAG,OAAOA,EAAvC,CAA0CA,IAAI,SAASA,EAAE4F,GAAG,GAAG,oBAAoB/F,QAAUA,OAAOkc,YAAYvc,OAAOQ,GAA3D,CAAsE,IAAIO,EAAE,GAAGX,GAAE,EAAGL,GAAE,EAAGT,OAAE,EAAO,IAAI,IAAI,IAAI4E,EAAE7C,EAAEb,EAAEH,OAAOkc,cAAcnc,GAAG8D,EAAE7C,EAAEmB,QAAQsL,QAAQ/M,EAAE6O,KAAK1L,EAAE3D,QAAQ6F,GAAGrF,EAAEsD,SAAS+B,GAAGhG,GAAE,IAAK,MAAMI,GAAGT,GAAE,EAAGT,EAAEkB,EAAE,QAAQ,IAAIJ,GAAG,MAAMiB,EAAEm3B,QAAQn3B,EAAEm3B,SAAS,QAAQ,GAAGz4B,EAAE,MAAMT,GAAG,OAAOyB,GAAhT,CAAmTP,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,GAAI5F,EAAJ,CAAa,GAAG,iBAAiBA,EAAE,OAAOquC,GAAGruC,EAAE4F,GAAG,IAAIrF,EAAEf,OAAOkB,UAAUmK,SAAS5L,KAAKe,GAAGgE,MAAM,GAAG,GAAuD,MAApD,WAAWzD,GAAGP,EAAE8M,cAAcvM,EAAEP,EAAE8M,YAAYzN,MAAS,QAAQkB,GAAG,QAAQA,EAASmiB,MAAMM,KAAKhjB,GAAM,cAAcO,GAAG,2CAA2C0Y,KAAK1Y,GAAU8tC,GAAGruC,EAAE4F,QAAnF,GAArN,CAA4S5F,EAAE4F,IAAI,WAAW,MAAM,IAAImF,UAAU,6IAA/B,GAA+K,SAASsjC,GAAGruC,EAAE4F,IAAI,MAAMA,GAAGA,EAAE5F,EAAE6D,UAAU+B,EAAE5F,EAAE6D,QAAQ,IAAI,IAAItD,EAAE,EAAEX,EAAE8iB,MAAM9c,GAAGrF,EAAEqF,EAAErF,IAAIX,EAAEW,GAAGP,EAAEO,GAAG,OAAOX,EAAEJ,OAAOC,eAAe0uC,GAAG,aAAa,CAACpuC,OAAM,IAAKouC,GAAGG,SAASH,GAAGjpC,aAAQ,EAAO,IAAIqpC,GAAG,CAACvxB,MAAM,SAAShd,GAAG,IAAI4F,EAAE5F,EAAEm5B,MAAM54B,EAAEP,EAAE2uB,MAAM/uB,EAAEgG,EAAEM,QAAQ,IAAI3F,EAAE,OAAO,KAAKP,EAAEm5B,MAAM,CAACjzB,QAAQ,CAACu+B,QAAQ,KAAKqJ,eAAe,CAAC,CAACj5B,EAAEtU,EAAEmhB,KAAK,EAAE,EAAE5M,EAAEvU,EAAEqhB,IAAI,EAAE,IAAI4c,OAAO5+B,EAAE4+B,QAAQ,OAAOnb,OAAO,CAACxO,EAAE,EAAEC,EAAE,GAAG40B,MAAM9pC,EAAE8pC,QAAQ9jC,EAAE4oC,aAAa5oC,EAAE4oC,cAAc,CAAC,CAAC,QAAQ,UAAU,CAAC,IAAI,MAAMd,GAAGC,KAAK3wB,MAAMhd,GAAG4F,EAAEmoC,QAAQ/tC,EAAEm5B,MAAM4U,QAAQ/tC,EAAEm5B,MAAMvzB,GAAG2hB,IAAI,SAASvnB,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEm5B,MAAMv5B,EAAEI,EAAE6c,OAAOtd,EAAEgB,EAAE2F,QAAQxC,EAAEnD,EAAEwtC,QAAQltC,EAAE,CAACgU,EAAEjV,EAAEiV,EAAEnR,EAAE,GAAGmR,EAAEC,EAAElV,EAAEkV,EAAEpR,EAAE,GAAGoR,GAAGvU,EAAE2F,SAAQ,EAAGwT,EAAExU,SAAS,GAAG3F,GAAGgB,EAAE2F,QAAQu+B,QAAQ,GAAG,IAAI,IAAI1lC,EAAE,EAAEA,GAAGQ,EAAEklC,SAAS,IAAI5gC,OAAO9E,IAAI,CAAC,IAAIid,GAAGzc,EAAEklC,SAAS,IAAI1lC,GAAGI,OAAE,EAAO,GAAGA,EAAEL,EAAEoG,QAAQiX,KAAKH,GAAGA,EAAEnb,EAAEgU,EAAEhU,EAAEiU,EAAElP,GAAGoW,EAAE,CAAC,IAAI,IAAIrW,EAAE,EAAEA,EAAEpF,EAAEiuC,aAAa3qC,OAAO8B,IAAI,CAAC,IAAIvG,EAAEgvC,GAAG7tC,EAAEiuC,aAAa7oC,GAAG,GAAG/E,EAAExB,EAAE,GAAG+K,EAAE/K,EAAE,GAAG,GAAGwB,KAAKzB,GAAGgL,KAAKhL,EAAE,CAACA,EAAE0V,EAAE1V,EAAEyB,GAAGzB,EAAE2V,EAAE3V,EAAEgL,GAAG,OAAO5J,EAAE2F,QAAQu+B,QAAQr1B,KAAKjQ,IAAI,IAAIkS,EAAEq8B,GAAGC,KAAKpmB,IAAIvnB,GAAG,OAAOO,EAAE2F,QAAQ3G,EAAE8R,GAAGkM,SAAS,CAACmsB,MAAM,IAAIjF,QAAQ,KAAKjG,OAAO,KAAK3E,SAAQ,EAAGhc,SAAQ,IAAKswB,GAAGG,SAASC,GAAG,IAAIE,IAAG,EAAG1U,GAAGE,cAAcsU,GAAG,YAAYJ,GAAGjpC,QAAQupC,GAAG,IAAIC,GAAG,GAAGlvC,OAAOC,eAAeivC,GAAG,aAAa,CAAC3uC,OAAM,IAAK2uC,GAAGC,UAAUD,GAAGxpC,aAAQ,EAAO,IAAI0pC,GAAG,CAAC5xB,MAAM,SAAShd,GAAG,IAAI4F,EAAE5F,EAAE2uB,MAAM,OAAO/oB,GAAG5F,EAAEm5B,MAAMqV,aAAaxuC,EAAEm5B,MAAMqV,cAAc,CAAC,CAAC5oC,EAAE8b,KAAK,OAAO,QAAQ9b,EAAEgc,IAAI,MAAM,WAAWusB,GAAGG,SAAStxB,MAAMhd,IAAI,MAAMunB,IAAI4mB,GAAGG,SAAS/mB,IAAIhK,UAAS,EAAG7D,EAAExU,UAAS,EAAG2yB,GAAG3yB,SAASipC,GAAGG,SAAS/wB,UAAU,CAACknB,QAAQ,KAAKiF,MAAM,KAAKlL,OAAO,CAAC3pB,EAAE,EAAEC,EAAE,MAAM45B,GAAGC,UAAUC,GAAG,IAAIC,IAAG,EAAG9U,GAAGE,cAAc2U,GAAG,aAAaF,GAAGxpC,QAAQ2pC,GAAG,IAAIC,GAAG,GAAGtvC,OAAOC,eAAeqvC,GAAG,aAAa,CAAC/uC,OAAM,IAAKP,OAAOC,eAAeqvC,GAAG,UAAU,CAACpvC,YAAW,EAAGC,IAAI,WAAW,OAAO4rC,GAAGrmC,WAAW,IAAI6pC,GAAG,GAAGvvC,OAAOC,eAAesvC,GAAG,aAAa,CAAChvC,OAAM,IAAKP,OAAOC,eAAesvC,GAAG,UAAU,CAACrvC,YAAW,EAAGC,IAAI,WAAW,OAAO4rC,GAAGrmC,WAAW,IAAI8pC,GAAG,GAAGxvC,OAAOC,eAAeuvC,GAAG,aAAa,CAACjvC,OAAM,IAAKivC,GAAG9pC,aAAQ,EAAO,IAAI+pC,GAAG,CAACxE,YAAYL,GAAGllC,QAAQknC,cAAcD,GAAGjnC,QAAQ4mC,SAASH,GAAGzmC,QAAQ6nC,aAAaD,GAAG5nC,QAAQkoC,aAAaD,GAAGjoC,QAAQypC,UAAUD,GAAGxpC,QAAQyoC,KAAKD,GAAGxoC,QAAQopC,SAASH,GAAGjpC,QAAQgqC,OAAOJ,GAAG5pC,QAAQiqC,MAAMzD,GAAGxmC,QAAQkqC,UAAUL,GAAG7pC,QAAQmqC,WAAW5B,GAAGvoC,SAAS8pC,GAAG9pC,QAAQ+pC,GAAG,IAAIK,GAAG,GAAG9vC,OAAOC,eAAe6vC,GAAG,aAAa,CAACvvC,OAAM,IAAKuvC,GAAGpqC,aAAQ,EAAO,IAAIqqC,GAAG,CAACpgC,GAAG,YAAY8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAE+qB,eAAe,IAAI,IAAIxqB,KAAKP,EAAEgrB,UAAU+O,GAAG70B,SAASlF,EAAEgrB,UAAUgf,GAAG9kC,SAASU,EAAE+yB,UAAUqW,GAAG9pC,QAAQ8pC,GAAG9pC,QAAQ,CAAC,IAAItF,EAAEovC,GAAG9pC,QAAQ3E,GAAGhB,EAAEK,EAAEw6B,UAAUt7B,EAAEc,EAAEg5B,SAASr5B,EAAEq5B,SAAS95B,EAAEkB,EAAEud,SAASuU,UAAUvxB,GAAGhB,KAAK+vC,GAAGpqC,QAAQqqC,GAAG,IAAIC,GAAG,GAAGhwC,OAAOC,eAAe+vC,GAAG,aAAa,CAACzvC,OAAM,IAAKyvC,GAAGtqC,aAAQ,EAAOsqC,GAAGtqC,QAAQ,GAAG,IAAIuqC,GAAG,GAAG,SAASC,GAAG1vC,GAAG,OAAO0vC,GAAG,mBAAmB7vC,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAG,SAAS2vC,GAAG3vC,EAAE4F,GAAG,IAAI,IAAIrF,EAAE,EAAEA,EAAEqF,EAAE/B,OAAOtD,IAAI,CAAC,IAAIX,EAAEgG,EAAErF,GAAGX,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAEsV,cAAa,EAAG,UAAUtV,IAAIA,EAAEuV,UAAS,GAAI3V,OAAOC,eAAeO,EAAEJ,EAAES,IAAIT,IAAI,SAASgwC,GAAG5vC,EAAE4F,GAAG,OAAOgqC,GAAGpwC,OAAO0oB,gBAAgB,SAASloB,EAAE4F,GAAG,OAAO5F,EAAEmoB,UAAUviB,EAAE5F,IAAIA,EAAE4F,GAAG,SAASiqC,GAAG7vC,GAAG,IAAI4F,EAAE,WAAW,GAAG,oBAAoByiB,UAAUA,QAAQC,UAAU,OAAM,EAAG,GAAGD,QAAQC,UAAUC,KAAK,OAAM,EAAG,GAAG,mBAAmBC,MAAM,OAAM,EAAG,IAAI,OAAOC,KAAK/nB,UAAUmK,SAAS5L,KAAKopB,QAAQC,UAAUG,KAAK,IAAG,iBAAiB,EAAG,MAAMzoB,GAAG,OAAM,GAApP,GAA2P,OAAO,WAAW,IAAIO,EAAEX,EAAEkwC,GAAG9vC,GAAG,GAAG4F,EAAE,CAAC,IAAIrG,EAAEuwC,GAAGrxC,MAAMqO,YAAYvM,EAAE8nB,QAAQC,UAAU1oB,EAAE2M,UAAUhN,QAAQgB,EAAEX,EAAE0M,MAAM7N,KAAK8N,WAAW,OAAOwjC,GAAGtxC,KAAK8B,IAAI,SAASwvC,GAAG/vC,EAAE4F,GAAG,OAAOA,GAAG,WAAW8pC,GAAG9pC,IAAI,mBAAmBA,EAAEoqC,GAAGhwC,GAAG4F,EAAE,SAASoqC,GAAGhwC,GAAG,QAAG,IAASA,EAAE,MAAM,IAAI2oB,eAAe,6DAA6D,OAAO3oB,EAAE,SAAS8vC,GAAG9vC,GAAG,OAAO8vC,GAAGtwC,OAAO0oB,eAAe1oB,OAAO6B,eAAe,SAASrB,GAAG,OAAOA,EAAEmoB,WAAW3oB,OAAO6B,eAAerB,KAAKA,GAAGR,OAAOC,eAAegwC,GAAG,aAAa,CAAC1vC,OAAM,IAAK0vC,GAAGxwB,aAAawwB,GAAGvqC,aAAQ,EAAO,IAAI+qC,GAAG,SAASjwC,IAAI,SAASA,EAAE4F,GAAG,GAAG,mBAAmBA,GAAG,OAAOA,EAAE,MAAM,IAAImF,UAAU,sDAAsD/K,EAAEU,UAAUlB,OAAOY,OAAOwF,GAAGA,EAAElF,UAAU,CAACoM,YAAY,CAAC/M,MAAMC,EAAEmV,UAAS,EAAGD,cAAa,KAAMtP,GAAGgqC,GAAG5vC,EAAE4F,GAAhO,CAAoO9G,EAAEkB,GAAG,IAAI4F,EAAErF,EAAEX,EAAEL,EAAEswC,GAAG/wC,GAAG,SAASA,EAAEkB,EAAE4F,EAAErF,EAAEX,EAAE8D,EAAE7C,GAAG,IAAI9B,EAAE,GAAG,SAASiB,EAAE4F,GAAG,KAAK5F,aAAa4F,GAAG,MAAM,IAAImF,UAAU,qCAAvD,CAA6FtM,KAAKK,IAAIC,EAAEQ,EAAEN,KAAKR,KAAKiF,IAAIsF,UAAK,EAAOjK,EAAEilC,mBAAc,EAAOjlC,EAAE4mB,eAAU,EAAO5mB,EAAEgf,iBAAY,EAAOhf,EAAEmxC,YAAO,EAAOnxC,EAAE2lB,WAAM,EAAO3lB,EAAE4lB,WAAM,EAAO5lB,EAAE6lB,aAAQ,EAAO7lB,EAAE8lB,aAAQ,EAAO9lB,EAAE4rB,QAAG,EAAO5rB,EAAEoxC,eAAU,EAAOjsB,EAAE8Z,cAAcgS,GAAGjxC,GAAGwB,GAAGA,IAAIqF,GAAGse,EAAE8Z,cAAcgS,GAAGjxC,GAAG6G,GAAG7G,EAAEkmB,UAAUpkB,EAAE9B,EAAEilC,cAAczjC,EAAExB,EAAEiK,KAAKhJ,EAAEjB,EAAE4mB,UAAUzB,EAAEwB,aAAa9f,GAAG7G,EAAEgf,YAAYmG,EAAEoC,eAAe1gB,GAAG7G,EAAE2nB,OAAO9mB,EAAEb,EAAE4nB,cAAc,KAAK,QAAQ3mB,EAAE,CAAC,IAAIgc,EAAEtY,EAAEk6B,gBAAgBh4B,GAAG7G,EAAE4rB,GAAG5rB,EAAEkmB,UAAUvhB,EAAE8oB,SAASxQ,GAAG+f,SAAS,IAAI58B,EAAEJ,EAAEkmB,UAAUvhB,EAAE0sC,QAAQrxC,EAAEmxC,UAAUxsC,EAAE2sC,SAAS,cAAc3sC,EAAE2sC,QAAQrnC,MAAMtF,EAAE2sC,QAAQ3pB,SAAS3nB,EAAE2nB,QAAQvnB,EAAE,SAAS,cAAca,IAAIjB,EAAE4rB,GAAG/kB,EAAEqf,UAAUvhB,EAAE0sC,SAAS,OAAOrxC,EAAE,OAAO6G,EAAE9G,GAAGyB,EAAE,CAAC,CAACF,IAAI,kBAAkBN,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAE6U,EAAEtU,EAAEP,EAAE8U,EAAE,OAAOrW,KAAKimB,OAAO9e,EAAEnH,KAAKkmB,OAAOpkB,EAAE9B,KAAKmmB,SAAShf,EAAEnH,KAAKomB,SAAStkB,EAAE9B,OAAO,CAAC4B,IAAI,aAAaN,MAAM,SAASC,GAAG,IAAI4F,EAAE5F,EAAE6U,EAAEtU,EAAEP,EAAE8U,EAAE,OAAOrW,KAAKimB,OAAO9e,EAAEnH,KAAKkmB,OAAOpkB,EAAE9B,KAAKmmB,SAAShf,EAAEnH,KAAKomB,SAAStkB,EAAE9B,OAAO,CAAC4B,IAAI,iBAAiBN,MAAM,WAAWtB,KAAKulC,cAAcld,sBAAsB6oB,GAAG/pC,EAAElF,UAAUH,GAAGX,GAAG+vC,GAAG/pC,EAAEhG,GAAGd,EAAx5C,CAA25CioB,EAAEE,WAAWwoB,GAAGxwB,aAAawwB,GAAGvqC,QAAQ+qC,GAAG,IAAIK,GAAG,GAAG9wC,OAAOC,eAAe6wC,GAAG,aAAa,CAACvwC,OAAM,IAAKuwC,GAAGprC,aAAQ,EAAO,IAAIqrC,GAAG,CAACphC,GAAG,sBAAsBme,OAAO,CAAC,UAAU,YAAY,aAAa,WAAWra,QAAQ,SAASjT,GAAGA,EAAEwwC,cAAcD,GAAGvwC,EAAEud,SAASF,QAAQmzB,cAAcD,GAAGhzB,UAAS,EAAG7D,EAAExU,SAASlF,EAAEqd,QAAQsO,eAAe4kB,GAAGrZ,QAAQ5b,UAAU,CAAC,mBAAmB,SAAStb,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY9W,EAAEyqC,QAAQ,KAAKzqC,EAAEwqC,QAAQ,GAAG,8BAA8B,SAASpwC,GAAG,IAAI4F,EAAE5F,EAAEigB,KAAK1f,EAAEP,EAAEy9B,aAAgB73B,GAAGrF,EAAE40B,OAAY50B,EAAE40B,KAAK,CAACwG,SAAS,IAAIuE,QAAQ,QAAO,oBAAoB,SAASlgC,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAYlvB,EAAEs1B,WAAW/0B,EAAEud,gBAAgBvd,EAAEk0B,kBAAkBl0B,EAAEud,eAAe2yB,GAAGzwC,GAAG0wC,GAAG,CAACh0B,YAAYnc,EAAEksB,QAAQ7sB,EAAE4L,MAAMjM,EAAE2vB,YAAYpwB,EAAEkK,KAAK,QAAQpD,KAAK,oBAAoB,SAAS5F,EAAE4F,IAAI,SAAS5F,EAAE4F,GAAG,IAAI,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAYxrB,EAAE1D,EAAEw9B,aAAa38B,EAAEN,EAAEisB,SAAS9oB,GAAGyxB,KAAKp2B,EAAEuhB,EAAEwB,QAAQhjB,GAAGkd,EAAE,CAACU,YAAYnc,EAAEksB,QAAQ7sB,EAAE4L,MAAMjM,EAAE2vB,YAAYpwB,EAAEkK,KAAK,OAAOy7B,QAAQ,GAAGhe,KAAK1nB,EAAE4xC,KAAK,MAAMxxC,EAAE,EAAEA,EAAEJ,EAAE8E,OAAO1E,IAAI,CAAC,IAAIwG,EAAE5G,EAAEI,GAAG6c,EAAE20B,KAAKhrC,EAAEC,EAAE2jB,KAAK,gCAAgCvN,GAAG,GAAIA,EAAEyoB,QAAQ5gC,OAAd,CAA4B,IAAI,IAAIzE,EAAE,IAAIwB,EAAE,EAAEA,EAAEob,EAAEyoB,QAAQ5gC,OAAOjD,IAAI,CAAC,IAAIuJ,EAAE6R,EAAEyoB,QAAQ7jC,GAAGuvC,UAAUjqC,QAAQ0qC,aAAazmC,EAAE/K,IAAIA,EAAE+K,GAAGtJ,EAAE86B,SAASv8B,EAAEyB,EAAEq/B,QAAQz3B,YAAW,WAAYioC,GAAG,CAACh0B,YAAYnc,EAAE2uB,YAAYpwB,EAAE2tB,QAAQ7sB,EAAE4L,MAAMjM,EAAEyJ,KAAK,QAAQpD,KAAKxG,IAAliB,CAAsiBY,EAAE4F,GAAG8qC,GAAG1wC,EAAE4F,IAAI,kBAAkB,SAAS5F,EAAE4F,GAAG6qC,GAAGzwC,GAAG0wC,GAAG1wC,EAAE4F,GAAG,SAAS5F,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAY3uB,EAAEk0B,iBAAiBic,GAAG,CAACh0B,YAAYnc,EAAE2uB,YAAYpwB,EAAE2tB,QAAQ7sB,EAAE4L,MAAMjM,EAAEyJ,KAAK,OAAOpD,GAAzJ,CAA6J5F,EAAE4F,IAAI,sBAAsB,SAAS5F,EAAE4F,GAAG6qC,GAAGzwC,GAAG0wC,GAAG1wC,EAAE4F,KAAKqZ,aAAawwB,GAAGxwB,aAAasK,KAAKmnB,GAAGG,oBAAoBC,GAAGvzB,SAAS,CAACqzB,aAAa,IAAI7d,WAAW,KAAKE,UAAU,KAAK5P,OAAO,CAACxO,EAAE,EAAEC,EAAE,IAAIoiB,MAAM,CAACjX,MAAK,EAAG1B,MAAK,EAAGyB,IAAG,EAAGI,QAAO,EAAG2wB,KAAI,EAAGC,WAAU,EAAG7b,MAAK,IAAK,SAASub,GAAG1wC,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAYxrB,EAAE1D,EAAEgJ,KAAKnI,EAAEb,EAAEykC,QAAQ1lC,OAAE,IAAS8B,EAAEiwC,GAAG9wC,EAAE4F,GAAG/E,EAAEmb,EAAE,IAAIyzB,GAAGxwB,aAAavb,EAAE9D,EAAEL,EAAET,EAAEyB,EAAEqF,EAAEqqB,OAAOrqB,EAAE2jB,KAAK,oBAAoB,CAAC0nB,aAAaj1B,IAAI,IAAI,IAAI7c,EAAE,CAACud,YAAYnc,EAAEksB,QAAQ7sB,EAAE4L,MAAMjM,EAAE2vB,YAAYpwB,EAAE2lC,QAAQ1lC,EAAEiK,KAAKtF,EAAEutC,aAAaj1B,GAAGrW,EAAE,EAAEA,EAAE5G,EAAE8E,OAAO8B,IAAI,CAAC,IAAIvG,EAAEL,EAAE4G,GAAG,IAAI,IAAI/E,KAAKxB,EAAE8xC,OAAO,GAAGl1B,EAAEpb,GAAGxB,EAAE8xC,MAAMtwC,GAAG,IAAIuJ,GAAE,EAAG2N,EAAE5S,SAAS9F,EAAE+wC,UAAU/wC,EAAEuxC,MAAM,GAAG30B,EAAEm1B,gBAAgBhnC,GAAG6R,EAAEm0B,UAAU/wC,EAAE+wC,UAAUn0B,EAAE2K,cAAcvnB,EAAEuxC,KAAKvxC,EAAE+wC,UAAU5mB,KAAKvN,GAAGA,EAAEo1B,WAAWjnC,GAAG6R,EAAEoL,6BAA6BpL,EAAEqL,oBAAoB1hB,EAAE,EAAE5G,EAAE8E,QAAQ9E,EAAE4G,EAAE,GAAGgrC,OAAO30B,EAAE2K,cAAc,MAAM,GAAG/gB,EAAE2jB,KAAK,sBAAsBpqB,GAAG,QAAQuE,EAAE,CAAC,IAAI2N,EAAE2K,EAAEk0B,OAAOQ,GAAG,CAACh0B,YAAYnc,EAAEksB,QAAQ7sB,EAAE4L,MAAMjM,EAAE2vB,YAAYpwB,EAAEkK,KAAK,aAAapD,GAAGoW,EAAEzb,EAAE8vC,QAAQh/B,EAAE9Q,EAAE6vC,QAAQ/+B,EAAE4T,UAAU,OAAOjJ,EAAE,SAAS80B,GAAG9wC,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEysB,QAAQltB,EAAES,EAAEwL,MAAM1M,EAAEkB,EAAEkvB,YAAYxrB,EAAE1D,EAAEgJ,KAAKnI,EAAEN,EAAEq9B,gBAAgBh+B,GAAGb,EAAEwB,EAAEisB,SAAS3rB,GAAG,GAAG,QAAQ6C,IAAInD,EAAEk0B,kBAAkB11B,GAAGA,EAAEs9B,aAAav9B,GAAG,MAAM,GAAG,IAAI,IAAIkd,EAAEsE,EAAEwB,QAAQhjB,GAAGK,EAAE,CAACud,YAAYnc,EAAEksB,QAAQ7sB,EAAE4L,MAAMjM,EAAE2vB,YAAYpwB,EAAEkK,KAAKtF,EAAE+iB,KAAKzK,EAAEyoB,QAAQ,GAAGkM,KAAK,MAAMhrC,EAAE,EAAEA,EAAEqW,EAAEnY,OAAO8B,IAAI,CAAC,IAAIvG,EAAE4c,EAAErW,GAAGxG,EAAEwxC,KAAKvxC,EAAEwG,EAAE2jB,KAAK,gCAAgCpqB,GAAG,MAAM,SAASuE,IAAIvE,EAAEslC,QAAQtlC,EAAEslC,QAAQhqB,QAAO,SAAUza,GAAG,OAAOA,EAAEmwC,UAAUjqC,QAAQ0qC,eAAerwC,EAAEisB,SAAS3rB,GAAGs0B,KAAKwG,aAAax8B,EAAEslC,QAAQ,SAASgM,GAAGzwC,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAYnc,EAAEP,EAAEw9B,aAAa59B,EAAEgG,EAAE4mB,SAASjsB,GAAG40B,KAAKv1B,GAAGA,EAAEsgC,UAAUhQ,aAAatwB,EAAEsgC,SAAStgC,EAAEsgC,QAAQ,MAAM,IAAImR,GAAGd,GAAGD,GAAGprC,QAAQmsC,GAAG,IAAIC,GAAG,GAAG,SAASC,GAAGvxC,GAAG,IAAI4F,EAAE5F,EAAE0c,YAAY9W,EAAE4rC,qBAAqBC,cAAc7rC,EAAE4rC,oBAAoB5rC,EAAE4rC,mBAAmB,MAAMhyC,OAAOC,eAAe6xC,GAAG,aAAa,CAACvxC,OAAM,IAAKuxC,GAAGpsC,aAAQ,EAAO,IAAIwsC,GAAG,CAACviC,GAAG,4BAA4B8D,QAAQ,SAASjT,GAAGA,EAAEgrB,UAAUslB,GAAGprC,SAAS,IAAIU,EAAE5F,EAAEwwC,cAAc5qC,EAAE2X,SAASo0B,mBAAmB,EAAE/rC,EAAEsxB,MAAM0a,WAAW5xC,EAAEqd,QAAQsO,eAAeimB,YAAW,GAAIt2B,UAAU,CAAC,OAAO,KAAK,SAAS,UAAUoI,QAAO,SAAU1jB,EAAE4F,GAAG,OAAO5F,EAAE,iBAAiBwO,OAAO5I,IAAI2rC,GAAGvxC,IAAI,CAAC,oBAAoB,SAASA,GAAG,IAAI4F,EAAE5F,EAAEixC,aAAa,SAASrrC,EAAEoD,OAAOpD,EAAEisC,OAAOjsC,EAAEisC,OAAO,GAAG,IAAI,sBAAsB,SAAS7xC,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY9c,EAAEI,EAAEixC,aAAa1xC,EAAES,EAAEkvB,YAAYpwB,EAAEkB,EAAEykC,QAAQ,GAAG,SAAS7kC,EAAEoJ,MAAMlK,EAAE+E,OAAO,CAAC,IAAIH,EAAE5E,EAAE,GAAGqxC,UAAUjqC,QAAQyrC,mBAAmBjuC,GAAG,IAAInD,EAAEixC,mBAAmB/oC,YAAW,WAAY7C,EAAE4qC,cAAcjnB,KAAK,CAAC7M,YAAYnc,EAAE2uB,YAAY3vB,EAAEyJ,KAAK,OAAOyjB,QAAQ7sB,EAAE4L,MAAM5L,GAAGgG,KAAKlC,SAAS4tC,GAAGpsC,QAAQwsC,GAAG,IAAII,GAAG,GAAG,SAASC,GAAG/xC,GAAG,OAAM,EAAG0Z,EAAExU,SAASzG,KAAK0qB,OAAOjjB,QAAQlG,GAAGvB,KAAKe,OAAOC,eAAeqyC,GAAG,aAAa,CAAC/xC,OAAM,IAAK+xC,GAAG5sC,aAAQ,EAAO,IAAI8sC,GAAG,CAAC7iC,GAAG,qCAAqC8D,QAAQ,SAASjT,GAAG,IAAI4F,EAAE5F,EAAEsd,aAAa1X,EAAElF,UAAU8vC,cAAcuB,GAAG,IAAIxxC,EAAEqF,EAAElF,UAAUsyB,kBAAkBptB,EAAElF,UAAUsyB,kBAAkB,SAAShzB,EAAE4F,GAAG,IAAIhG,EAAEW,EAAEtB,KAAKR,KAAKuB,EAAE4F,GAAG,OAAOhG,IAAInB,OAAOA,KAAK0qB,OAAOjjB,QAAQlG,GAAG4F,GAAGhG,IAAI0b,UAAU,CAAC,gCAAgC,SAAStb,EAAE4F,GAAG,IAAIrF,EAAEP,EAAEykC,QAAQ7kC,EAAEI,EAAE2wC,KAAKpxC,EAAES,EAAEgJ,KAAKlK,EAAEkB,EAAEkvB,YAAYtpB,EAAE8jB,cAAc8J,aAAa5zB,GAAE,SAAUI,GAAG,IAAI4F,EAAE5F,EAAEmpB,OAAOzlB,EAAEkC,EAAEM,QAAQN,EAAEsxB,MAAM33B,IAAIqG,EAAEsxB,MAAM33B,GAAGsE,QAAQ7D,EAAEozB,gBAAgB1vB,EAAE9D,EAAEd,IAAIyB,EAAE6O,KAAK,CAACuhC,KAAK/wC,EAAEuwC,UAAUvqC,EAAEsrC,MAAM,CAACvzB,aAAa3d,SAAS,mBAAmB,SAASA,GAAG,IAAI4F,EAAE5F,EAAE2d,aAAa/X,EAAEujB,OAAOvG,QAAQ,SAAS5iB,GAAG,OAAO4F,EAAEgd,QAAQ5iB,KAAK,mBAAmB,SAASA,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE2d,aAAa/d,EAAEI,EAAEkG,SAAQ,EAAGwT,EAAExU,SAAS3E,EAAE4oB,OAAOjjB,QAAQN,EAAE4qC,cAAcjzB,WAAU,EAAG7D,EAAExU,SAAS3E,EAAE4oB,OAAOjjB,QAAQtG,EAAE4wC,eAAe,OAAOsB,GAAG5sC,QAAQ8sC,GAAG,IAAIC,GAAG,GAAGzyC,OAAOC,eAAewyC,GAAG,aAAa,CAAClyC,OAAM,IAAKkyC,GAAG/sC,aAAQ,EAAO,IAAIgtC,GAAG,CAAC/iC,GAAG,iBAAiB8D,QAAQ,SAASjT,GAAGA,EAAEgrB,UAAUslB,IAAItwC,EAAEgrB,UAAUsmB,GAAGpsC,SAASlF,EAAEgrB,UAAU8mB,GAAG5sC,WAAW+sC,GAAG/sC,QAAQgtC,GAAG,IAAIC,GAAG,GAAG3yC,OAAOC,eAAe0yC,GAAG,aAAa,CAACpyC,OAAM,IAAKoyC,GAAGjtC,aAAQ,EAAOitC,GAAGjtC,QAAQ,GAAG,IAAIktC,GAAG,GAAG,SAASC,GAAGryC,GAAG,IAAI4F,EAAE5F,EAAEsd,aAAatd,EAAEqd,QAAQ8jB,OAAOmR,QAAO,EAAG1sC,EAAElF,UAAU4xC,OAAO,SAAS1sC,GAAG,OAAO,SAAS5F,EAAE4F,EAAErF,GAAG,IAAI,IAAIX,EAAEd,EAAEoG,QAAQwI,OAAO1N,EAAE0mB,QAAQc,EAAExE,KAAKhjB,EAAE8pB,SAASC,iBAAiB/pB,EAAE0mB,SAAS,CAAC1mB,EAAE0mB,QAAQnnB,EAAEgB,EAAEmH,OAAO6qC,QAAQ7uC,EAAEnE,EAAE,GAAG,KAAKsB,EAAE,WAAW,IAAI/B,EAAEc,EAAEb,GAAG8B,EAAEb,EAAE4iB,QAAQ9jB,GAAG,IAAI+B,EAAE,MAAM,QAAQ,IAAImb,EAAEwL,EAAEC,KAAKlnB,EAAEwzB,aAAa/kB,MAAK,SAAUzO,GAAG,OAAOA,EAAEixB,eAAejxB,EAAEod,eAAe3d,GAAGO,EAAEkG,UAAU3H,GAAGyB,EAAEoc,SAAStd,OAAOuG,EAAEvG,QAAQF,OAAE,EAAO,GAAG6c,EAAEA,EAAEuC,OAAO7a,IAAIvE,EAAE6c,EAAEw2B,gBAAgB,IAAIjzC,GAAE,SAAUS,GAAGgc,EAAEy2B,eAAezyC,UAAU,CAAC,IAAI2F,GAAE,EAAG6c,EAAEW,YAAYtiB,GAAGzB,EAAE,CAAC2d,KAAK,CAAClI,EAAElP,EAAEkP,EAAEC,EAAEnP,EAAEmP,GAAGmI,OAAO,CAACpI,EAAElP,EAAEkP,EAAEC,EAAEnP,EAAEmP,GAAGmQ,UAAU1kB,EAAE0vB,OAAOrvB,EAAEsjB,EAAE2C,cAAcznB,GAAGD,EAAE,SAASa,EAAE4F,EAAErF,EAAEX,EAAEL,GAAG,IAAIT,EAAEkB,EAAE+zB,aAAa8Q,IAAI,CAAC9mB,YAAY,WAAWra,EAAE,CAACgZ,YAAY5d,EAAE0M,MAAMjM,EAAEktB,QAAQltB,EAAE2vB,YAAY3uB,EAAEgsB,MAAM,UAAUztB,EAAE6e,aAAa/X,EAAE9G,EAAE2H,QAAQlG,EAAEzB,EAAEsuB,UAAU7tB,EAAET,EAAEy+B,cAAch+B,EAAEA,EAAEgB,GAAE,GAAI2jB,EAAEmB,cAAcvmB,EAAE+d,OAAOO,QAAO,EAAG2U,GAAGG,YAAYpzB,EAAE6d,SAAS/c,GAAGd,EAAE4+B,SAASh6B,GAAG,IAAI7C,EAAEb,EAAE0H,OAAO6qC,QAAQxzC,EAAE8B,EAAE,IAAIA,GAAE,SAAUb,GAAGlB,EAAE2zC,eAAezyC,UAAK,EAA2G,OAApGlB,EAAE0zC,eAAezzC,EAAED,EAAEke,MAAMpd,EAAEgG,EAAErF,GAAGzB,EAAEu1B,cAAcv1B,EAAEyf,KAAK7a,GAAG5E,EAAEg+B,IAAIv9B,KAAKT,EAAEsyB,OAAOtyB,EAAE2zC,kBAAyB3zC,EAAEg/B,cAAcv+B,EAAEA,GAAGR,EAApe,CAAuewB,EAAEP,EAAElB,EAAE8G,EAAEhF,GAAG8C,GAAGA,EAAE0L,KAAKjQ,IAAIJ,EAAE,EAAEA,EAAEa,EAAEiE,OAAO9E,IAAK,GAAG,UAAU8B,IAAI,MAAM,OAAO6C,GAAGnE,EAAE8K,IAAI3G,GAAGgvC,MAAK,WAAY,OAAO1yC,KAAhnC,CAAsnCvB,KAAKmH,EAAE5F,IAAIR,OAAOC,eAAe2yC,GAAG,aAAa,CAACryC,OAAM,IAAKqyC,GAAGn/B,QAAQo/B,GAAGD,GAAGltC,aAAQ,EAAO,IAAIytC,GAAG,CAACxjC,GAAG,SAAS8D,QAAQo/B,GAAG/2B,UAAU,CAAC,oBAAoB,SAAStb,EAAE4F,GAAG,IAAIrF,EAAEP,EAAE0c,YAAY,WAAWnc,EAAEwd,cAAcxd,EAAEkyC,gBAAgBlyC,EAAEkyC,iBAAiBjrB,EAAEzN,OAAOnU,EAAEmuB,aAAa/kB,KAAKzO,OAAO6xC,GAAGltC,QAAQytC,GAAG,IAAIC,GAAG,GAAGpzC,OAAOC,eAAemzC,GAAG,aAAa,CAAC7yC,OAAM,IAAK6yC,GAAG1tC,aAAQ,EAAO0tC,GAAG1tC,QAAQ,GAAG,IAAI2tC,GAAG,GAAGrzC,OAAOC,eAAeozC,GAAG,aAAa,CAAC9yC,OAAM,IAAK8yC,GAAGC,cAAS,EAAOD,GAAGC,SAAS,GAAG,IAAIC,GAAG,GAAGvzC,OAAOC,eAAeszC,GAAG,aAAa,CAAChzC,OAAM,IAAKgzC,GAAG7tC,aAAQ,EAAO6tC,GAAG7tC,QAAQ,GAAG,IAAI8tC,GAAG,CAAC70C,QAAQ,IAAI,SAAS80C,GAAGjzC,GAAG,OAAOizC,GAAG,mBAAmBpzC,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAGR,OAAOC,eAAeuzC,GAAG70C,QAAQ,aAAa,CAAC4B,OAAM,IAAKizC,GAAG70C,QAAQ+G,aAAQ,EAAO8jC,GAAG9jC,QAAQsO,IAAIg8B,GAAGtqC,SAAS8jC,GAAG9jC,QAAQsO,IAAImiB,GAAGzwB,SAAS8jC,GAAG9jC,QAAQsO,IAAI6qB,GAAGn5B,SAAS8jC,GAAG9jC,QAAQsO,IAAIkiB,GAAGxwB,SAAS8jC,GAAG9jC,QAAQsO,IAAIgc,GAAGtqB,SAAS8jC,GAAG9jC,QAAQsO,IAAIy+B,GAAG/sC,SAAS8jC,GAAG9jC,QAAQsO,IAAIyrB,GAAG/5B,SAAS8jC,GAAG9jC,QAAQsO,IAAI87B,GAAGpqC,SAAS8jC,GAAG9jC,QAAQsO,IAAIgiB,GAAGtwB,SAAS8jC,GAAG9jC,QAAQsO,IAAI8b,GAAGpqB,SAAS8jC,GAAG9jC,QAAQsO,IAAI2c,GAAGjrB,SAAS8jC,GAAG9jC,QAAQsO,IAAI4+B,GAAGltC,SAAS8jC,GAAG9jC,QAAQsO,IAAIokB,GAAG1yB,SAAS8jC,GAAG9jC,QAAQsO,IAAIu/B,GAAG7tC,SAAS8jC,GAAG9jC,QAAQsO,IAAI2+B,GAAGjtC,SAAS8jC,GAAG9jC,QAAQguC,QAAQ,CAACJ,SAASD,GAAGC,SAASK,SAASP,GAAGnmB,QAAQvI,GAAG8kB,GAAG9jC,QAAQsO,IAAI8iB,GAAGpxB,SAAS,IAAIkuC,GAAGpK,GAAG9jC,QAAQ,GAAG8tC,GAAG70C,QAAQ+G,QAAQkuC,GAAG,WAAWH,GAAGD,KAAKA,GAAG,IAAIA,GAAG70C,QAAQ6qC,GAAG9jC,QAAQ,MAAMlF,IAAIgpC,GAAG9jC,QAAQA,QAAQ8jC,GAAG9jC,QAAQ8tC,GAAGA,GAAG70C,QAAQ,IAAIk1C,GAAG,CAACl1C,QAAQ,IAAI,SAASm1C,GAAGtzC,GAAG,OAAOszC,GAAG,mBAAmBzzC,QAAQ,iBAAiBA,OAAOkc,SAAS,SAAS/b,GAAG,cAAcA,GAAG,SAASA,GAAG,OAAOA,GAAG,mBAAmBH,QAAQG,EAAE8M,cAAcjN,QAAQG,IAAIH,OAAOa,UAAU,gBAAgBV,IAAIA,GAAGR,OAAOC,eAAe4zC,GAAGl1C,QAAQ,aAAa,CAAC4B,OAAM,IAAKszC,GAAGl1C,QAAQ+G,aAAQ,EAAO,IAAIquC,GAAGP,GAAG9tC,QAAQ,GAAGmuC,GAAGl1C,QAAQ+G,QAAQquC,GAAG,WAAWD,GAAGD,KAAKA,GAAG,IAAIA,GAAGl1C,QAAQ60C,GAAG9tC,QAAQ,MAAMlF,IAAI,OAAOgzC,GAAG9tC,QAAQA,QAAQ8tC,GAAG9tC,QAAWmuC,GAAGl1C,Y,kCCChv+HC,EAAOD,QAAU,SAAS+H,GACtB,IAAIstC,EAAkBttC,EAAQstC,YAC1BntC,EAAkBH,EAAQI,aAAaD,SAQ3C,SAASotC,EAAMhtC,GACX,IAAI0yB,EAAQ9yB,EAASI,GAErB,OAAI0yB,QAAsBp2B,IAAbo2B,EAAMhqB,GACRgqB,EAAMhqB,GAGV,KASX,SAASukC,EAAMjtC,GACX,IAAI0yB,EAAQ9yB,EAASI,GAErB,IAAK0yB,EACD,MAAM,IAAI5yB,MAAM,gEAGpB,IAAI4I,EAAKqkC,EAAY1/B,WAIrB,OAFAqlB,EAAMhqB,GAAKA,EAEJA,EAGX,MAAO,CACHxP,IAAK8zC,EACLlsB,IAAKmsB,K,oCC1Cb,IAAIC,EAAQv1C,EAAOD,QAAU,GAI7B,SAASy1C,EAAU1tC,EAAS7G,EAAMw0C,GAC9B,IAAI9zC,EAAQmG,EAAQ7G,GAEpB,YAAc0D,IAAVhD,GAAiC,OAAVA,QAAoCgD,IAAjB8wC,EAIvC9zC,EAHI8zC,EANfF,EAAMC,UAAYA,G,oCCFlB,IAAIE,EAAc,EAAQ,QAEtBC,EAAatmC,OAAO/M,UAAUwL,KAI9B8nC,EAAgBpwC,OAAOlD,UAAU2H,QAEjC4rC,EAAcF,EAEdG,EAAa,YAEbC,EAA2B,WAC7B,IAAIC,EAAM,IACNC,EAAM,MAGV,OAFAN,EAAW90C,KAAKm1C,EAAK,KACrBL,EAAW90C,KAAKo1C,EAAK,KACM,IAApBD,EAAIF,IAAyC,IAApBG,EAAIH,GALP,GAS3BI,OAAuCvxC,IAAvB,OAAOmJ,KAAK,IAAI,GAEhCqoC,EAAQJ,GAA4BG,EAEpCC,IACFN,EAAc,SAAc9mC,GAC1B,IACI0K,EAAW28B,EAAQC,EAAO31C,EAD1BmN,EAAKxN,KAwBT,OArBI61C,IACFE,EAAS,IAAI/mC,OAAO,IAAMxB,EAAGqC,OAAS,WAAYwlC,EAAY70C,KAAKgN,KAEjEkoC,IAA0Bt8B,EAAY5L,EAAGioC,IAE7CO,EAAQV,EAAW90C,KAAKgN,EAAIkB,GAExBgnC,GAA4BM,IAC9BxoC,EAAGioC,GAAcjoC,EAAGzH,OAASiwC,EAAMtwC,MAAQswC,EAAM,GAAG5wC,OAASgU,GAE3Dy8B,GAAiBG,GAASA,EAAM5wC,OAAS,GAI3CmwC,EAAc/0C,KAAKw1C,EAAM,GAAID,GAAQ,WACnC,IAAK11C,EAAI,EAAGA,EAAIyN,UAAU1I,OAAS,EAAG/E,SACfiE,IAAjBwJ,UAAUzN,KAAkB21C,EAAM31C,QAAKiE,MAK1C0xC,IAIXr2C,EAAOD,QAAU81C,G,qBCzDjB91C,EAAQwH,EAAI,GAAG+uC,sB,qBCAf,IAAIC,EAAO,EAAQ,QACfnwC,EAAS,EAAQ,QACjBowC,EAAS,qBACTnhC,EAAQjP,EAAOowC,KAAYpwC,EAAOowC,GAAU,KAE/Cx2C,EAAOD,QAAU,SAAUkC,EAAKN,GAC/B,OAAO0T,EAAMpT,KAASoT,EAAMpT,QAAiB0C,IAAVhD,EAAsBA,EAAQ,MAChE,WAAY,IAAIqP,KAAK,CACtB1F,QAASirC,EAAKjrC,QACdzJ,KAAM,EAAQ,QAAgB,OAAS,SACvC40C,UAAW,0C,oCCTb,IAAI9zC,EAAU,EAAQ,QAClB+zC,EAAY,EAAQ,QACpBp+B,EAAW,EAAQ,QACnB9K,EAAQ,EAAQ,QAChBmpC,EAAQ,GAAGt+B,KACXwC,EAAO,CAAC,EAAG,EAAG,GAElBlY,EAAQA,EAAQoC,EAAIpC,EAAQqC,GAAKwI,GAAM,WAErCqN,EAAKxC,UAAK1T,QACL6I,GAAM,WAEXqN,EAAKxC,KAAK,WAEL,EAAQ,OAAR,CAA4Bs+B,IAAS,QAAS,CAEnDt+B,KAAM,SAAcu+B,GAClB,YAAqBjyC,IAAdiyC,EACHD,EAAM91C,KAAKyX,EAASjY,OACpBs2C,EAAM91C,KAAKyX,EAASjY,MAAOq2C,EAAUE,Q,qBCpB7C,IAAIL,EAAOv2C,EAAOD,QAAU,CAAEuL,QAAS,UACrB,iBAAPurC,MAAiBA,IAAMN,I,oCCClCv2C,EAAOD,QAAU,SAAS+H,GACtB,IAAIG,EAAWH,EAAQI,aAAaD,SAQpC,SAAS6uC,EAAazuC,GAClB,IAAI0yB,EAAQ9yB,EAASI,GACrB,OAAO0yB,KAAWA,EAAM+b,aAQ5B,SAASC,EAAiB1uC,GACtBJ,EAASI,GAASyuC,cAAe,EASrC,SAASE,EAAO3uC,GACZ,QAASJ,EAASI,GAAS4uC,KAS/B,SAASC,EAAS7uC,EAAS4uC,GACvBhvC,EAASI,GAAS4uC,OAASA,EAG/B,MAAO,CACHH,aAAcA,EACdC,iBAAkBA,EAClBC,OAAQA,EACRE,SAAUA,K,uBCjDlB,IAAI9wC,EAAS,EAAQ,QACjBmwC,EAAO,EAAQ,QACf1zC,EAAO,EAAQ,QACfD,EAAW,EAAQ,QACnBu0C,EAAM,EAAQ,QACdrjC,EAAY,YAEZnR,EAAU,SAAUiI,EAAM3J,EAAMiP,GAClC,IAQIjO,EAAKm1C,EAAKr1B,EAAK2gB,EARf2U,EAAYzsC,EAAOjI,EAAQqC,EAC3BsyC,EAAY1sC,EAAOjI,EAAQimB,EAC3B2uB,EAAY3sC,EAAOjI,EAAQmD,EAC3B0xC,EAAW5sC,EAAOjI,EAAQoC,EAC1B0yC,EAAU7sC,EAAOjI,EAAQ0O,EACzBiX,EAASgvB,EAAYlxC,EAASmxC,EAAYnxC,EAAOnF,KAAUmF,EAAOnF,GAAQ,KAAOmF,EAAOnF,IAAS,IAAI6S,GACrG/T,EAAUu3C,EAAYf,EAAOA,EAAKt1C,KAAUs1C,EAAKt1C,GAAQ,IACzDy2C,EAAW33C,EAAQ+T,KAAe/T,EAAQ+T,GAAa,IAG3D,IAAK7R,KADDq1C,IAAWpnC,EAASjP,GACZiP,EAEVknC,GAAOC,GAAa/uB,QAA0B3jB,IAAhB2jB,EAAOrmB,GAErC8f,GAAOq1B,EAAM9uB,EAASpY,GAAQjO,GAE9BygC,EAAM+U,GAAWL,EAAMD,EAAIp1B,EAAK3b,GAAUoxC,GAA0B,mBAAPz1B,EAAoBo1B,EAAIzjC,SAAS7S,KAAMkhB,GAAOA,EAEvGuG,GAAQ1lB,EAAS0lB,EAAQrmB,EAAK8f,EAAKnX,EAAOjI,EAAQqjB,GAElDjmB,EAAQkC,IAAQ8f,GAAKlf,EAAK9C,EAASkC,EAAKygC,GACxC8U,GAAYE,EAASz1C,IAAQ8f,IAAK21B,EAASz1C,GAAO8f,IAG1D3b,EAAOmwC,KAAOA,EAEd5zC,EAAQqC,EAAI,EACZrC,EAAQimB,EAAI,EACZjmB,EAAQmD,EAAI,EACZnD,EAAQoC,EAAI,EACZpC,EAAQ0O,EAAI,GACZ1O,EAAQmjB,EAAI,GACZnjB,EAAQqjB,EAAI,GACZrjB,EAAQ4iB,EAAI,IACZvlB,EAAOD,QAAU4C,G,uBC1CjB,IAAI2J,EAAW,EAAQ,QACnBwd,EAAiB,EAAQ,QAAgBX,IAC7CnpB,EAAOD,QAAU,SAAUqF,EAAMkjB,EAAQnD,GACvC,IACIpgB,EADAe,EAAIwiB,EAAO5Z,YAIb,OAFE5I,IAAMqf,GAAiB,mBAALrf,IAAoBf,EAAIe,EAAExD,aAAe6iB,EAAE7iB,WAAagK,EAASvH,IAAM+kB,GAC3FA,EAAe1kB,EAAML,GACdK,I,oCCPX,yBAAggB,EAAG,G,uBCCngB,IAAIzC,EAAU,EAAQ,QAClB4zC,EAAO,EAAQ,QACf/oC,EAAQ,EAAQ,QACpBxN,EAAOD,QAAU,SAAUsO,EAAKP,GAC9B,IAAIvB,GAAMgqC,EAAKn1C,QAAU,IAAIiN,IAAQjN,OAAOiN,GACxCq0B,EAAM,GACVA,EAAIr0B,GAAOP,EAAKvB,GAChB5J,EAAQA,EAAQmD,EAAInD,EAAQqC,EAAIwI,GAAM,WAAcjB,EAAG,MAAQ,SAAUm2B,K,oCCN3E,IAAIiV,EAAU,EAAQ,QAClBC,EAAcvoC,OAAO/M,UAAUwL,KAInC9N,EAAOD,QAAU,SAAUwlB,EAAGzf,GAC5B,IAAIgI,EAAOyX,EAAEzX,KACb,GAAoB,oBAATA,EAAqB,CAC9B,IAAI3H,EAAS2H,EAAKjN,KAAK0kB,EAAGzf,GAC1B,GAAsB,kBAAXK,EACT,MAAM,IAAIwG,UAAU,sEAEtB,OAAOxG,EAET,GAAmB,WAAfwxC,EAAQpyB,GACV,MAAM,IAAI5Y,UAAU,+CAEtB,OAAOirC,EAAY/2C,KAAK0kB,EAAGzf,K,uBCnB7B,IAAI+xC,EAAS,EAAQ,OAAR,CAAqB,QAC9BviC,EAAM,EAAQ,QAClBtV,EAAOD,QAAU,SAAUkC,GACzB,OAAO41C,EAAO51C,KAAS41C,EAAO51C,GAAOqT,EAAIrT,M,uBCF3C,IAAIgP,EAAM,EAAQ,QAElBjR,EAAOD,QAAUqB,OAAO,KAAKk1C,qBAAqB,GAAKl1C,OAAS,SAAU6E,GACxE,MAAkB,UAAXgL,EAAIhL,GAAkBA,EAAGmI,MAAM,IAAMhN,OAAO6E,K,uBCJrD,IAAIG,EAAS,EAAQ,QACjBmwC,EAAO,EAAQ,QACfY,EAAM,EAAQ,QACdt0C,EAAO,EAAQ,QACfsE,EAAM,EAAQ,QACd2M,EAAY,YAEZnR,EAAU,SAAUiI,EAAM3J,EAAMiP,GAClC,IASIjO,EAAKm1C,EAAKr1B,EATVs1B,EAAYzsC,EAAOjI,EAAQqC,EAC3BsyC,EAAY1sC,EAAOjI,EAAQimB,EAC3B2uB,EAAY3sC,EAAOjI,EAAQmD,EAC3B0xC,EAAW5sC,EAAOjI,EAAQoC,EAC1B0yC,EAAU7sC,EAAOjI,EAAQ0O,EACzBymC,EAAUltC,EAAOjI,EAAQmjB,EACzB/lB,EAAUu3C,EAAYf,EAAOA,EAAKt1C,KAAUs1C,EAAKt1C,GAAQ,IACzDy2C,EAAW33C,EAAQ+T,GACnBwU,EAASgvB,EAAYlxC,EAASmxC,EAAYnxC,EAAOnF,IAASmF,EAAOnF,IAAS,IAAI6S,GAGlF,IAAK7R,KADDq1C,IAAWpnC,EAASjP,GACZiP,EAEVknC,GAAOC,GAAa/uB,QAA0B3jB,IAAhB2jB,EAAOrmB,GACjCm1C,GAAOjwC,EAAIpH,EAASkC,KAExB8f,EAAMq1B,EAAM9uB,EAAOrmB,GAAOiO,EAAOjO,GAEjClC,EAAQkC,GAAOq1C,GAAmC,mBAAfhvB,EAAOrmB,GAAqBiO,EAAOjO,GAEpEw1C,GAAWL,EAAMD,EAAIp1B,EAAK3b,GAE1B0xC,GAAWxvB,EAAOrmB,IAAQ8f,EAAM,SAAWoD,GAC3C,IAAIngB,EAAI,SAAUM,EAAGC,EAAGxE,GACtB,GAAIV,gBAAgB8kB,EAAG,CACrB,OAAQhX,UAAU1I,QAChB,KAAK,EAAG,OAAO,IAAI0f,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAE7f,GACrB,KAAK,EAAG,OAAO,IAAI6f,EAAE7f,EAAGC,GACxB,OAAO,IAAI4f,EAAE7f,EAAGC,EAAGxE,GACrB,OAAOokB,EAAEjX,MAAM7N,KAAM8N,YAGzB,OADAnJ,EAAE8O,GAAaqR,EAAErR,GACV9O,EAXyB,CAa/B+c,GAAOy1B,GAA0B,mBAAPz1B,EAAoBo1B,EAAIzjC,SAAS7S,KAAMkhB,GAAOA,EAEvEy1B,KACDz3C,EAAQg4C,UAAYh4C,EAAQg4C,QAAU,KAAK91C,GAAO8f,EAE/CnX,EAAOjI,EAAQ4iB,GAAKmyB,IAAaA,EAASz1C,IAAMY,EAAK60C,EAAUz1C,EAAK8f,MAK9Epf,EAAQqC,EAAI,EACZrC,EAAQimB,EAAI,EACZjmB,EAAQmD,EAAI,EACZnD,EAAQoC,EAAI,EACZpC,EAAQ0O,EAAI,GACZ1O,EAAQmjB,EAAI,GACZnjB,EAAQqjB,EAAI,GACZrjB,EAAQ4iB,EAAI,IACZvlB,EAAOD,QAAU4C,G,qBC5DjB,IAAIq1C,EAAU,EAAQ,QAClB9yC,EAAU,EAAQ,QACtBlF,EAAOD,QAAU,SAAUkG,GACzB,OAAO+xC,EAAQ9yC,EAAQe,M,qBCJzB,IAAI1D,EAAiB,GAAGA,eACxBvC,EAAOD,QAAU,SAAUkG,EAAIhE,GAC7B,OAAOM,EAAe1B,KAAKoF,EAAIhE,K,uBCDjC,IAAIqK,EAAW,EAAQ,QAGvBtM,EAAOD,QAAU,SAAUkG,EAAIH,GAC7B,IAAKwG,EAASrG,GAAK,OAAOA,EAC1B,IAAIsG,EAAIC,EACR,GAAI1G,GAAkC,mBAArByG,EAAKtG,EAAGwG,YAA4BH,EAASE,EAAMD,EAAG1L,KAAKoF,IAAM,OAAOuG,EACzF,GAAgC,mBAApBD,EAAKtG,EAAGyG,WAA2BJ,EAASE,EAAMD,EAAG1L,KAAKoF,IAAM,OAAOuG,EACnF,IAAK1G,GAAkC,mBAArByG,EAAKtG,EAAGwG,YAA4BH,EAASE,EAAMD,EAAG1L,KAAKoF,IAAM,OAAOuG,EAC1F,MAAMG,UAAU,6C,uBCPlB,IAAIhG,EAAU,EAAQ,QACA,kBAAZA,IAAsBA,EAAU,CAAC,CAAC3G,EAAOU,EAAIiG,EAAS,MAC7DA,EAAQC,SAAQ5G,EAAOD,QAAU4G,EAAQC,QAE5C,IAAIC,EAAM,EAAQ,QAA+DC,QACpED,EAAI,WAAYF,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCN5E,IAAIsxC,EAAc,EAAQ,QACtBvwC,EAAU,EAAQ,QAClBwwC,EAAO,EAAQ,QACfnxC,EAAM,EAAQ,QACduR,EAAW,EAAQ,QACnB0/B,EAAU,EAAQ,QAClBG,EAAU/2C,OAAOg3C,OAGrBp4C,EAAOD,SAAWo4C,GAAW,EAAQ,OAAR,EAAoB,WAC/C,IAAIz+B,EAAI,GACJrI,EAAI,GAEJvL,EAAIrE,SACJ2nB,EAAI,uBAGR,OAFA1P,EAAE5T,GAAK,EACPsjB,EAAEhb,MAAM,IAAI4G,SAAQ,SAAUoP,GAAK/S,EAAE+S,GAAKA,KACd,GAArB+zB,EAAQ,GAAIz+B,GAAG5T,IAAW1E,OAAOgC,KAAK+0C,EAAQ,GAAI9mC,IAAIhB,KAAK,KAAO+Y,KACtE,SAAgBd,EAAQpY,GAC3B,IAAIkB,EAAIkH,EAASgQ,GACb+vB,EAAOlqC,UAAU1I,OACjBM,EAAQ,EACRuyC,EAAaJ,EAAK3wC,EAClBgxC,EAASxxC,EAAIQ,EACjB,MAAO8wC,EAAOtyC,EAAO,CACnB,IAII9D,EAJA6D,EAAIkyC,EAAQ7pC,UAAUpI,MACtB3C,EAAOk1C,EAAa5wC,EAAQ5B,GAAGsK,OAAOkoC,EAAWxyC,IAAM4B,EAAQ5B,GAC/DL,EAASrC,EAAKqC,OACd6V,EAAI,EAER,MAAO7V,EAAS6V,EACdrZ,EAAMmB,EAAKkY,KACN28B,IAAeM,EAAO13C,KAAKiF,EAAG7D,KAAMmP,EAAEnP,GAAO6D,EAAE7D,IAEtD,OAAOmP,GACP+mC,G,mBCpCJ,IAAI/xC,EAASpG,EAAOD,QAA2B,oBAAVuJ,QAAyBA,OAAOsP,MAAQA,KACzEtP,OAAwB,oBAARlJ,MAAuBA,KAAKwY,MAAQA,KAAOxY,KAE3DsT,SAAS,cAATA,GACc,iBAAP8kC,MAAiBA,IAAMpyC,I,uBCLlC,IAAInB,EAAY,EAAQ,QACpB+hB,EAAMpO,KAAKoO,IACXa,EAAMjP,KAAKiP,IACf7nB,EAAOD,QAAU,SAAUgG,EAAON,GAEhC,OADAM,EAAQd,EAAUc,GACXA,EAAQ,EAAIihB,EAAIjhB,EAAQN,EAAQ,GAAKoiB,EAAI9hB,EAAON,K,uBCLzDzF,EAAOD,SAAW,EAAQ,UAAsB,EAAQ,OAAR,EAAoB,WAClE,OAA4G,GAArGqB,OAAOC,eAAe,EAAQ,OAAR,CAAyB,OAAQ,IAAK,CAAEE,IAAK,WAAc,OAAO,KAAQ+D,M,qBCDzGtF,EAAOD,QAAU,SAAUkG,GACzB,GAAiB,mBAANA,EAAkB,MAAM0G,UAAU1G,EAAK,uBAClD,OAAOA,I,qBCFTjG,EAAOD,QAAU,SAAU+N,GACzB,IACE,QAASA,IACT,MAAOtG,GACP,OAAO,K,uBCJX,IAAIixC,EAAM,EAAQ,QAAgBlxC,EAC9BJ,EAAM,EAAQ,QACd9C,EAAM,EAAQ,OAAR,CAAkB,eAE5BrE,EAAOD,QAAU,SAAUkG,EAAIyyC,EAAKC,GAC9B1yC,IAAOkB,EAAIlB,EAAK0yC,EAAO1yC,EAAKA,EAAG3D,UAAW+B,IAAMo0C,EAAIxyC,EAAI5B,EAAK,CAAEyS,cAAc,EAAMnV,MAAO+2C,M,uBCLhG,IAAIjxC,EAAK,EAAQ,QAAgBF,EAC7BqxC,EAASllC,SAASpR,UAClBu2C,EAAS,wBACTn1C,EAAO,OAGXA,KAAQk1C,GAAU,EAAQ,SAAqBnxC,EAAGmxC,EAAQl1C,EAAM,CAC9DoT,cAAc,EACdvV,IAAK,WACH,IACE,OAAQ,GAAKlB,MAAMg2C,MAAMwC,GAAQ,GACjC,MAAOrxC,GACP,MAAO,Q,mBCZb,IAAI+uC,EAAOv2C,EAAOD,QAAU,CAAEuL,QAAS,UACrB,iBAAPurC,MAAiBA,IAAMN,I,qBCDlCv2C,EAAOD,QAAU,I,uBCAjBC,EAAOD,QAAU,EAAQ,S,uBCAzB,IAAImG,EAAW,EAAQ,QACnBkB,EAAiB,EAAQ,QACzBF,EAAc,EAAQ,QACtBO,EAAKrG,OAAOC,eAEhBtB,EAAQwH,EAAI,EAAQ,QAAoBnG,OAAOC,eAAiB,SAAwBqF,EAAG3B,EAAG+zC,GAI5F,GAHA5yC,EAASQ,GACT3B,EAAImC,EAAYnC,GAAG,GACnBmB,EAAS4yC,GACL1xC,EAAgB,IAClB,OAAOK,EAAGf,EAAG3B,EAAG+zC,GAChB,MAAOtxC,IACT,GAAI,QAASsxC,GAAc,QAASA,EAAY,MAAMnsC,UAAU,4BAEhE,MADI,UAAWmsC,IAAYpyC,EAAE3B,GAAK+zC,EAAWn3C,OACtC+E,I,uBCZT,IAAI4F,EAAW,EAAQ,QACnBpG,EAAW,EAAQ,QACnBgtB,EAAQ,SAAUxsB,EAAGtC,GAEvB,GADA8B,EAASQ,IACJ4F,EAASlI,IAAoB,OAAVA,EAAgB,MAAMuI,UAAUvI,EAAQ,8BAElEpE,EAAOD,QAAU,CACfopB,IAAK/nB,OAAO0oB,iBAAmB,aAAe,GAC5C,SAAUjP,EAAMk+B,EAAO5vB,GACrB,IACEA,EAAM,EAAQ,OAAR,CAAkBzV,SAAS7S,KAAM,EAAQ,QAAkB0G,EAAEnG,OAAOkB,UAAW,aAAa6mB,IAAK,GACvGA,EAAItO,EAAM,IACVk+B,IAAUl+B,aAAgByJ,OAC1B,MAAO9c,GAAKuxC,GAAQ,EACtB,OAAO,SAAwBryC,EAAGtC,GAIhC,OAHA8uB,EAAMxsB,EAAGtC,GACL20C,EAAOryC,EAAEqjB,UAAY3lB,EACpB+kB,EAAIziB,EAAGtC,GACLsC,GAVX,CAYE,IAAI,QAAS/B,GACjBuuB,MAAOA,I,qBCvBTlzB,EAAOD,QAAUO,G,uBCCjBN,EAAOD,SAAW,EAAQ,OAAR,EAAoB,WACpC,OAA+E,GAAxEqB,OAAOC,eAAe,GAAI,IAAK,CAAEE,IAAK,WAAc,OAAO,KAAQ+D,M,uBCD5E,IAAI3C,EAAU,EAAQ,QAClBq2C,EAAU,EAAQ,QAClB/xC,EAAY,EAAQ,QACpBI,EAAO,EAAQ,QACf4xC,EAAiB,EAAQ,QAE7Bt2C,EAAQA,EAAQmD,EAAG,SAAU,CAC3BsmC,0BAA2B,SAAmChqC,GAC5D,IAKIH,EAAKyW,EALLhS,EAAIO,EAAU7E,GACd82C,EAAU7xC,EAAKE,EACfnE,EAAO41C,EAAQtyC,GACfP,EAAS,GACTzF,EAAI,EAER,MAAO0C,EAAKqC,OAAS/E,EACnBgY,EAAOwgC,EAAQxyC,EAAGzE,EAAMmB,EAAK1C,WAChBiE,IAAT+T,GAAoBugC,EAAe9yC,EAAQlE,EAAKyW,GAEtD,OAAOvS,M,qBClBX,IAAIK,EAAQ,EAAQ,QAChB2yC,EAAa,EAAQ,QAAoB/oC,OAAO,SAAU,aAE9DrQ,EAAQwH,EAAInG,OAAOg4C,qBAAuB,SAA6B1yC,GACrE,OAAOF,EAAME,EAAGyyC,K,uBCJlB,IAAIE,EAAO,EAAQ,QACfnB,EAAO,EAAQ,QACfhyC,EAAW,EAAQ,QACnB+jB,EAAU,EAAQ,QAAaA,QACnCjqB,EAAOD,QAAUkqB,GAAWA,EAAQ+uB,SAAW,SAAiB/yC,GAC9D,IAAI7C,EAAOi2C,EAAK9xC,EAAErB,EAASD,IACvBqyC,EAAaJ,EAAK3wC,EACtB,OAAO+wC,EAAal1C,EAAKgN,OAAOkoC,EAAWryC,IAAO7C,I,uBCPpD,IAAIszC,EAAY,EAAQ,QACxB12C,EAAOD,QAAU,SAAUwM,EAAInH,EAAMK,GAEnC,GADAixC,EAAUnqC,QACG5H,IAATS,EAAoB,OAAOmH,EAC/B,OAAQ9G,GACN,KAAK,EAAG,OAAO,SAAUH,GACvB,OAAOiH,EAAG1L,KAAKuE,EAAME,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOgH,EAAG1L,KAAKuE,EAAME,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGxE,GAC7B,OAAOwL,EAAG1L,KAAKuE,EAAME,EAAGC,EAAGxE,IAG/B,OAAO,WACL,OAAOwL,EAAG2B,MAAM9I,EAAM+I,c,uBChB1B,IAAImrC,EAAc,EAAQ,OAAR,CAAkB,eAChCC,EAAaj1B,MAAMhiB,eACQqC,GAA3B40C,EAAWD,IAA2B,EAAQ,OAAR,CAAmBC,EAAYD,EAAa,IACtFt5C,EAAOD,QAAU,SAAUkC,GACzBs3C,EAAWD,GAAar3C,IAAO,I,uBCLjClC,EAAUC,EAAOD,QAAU,EAAQ,OAAR,EAAyD,GAKpFA,EAAQiR,KAAK,CAAChR,EAAOU,EAAI,usEAA0sE,M,uBCJnuE,IAAIuE,EAAY,EAAQ,QACpB4iB,EAAMjP,KAAKiP,IACf7nB,EAAOD,QAAU,SAAUkG,GACzB,OAAOA,EAAK,EAAI4hB,EAAI5iB,EAAUgB,GAAK,kBAAoB,I,uBCHzDjG,EAAOD,SAAW,EAAQ,OAAR,EAAoB,WACpC,OAA+E,GAAxEqB,OAAOC,eAAe,GAAI,IAAK,CAAEE,IAAK,WAAc,OAAO,KAAQ+D,M,4eCyBrE,SAASme,EAAOzL,GAErB,IADA,IAAawhC,EAATxyB,EAAM,EACDtmB,EAAI,EAAG2W,EAAMW,EAAOvS,OAAQ/E,EAAI2W,EAAK3W,IAC5C84C,EAAUxhC,EAAOtX,GAAIgW,EAAIsB,EAAOtX,GAAGuS,EAC/BumC,EAAUxyB,IAAKA,EAAMwyB,GAE3B,OAAOxyB,EAGF,SAASjP,EAAYC,GAE1B,IADA,IAAMyhC,EAAYn1B,MAAMtM,EAAOvS,QACtB/E,EAAI,EAAG2W,EAAMW,EAAOvS,OAAQ/E,EAAI2W,EAAK3W,IAC5C+4C,EAAU/4C,GAAKg5C,EAAgB1hC,EAAOtX,IAExC,OAAO+4C,EAIF,SAASC,EAAgBC,GAQ5B,OAAOjpC,KAAKkpC,MAAMlpC,KAAKC,UAAUgpC,IAQ9B,SAASE,EAASC,EAAgBC,GACvC,OAAID,IAAOC,MACPD,EAAGrjC,EAAIqjC,EAAGnjC,GAAKojC,EAAGtjC,OAClBqjC,EAAGrjC,GAAKsjC,EAAGtjC,EAAIsjC,EAAGpjC,OAClBmjC,EAAGpjC,EAAIojC,EAAG7mC,GAAK8mC,EAAGrjC,MAClBojC,EAAGpjC,GAAKqjC,EAAGrjC,EAAIqjC,EAAG9mC,MAajB,SAASkF,EAAQH,EAAgBF,GAQtC,IANA,IAAMkiC,EAAcC,EAAWjiC,GAEzBd,EAASgjC,EAAwBliC,GAEjC+J,EAAMuC,MAAMtM,EAAOvS,QAEhB/E,EAAI,EAAG2W,EAAMH,EAAOzR,OAAQ/E,EAAI2W,EAAK3W,IAAK,CACjD,IAAIC,EAAIuW,EAAOxW,GAGVC,EAAEw5C,SACLx5C,EAAIy5C,EAAYJ,EAAar5C,EAAGmX,GAIhCkiC,EAAYhpC,KAAKrQ,IAInBohB,EAAI/J,EAAOpM,QAAQjL,IAAMA,EAGzBA,EAAE05C,OAAQ,EAGZ,OAAOt4B,EAMF,SAASq4B,EAAYJ,EAAqBr5C,EAAemX,GAC9D,GAAIA,EAEF,MAAOnX,EAAE+V,EAAI,IAAM4jC,EAAkBN,EAAar5C,GAChDA,EAAE+V,IAKN,IAAImjC,EACJ,MAAOA,EAAWS,EAAkBN,EAAar5C,GAC/CA,EAAE+V,EAAImjC,EAASnjC,EAAImjC,EAAS5mC,EAE9B,OAAOtS,EASF,SAASyX,EAAcJ,EAAgBuiC,GAE5C,IADA,IAAMC,EAAeP,EAAWjiC,GACvBtX,EAAI,EAAG2W,EAAMW,EAAOvS,OAAQ/E,EAAI2W,EAAK3W,IAAK,CACjD,IAAMC,EAAIqX,EAAOtX,GAQjB,GANIC,EAAE8V,EAAI9V,EAAEgW,EAAI4jC,EAAO9iC,OAAM9W,EAAE8V,EAAI8jC,EAAO9iC,KAAO9W,EAAEgW,GAE/ChW,EAAE8V,EAAI,IACR9V,EAAE8V,EAAI,EACN9V,EAAEgW,EAAI4jC,EAAO9iC,MAEV9W,EAAEw5C,OAIL,MAAMG,EAAkBE,EAAc75C,GACpCA,EAAE+V,SALS8jC,EAAaxpC,KAAKrQ,GASnC,OAAOqX,EAUF,SAASyiC,EAAcziC,EAAgBjH,GAC5C,IAAK,IAAIrQ,EAAI,EAAG2W,EAAMW,EAAOvS,OAAQ/E,EAAI2W,EAAK3W,IAC5C,GAAIsX,EAAOtX,GAAGA,IAAMqQ,EAAI,OAAOiH,EAAOtX,GAYnC,SAAS45C,EAAkBtiC,EAAgB2hC,GAChD,IAAK,IAAIj5C,EAAI,EAAG2W,EAAMW,EAAOvS,OAAQ/E,EAAI2W,EAAK3W,IAC5C,GAAIm5C,EAAS7hC,EAAOtX,GAAIi5C,GAAa,OAAO3hC,EAAOtX,GAIhD,SAASg6C,EAAiB1iC,EAAgB2hC,GAC/C,OAAO3hC,EAAOqE,QAAO,SAAC1b,GAAD,OAAOk5C,EAASl5C,EAAGg5C,MAQnC,SAASM,EAAWjiC,GAEvB,OAAOA,EAAOqE,QAAO,SAAC1b,GAAD,OAAOA,EAAEw5C,UAa3B,SAASQ,EAAY3iC,EAAgBrX,EAAe8V,EAAWC,EAAWkkC,EAAuBC,GACtG,GAAIl6C,EAAEw5C,OAAQ,OAAOniC,EAKrB,IAAM8iC,EAAOn6C,EAAE8V,EACTskC,EAAOp6C,EAAE+V,EAETskC,EAAWtkC,GAAK/V,EAAE+V,EAAIA,EAEX,kBAAND,IAAgB9V,EAAE8V,EAAIA,GAChB,kBAANC,IAAgB/V,EAAE+V,EAAIA,GACjC/V,EAAE05C,OAAQ,EAMV,IAAInjC,EAASgjC,EAAwBliC,GACjCgjC,IAAU9jC,EAASA,EAAO+jC,WAC9B,IAAMC,EAAaR,EAAiBxjC,EAAQvW,GAE5C,GAAIk6C,GAAoBK,EAAWz1C,OAIjC,OAHA9E,EAAE8V,EAAIqkC,EACNn6C,EAAE+V,EAAIqkC,EACNp6C,EAAE05C,OAAQ,EACHriC,EAIT,IAAK,IAAItX,EAAI,EAAG2W,EAAM6jC,EAAWz1C,OAAQ/E,EAAI2W,EAAK3W,IAAK,CACrD,IAAMy6C,EAAYD,EAAWx6C,GAIzBy6C,EAAUd,QAGV15C,EAAE+V,EAAIykC,EAAUzkC,GAAK/V,EAAE+V,EAAIykC,EAAUzkC,EAAIykC,EAAUloC,EAAI,IAIzD+E,EADEmjC,EAAUhB,OACHiB,EAA6BpjC,EAAQmjC,EAAWx6C,EAAGi6C,GAEnDQ,EAA6BpjC,EAAQrX,EAAGw6C,EAAWP,KAIhE,OAAO5iC,EAaF,SAASojC,EAA6BpjC,EAAgBwiC,EAChBa,EAAwBT,GAEnE,IAAMC,GAAmB,EAIzB,GAAID,EAAc,CAEhB,IAAMU,EAAuB,CAC3B7kC,EAAG4kC,EAAW5kC,EACdC,EAAG2kC,EAAW3kC,EACdC,EAAG0kC,EAAW1kC,EACd1D,EAAGooC,EAAWpoC,EACdvS,EAAG,MAGL,GADA46C,EAAS5kC,EAAIkC,KAAKoO,IAAIwzB,EAAa9jC,EAAI2kC,EAAWpoC,EAAG,IAChDqnC,EAAkBtiC,EAAQsjC,GAC7B,OAAOX,EAAY3iC,EAAQqjC,OAAY12C,EAAW22C,EAAS5kC,EAAGmkC,GAMlE,OAAOF,EAAY3iC,EAAQqjC,OAAY12C,EAAW02C,EAAW3kC,EAAI,EAAGmkC,GAa/D,SAASU,EAAa/3B,EAAKF,EAAM9Z,EAAOE,GAE7C,IAAM8xC,EAAY,eAAiBl4B,EAAO,MAAQE,EAAM,SACxD,MAAO,CACLwtB,UAAWwK,EACXC,gBAAiBD,EACjBE,aAAcF,EACdG,YAAaH,EACbI,WAAYJ,EACZhyC,MAAOA,EAAQ,KACfE,OAAQA,EAAS,KACjBI,SAAU,YAYP,SAAS+xC,EAAgBr4B,EAAKD,EAAO/Z,EAAOE,GAE/C,IAAM8xC,EAAY,gBAA0B,EAATj4B,EAAa,MAAQC,EAAM,SAC9D,MAAO,CACHwtB,UAAWwK,EACXC,gBAAiBD,EACjBE,aAAcF,EACdG,YAAaH,EACbI,WAAYJ,EACZhyC,MAAOA,EAAQ,KACfE,OAAQA,EAAS,KACjBI,SAAU,YAIX,SAASgyC,EAAWt4B,EAAKF,EAAM9Z,EAAOE,GACzC,MAAO,CACH8Z,IAAKA,EAAM,KACXF,KAAMA,EAAO,KACb9Z,MAAOA,EAAQ,KACfE,OAAQA,EAAS,KACjBI,SAAU,YAYX,SAASiyC,EAAYv4B,EAAKD,EAAO/Z,EAAOE,GAC3C,MAAO,CACH8Z,IAAKA,EAAM,KACXD,MAAOA,EAAO,KACd/Z,MAAOA,EAAQ,KACfE,OAAQA,EAAS,KACjBI,SAAU,YAWX,SAASowC,EAAwBliC,GACtC,MAAO,GAAG5H,OAAO4H,GAAQK,MAAK,SAAS/S,EAAGC,GACxC,OAAID,EAAEoR,IAAMnR,EAAEmR,GAAKpR,EAAEmR,IAAMlR,EAAEkR,EACpB,EAGLnR,EAAEoR,EAAInR,EAAEmR,GAAMpR,EAAEoR,IAAMnR,EAAEmR,GAAKpR,EAAEmR,EAAIlR,EAAEkR,EAChC,GAGD,KAuEL,SAASulC,EAAehkC,EAAgBikC,GAC7CA,EAAcA,GAAe,SAC7B,IAAMC,EAAW,CAAC,IAAK,IAAK,IAAK,KACjC,IAAK53B,MAAMK,QAAQ3M,GAAS,MAAM,IAAI7P,MAAM8zC,EAAc,sBAC1D,IAAK,IAAIv7C,EAAI,EAAG2W,EAAMW,EAAOvS,OAAQ/E,EAAI2W,EAAK3W,IAAK,CAEjD,IADA,IAAM+O,EAAOuI,EAAOtX,GACX4a,EAAI,EAAGA,EAAI4gC,EAASz2C,OAAQ6V,IACnC,GAAiC,kBAAtB7L,EAAKysC,EAAS5gC,IACvB,MAAM,IAAInT,MAAM,kBAAoB8zC,EAAc,IAAMv7C,EAAI,KAAOw7C,EAAS5gC,GAAK,sBAQrF,GALI7L,EAAK/O,GAAY+O,EAAK/O,OAKNiE,IAAhB8K,EAAK0qC,QAA+C,mBAAhB1qC,EAAK0qC,OAC3C,MAAM,IAAIhyC,MAAM,kBAAoB8zC,EAAc,IAAMv7C,EAAI,kC,kCC5dlE,IAAIwF,EAAW,EAAQ,QACnBoS,EAAW,EAAQ,QACnBU,EAAW,EAAQ,QACnB/T,EAAY,EAAQ,QACpBgU,EAAqB,EAAQ,QAC7BC,EAAa,EAAQ,QACrB8N,EAAMpO,KAAKoO,IACXa,EAAMjP,KAAKiP,IACXhP,EAAQD,KAAKC,MACbsjC,EAAuB,4BACvBC,EAAgC,oBAEhCC,EAAgB,SAAUp2C,GAC5B,YAActB,IAAPsB,EAAmBA,EAAKT,OAAOS,IAIxC,EAAQ,OAAR,CAAyB,UAAW,GAAG,SAAUf,EAASo3C,EAASC,EAAUljC,GAC3E,MAAO,CAGL,SAAiBmjC,EAAaC,GAC5B,IAAI/1C,EAAIxB,EAAQ7E,MACZkM,OAAoB5H,GAAf63C,OAA2B73C,EAAY63C,EAAYF,GAC5D,YAAc33C,IAAP4H,EACHA,EAAG1L,KAAK27C,EAAa91C,EAAG+1C,GACxBF,EAAS17C,KAAK2E,OAAOkB,GAAI81C,EAAaC,IAI5C,SAAU3tC,EAAQ2tC,GAChB,IAAInjC,EAAMD,EAAgBkjC,EAAUztC,EAAQzO,KAAMo8C,GAClD,GAAInjC,EAAIpK,KAAM,OAAOoK,EAAI3X,MAEzB,IAAI4X,EAAKrT,EAAS4I,GACdhJ,EAAIN,OAAOnF,MACXq8C,EAA4C,oBAAjBD,EAC1BC,IAAmBD,EAAej3C,OAAOi3C,IAC9C,IAAIr2C,EAASmT,EAAGnT,OAChB,GAAIA,EAAQ,CACV,IAAIoT,EAAcD,EAAGvT,QACrBuT,EAAGE,UAAY,EAEjB,IAAIkjC,EAAU,GACd,MAAO,EAAM,CACX,IAAIx2C,EAAS+S,EAAWK,EAAIzT,GAC5B,GAAe,OAAXK,EAAiB,MAErB,GADAw2C,EAAQ3rC,KAAK7K,IACRC,EAAQ,MACb,IAAIuT,EAAWnU,OAAOW,EAAO,IACZ,KAAbwT,IAAiBJ,EAAGE,UAAYR,EAAmBnT,EAAGkT,EAASO,EAAGE,WAAYD,IAIpF,IAFA,IAAIojC,EAAoB,GACpBC,EAAqB,EAChBn8C,EAAI,EAAGA,EAAIi8C,EAAQl3C,OAAQ/E,IAAK,CACvCyF,EAASw2C,EAAQj8C,GASjB,IARA,IAAIo8C,EAAUt3C,OAAOW,EAAO,IACxB2D,EAAWkd,EAAIa,EAAI5iB,EAAUkB,EAAOJ,OAAQD,EAAEL,QAAS,GACvDs3C,EAAW,GAMNzhC,EAAI,EAAGA,EAAInV,EAAOV,OAAQ6V,IAAKyhC,EAAS/rC,KAAKqrC,EAAcl2C,EAAOmV,KAC3E,IAAI0hC,EAAgB72C,EAAO4H,OAC3B,GAAI2uC,EAAmB,CACrB,IAAIO,EAAe,CAACH,GAAS1sC,OAAO2sC,EAAUjzC,EAAUhE,QAClCnB,IAAlBq4C,GAA6BC,EAAajsC,KAAKgsC,GACnD,IAAI5gC,EAAc5W,OAAOi3C,EAAavuC,WAAMvJ,EAAWs4C,SAEvD7gC,EAAc8gC,EAAgBJ,EAASh3C,EAAGgE,EAAUizC,EAAUC,EAAeP,GAE3E3yC,GAAY+yC,IACdD,GAAqB92C,EAAEF,MAAMi3C,EAAoB/yC,GAAYsS,EAC7DygC,EAAqB/yC,EAAWgzC,EAAQr3C,QAG5C,OAAOm3C,EAAoB92C,EAAEF,MAAMi3C,KAKvC,SAASK,EAAgBJ,EAAS/tC,EAAKjF,EAAUizC,EAAUC,EAAe5gC,GACxE,IAAI+gC,EAAUrzC,EAAWgzC,EAAQr3C,OAC7B3E,EAAIi8C,EAASt3C,OACb23C,EAAUhB,EAKd,YAJsBz3C,IAAlBq4C,IACFA,EAAgB1kC,EAAS0kC,GACzBI,EAAUjB,GAELI,EAAS17C,KAAKub,EAAaghC,GAAS,SAAU/G,EAAOgH,GAC1D,IAAItX,EACJ,OAAQsX,EAAG13C,OAAO,IAChB,IAAK,IAAK,MAAO,IACjB,IAAK,IAAK,OAAOm3C,EACjB,IAAK,IAAK,OAAO/tC,EAAInJ,MAAM,EAAGkE,GAC9B,IAAK,IAAK,OAAOiF,EAAInJ,MAAMu3C,GAC3B,IAAK,IACHpX,EAAUiX,EAAcK,EAAGz3C,MAAM,GAAI,IACrC,MACF,QACE,IAAIzD,GAAKk7C,EACT,GAAU,IAANl7C,EAAS,OAAOk0C,EACpB,GAAIl0C,EAAIrB,EAAG,CACT,IAAIyG,EAAIsR,EAAM1W,EAAI,IAClB,OAAU,IAANoF,EAAgB8uC,EAChB9uC,GAAKzG,OAA8B6D,IAApBo4C,EAASx1C,EAAI,GAAmB81C,EAAG13C,OAAO,GAAKo3C,EAASx1C,EAAI,GAAK81C,EAAG13C,OAAO,GACvF0wC,EAETtQ,EAAUgX,EAAS56C,EAAI,GAE3B,YAAmBwC,IAAZohC,EAAwB,GAAKA,U,qBClH1C,IAAIpjC,EAAU,EAAQ,QAClBuC,EAAU,EAAQ,QAClBsI,EAAQ,EAAQ,QAChB8vC,EAAS,EAAQ,QACjBC,EAAQ,IAAMD,EAAS,IACvBE,EAAM,KACNC,EAAQpuC,OAAO,IAAMkuC,EAAQA,EAAQ,KACrCG,EAAQruC,OAAOkuC,EAAQA,EAAQ,MAE/BI,EAAW,SAAUtvC,EAAKP,EAAM8vC,GAClC,IAAIlb,EAAM,GACNmb,EAAQrwC,GAAM,WAChB,QAAS8vC,EAAOjvC,MAAUmvC,EAAInvC,MAAUmvC,KAEtCjxC,EAAKm2B,EAAIr0B,GAAOwvC,EAAQ/vC,EAAKsX,GAAQk4B,EAAOjvC,GAC5CuvC,IAAOlb,EAAIkb,GAASrxC,GACxB5J,EAAQA,EAAQoC,EAAIpC,EAAQqC,EAAI64C,EAAO,SAAUnb,IAM/Ctd,EAAOu4B,EAASv4B,KAAO,SAAU9V,EAAQwuC,GAI3C,OAHAxuC,EAAS9J,OAAON,EAAQoK,IACb,EAAPwuC,IAAUxuC,EAASA,EAAOrF,QAAQwzC,EAAO,KAClC,EAAPK,IAAUxuC,EAASA,EAAOrF,QAAQyzC,EAAO,KACtCpuC,GAGTtP,EAAOD,QAAU49C,G,kCCpBjB39C,EAAOD,QAAU,SAASg+C,GACtB,SAASrjC,KAIT,IAAI3S,EAAW,CACXu6B,IAAK5nB,EACLxQ,KAAMwQ,EACNsjC,MAAOtjC,GAGX,IAAIqjC,GAASz0C,OAAOuqB,QAAS,CACzB,IAAIoqB,EAAiB,SAASl2C,EAAU9G,GAGpC8G,EAAS9G,GAAQ,WACb,IAAIsG,EAAIssB,QAAQ5yB,GAChB,GAAIsG,EAAE2G,MACF3G,EAAE2G,MAAM2lB,QAAS1lB,gBAEjB,IAAK,IAAIzN,EAAI,EAAGA,EAAIyN,UAAU1I,OAAQ/E,IAClC6G,EAAE4G,UAAUzN,MAM5Bu9C,EAAel2C,EAAU,OACzBk2C,EAAel2C,EAAU,QACzBk2C,EAAel2C,EAAU,SAG7B,OAAOA,I,qBCIX,IA7CA,IAAIm2C,EAAa,EAAQ,QACrBx2C,EAAU,EAAQ,QAClB9E,EAAW,EAAQ,QACnBwD,EAAS,EAAQ,QACjBvD,EAAO,EAAQ,QACfC,EAAY,EAAQ,QACpB2K,EAAM,EAAQ,QACdvK,EAAWuK,EAAI,YACf0wC,EAAgB1wC,EAAI,eACpB2wC,EAAct7C,EAAUwhB,MAExB+5B,EAAe,CACjBC,aAAa,EACbC,qBAAqB,EACrBC,cAAc,EACdC,gBAAgB,EAChBC,aAAa,EACbC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,EACVC,mBAAmB,EACnBC,gBAAgB,EAChBC,iBAAiB,EACjBC,mBAAmB,EACnBC,WAAW,EACXC,eAAe,EACfC,cAAc,EACdC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,aAAa,EACbC,eAAe,EACfC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,eAAe,EACfC,kBAAkB,EAClBC,kBAAkB,EAClBC,gBAAgB,EAChBC,kBAAkB,EAClBC,eAAe,EACfC,WAAW,GAGJC,EAAc34C,EAAQ22C,GAAe39C,EAAI,EAAGA,EAAI2/C,EAAY56C,OAAQ/E,IAAK,CAChF,IAIIuB,EAJAyB,EAAO28C,EAAY3/C,GACnB4/C,EAAWjC,EAAa36C,GACxB68C,EAAan6C,EAAO1C,GACpBU,EAAQm8C,GAAcA,EAAWj+C,UAErC,GAAI8B,IACGA,EAAMlB,IAAWL,EAAKuB,EAAOlB,EAAUk7C,GACvCh6C,EAAM+5C,IAAgBt7C,EAAKuB,EAAO+5C,EAAez6C,GACtDZ,EAAUY,GAAQ06C,EACdkC,GAAU,IAAKr+C,KAAOi8C,EAAiB95C,EAAMnC,IAAMW,EAASwB,EAAOnC,EAAKi8C,EAAWj8C,IAAM,K,qBCvDjGlC,EAAUC,EAAOD,QAAU,EAAQ,OAAR,EAAyD,GAKpFA,EAAQiR,KAAK,CAAChR,EAAOU,EAAI,oGAAqG,M,mBCL9HV,EAAOD,QAAU,SAAUgZ,EAAQpX,GACjC,MAAO,CACLL,aAAuB,EAATyX,GACdjC,eAAyB,EAATiC,GAChBhC,WAAqB,EAATgC,GACZpX,MAAOA,K,kCCJX,IAAI+L,EAAa,EAAQ,QACzB,EAAQ,OAAR,CAAqB,CACnB4a,OAAQ,SACRlkB,OAAO,EACPo8C,OAAQ9yC,IAAe,IAAII,MAC1B,CACDA,KAAMJ,K,kCCLR,IAAI6nC,EAAQv1C,EAAOD,QAAU,GAS7Bw1C,EAAMvgC,QAAU,SAASyrC,EAAYz3C,GACjC,IAAI,IAAItI,EAAI,EAAGA,EAAI+/C,EAAWh7C,OAAQ/E,IAAK,CACvC,IAAIyF,EAAS6C,EAASy3C,EAAW//C,IACjC,GAAGyF,EACC,OAAOA,K,kCCfnB,IAAIuL,EAAS,WAAa,IAAIkE,EAAIvV,KAASwV,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,IAAI,OAAOC,YAAY,gBAAgBwqC,MAAM9qC,EAAI+qC,SAASt3C,MAAOuM,EAAS,OAAG,CAACA,EAAIO,GAAG,WAAYP,EAAyB,sBAAEG,EAAG,OAAO,CAACE,IAAI,SAASyqC,MAAM9qC,EAAIgrC,uBAAuBhrC,EAAI6jB,MAAM,IACrS9nB,EAAkB,G,kCCAf,SAASkvC,EAAmBr5C,GAC/B,OAAOs5C,EAAqBt5C,GAKzB,SAASs5C,EAAqBC,GACjC,IAAMC,EAAeD,EAAIz4B,OAAO04B,cAAgBx2C,SAAS6nB,KACnD4uB,EAAmBF,EAAIC,eAAiBx2C,SAAS6nB,KAAO,CAAC/O,KAAM,EAAGE,IAAK,GAAKw9B,EAAa98B,wBAEzFzN,EAAIsqC,EAAIv6B,QAAUw6B,EAAaj9B,WAAak9B,EAAiB39B,KAC7D5M,EAAIqqC,EAAIt6B,QAAUu6B,EAAa/8B,UAAYg9B,EAAiBz9B,IAMlE,MAAO,CAAC/M,IAAGC,KAKR,SAASwqC,EAAeC,EAAOC,EAAO3qC,EAAGC,GAE5C,IAAM2qC,GAAWC,EAAMH,GAEvB,OAAIE,EAEO,CACHE,OAAQ,EAAGC,OAAQ,EACnBL,MAAO1qC,EAAG2qC,MAAO1qC,EACjBD,EAAGA,EAAGC,EAAGA,GAIN,CACH6qC,OAAQ9qC,EAAI0qC,EAAOK,OAAQ9qC,EAAI0qC,EAC/BD,MAAOA,EAAOC,MAAOA,EACrB3qC,EAAGA,EAAGC,EAAGA,GAMrB,SAAS4qC,EAAMG,GACX,MAAsB,kBAARA,IAAqB3oC,MAAM2oC,G,gBC+C7C,YAEA,GACE,KAAF,WACE,MAAF,CAsBI,YAAJ,CACM,KAAN,QACM,UAAN,EACM,QAAN,MAEI,YAAJ,CACM,KAAN,QACM,UAAN,EACM,QAAN,MAOI,OAAJ,CACM,KAAN,QACM,UAAN,EACM,SAAN,GAEI,KAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,GAEI,KAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,GAEI,KAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,KAEI,KAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,KAEI,EAAJ,CACM,KAAN,OACM,UAAN,GAEI,EAAJ,CACM,KAAN,OACM,UAAN,GAEI,EAAJ,CACM,KAAN,OACM,UAAN,GAEI,EAAJ,CACM,KAAN,OACM,UAAN,GAEI,EAAJ,CACM,UAAN,GAEI,eAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,aAEI,cAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,MAEI,iBAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,cAGE,OAAF,aACE,KAAF,WACI,MAAJ,CACM,KAAN,EACM,eAAN,IACM,UAAN,GACM,OAAN,QACM,QAAN,IACM,UAAN,KACM,UAAN,KACM,kBAAN,EAEM,YAAN,EACM,SAAN,KACM,YAAN,EACM,SAAN,KACM,MAAN,IACM,MAAN,IACM,MAAN,IACM,MAAN,IACM,MAAN,GACM,KAAN,EAEM,cAAN,EACM,gBAAN,EAEM,UAAN,KACM,UAAN,KACM,UAAN,KACM,UAAN,KACM,OAAN,OACM,OAAN,OACM,OAAN,OACM,OAAN,SAGE,QAvIF,WAuII,IAAJ,OACA,OAGI,EAAJ,+BACM,EAAN,gBAGI,EAAJ,2BACM,EAAN,YAGI,EAAJ,gCACA,uBACQ,EAAR,cAII,EAAJ,gCACA,uBACQ,EAAR,cAII,EAAJ,gCACM,EAAN,aAGI,EAAJ,8BACM,EAAN,WAGI,EAAJ,kCACM,EAAN,6BACM,EAAN,WAGI,EAAJ,sBACM,EAAN,kBAGI,KAAJ,iDACI,KAAJ,yCACI,KAAJ,mDACI,KAAJ,mDACI,KAAJ,mDACI,KAAJ,+CACI,KAAJ,yDACI,KAAJ,sCAEI,KAAJ,8BAEE,cAAF,WACI,IAAJ,OAEI,KAAJ,kDACI,KAAJ,0CACI,KAAJ,oDACI,KAAJ,oDACI,KAAJ,oDACI,KAAJ,gDACI,KAAJ,0DACI,KAAJ,uCACA,kBACM,KAAN,qBAGE,QAAF,WACI,KAAJ,yBACI,KAAJ,iCACI,KAAJ,gEACI,KAAJ,gEACI,KAAJ,6BACA,wBACM,KAAN,mCAEM,KAAN,2BAEA,wBACM,KAAN,mCAEM,KAAN,2BAEI,KAAJ,+CACI,KAAJ,eAEE,MAAF,CACI,YAAJ,WACM,KAAN,4BAEI,OAAJ,WACM,KAAN,mBACM,KAAN,oBAEI,UAAJ,WACM,KAAN,oBAEI,YAAJ,WACM,KAAN,4BAEI,UAAJ,WACM,KAAN,oBAEI,UAAJ,WACM,KAAN,cACM,KAAN,wBAEI,KAAJ,WACM,KAAN,mBACM,KAAN,cACM,KAAN,wBAEI,eAAJ,WACM,KAAN,mBACM,KAAN,cACM,KAAN,wBAEI,EAAJ,YACM,KAAN,SACM,KAAN,eAEI,EAAJ,YACM,KAAN,SACM,KAAN,eAEI,EAAJ,YACM,KAAN,SACM,KAAN,eAGI,EAAJ,YACM,KAAN,SACM,KAAN,eAGI,UAAJ,WAEM,KAAN,mBACM,KAAN,eAEI,KAAJ,WACM,KAAN,oBAEI,KAAJ,WACM,KAAN,oBAEI,KAAJ,WACM,KAAN,oBAEI,KAAJ,WACM,KAAN,oBAEI,iBAAJ,aACA,gDAGM,KAAN,0BAAQ,OAAR,aACM,KAAN,cACM,KAAN,0BAGE,SAAF,CACI,SADJ,WAEM,MAAN,CACQ,gBAAR,2BACQ,OAAR,YACQ,SAAR,gBACQ,yBAAR,gBACQ,cAAR,sBACQ,aAAR,eACQ,qBAAR,gBACQ,WAAR,wDAGI,sBAbJ,WAcM,OAAN,8BAEI,iCAhBJ,WAiBM,OAAN,+CAEI,UAnBJ,WAoBM,OAAN,0DAEI,UAtBJ,WAuBM,OAAN,4CAEI,qBAzBJ,WA0BM,OAAN,eACA,gDAEA,yBAIE,QAAF,CACI,YAAJ,WACA,yBACQ,KAAR,SACQ,KAAR,2CAEQ,KAAR,cACQ,KAAR,eAEM,IAiBN,EAjBA,qEAGA,kBACQ,EAAR,sBAEA,eACU,EAAV,yBAEU,EAAV,yBAGA,kBACQ,EAAR,0BACQ,EAAR,6BAQU,EAHV,sBAEA,eACA,+CAEA,8CAKA,eACA,+CAEA,8CAGM,KAAN,SAEI,qBA9CJ,WAkDM,IADA,IAAN,KACA,yCAAQ,IAAR,OACA,gBACA,uBACQ,IAAR,EACA,OACQ,EAAR,QAEM,KAAN,kEAEI,aAAJ,YACM,IAAN,YAAM,CACA,IAAN,OAEM,GAAN,QAAM,CAJA,IAQN,EAHA,YAEA,GAAQ,MAAR,EAAQ,OAAR,GAEM,OAAN,QACQ,IAAR,cACY,KAAZ,sBACY,KAAZ,sBACY,EAAZ,mEACY,EAAZ,cACY,EAAZ,gBACY,KAAZ,WACY,KAAZ,cACY,MAEJ,IAAR,aAEY,IAAZ,+BACA,eACc,EAAd,mCAEc,EAAd,mCAEY,EAAZ,qCAGY,KAAZ,WACY,MAEJ,IAAR,YAEY,EAAZ,mEACY,EAAZ,cACY,EAAZ,gBAEY,KAAZ,cACY,KAAZ,cACY,MAKN,EAAN,8BACA,gBACQ,EAAR,aAEA,gBACQ,EAAR,aAEA,gBACQ,EAAR,aAEA,gBACQ,EAAR,aAGA,QACQ,EAAR,KAEA,QACQ,EAAR,KAGM,KAAN,QACM,KAAN,QAEA,sCACQ,KAAR,gDAEA,kFACQ,KAAR,iDAEM,KAAN,+EAEI,WA1IJ,SA0IA,GACM,IAAN,cACA,gBAAM,CAEA,IAAN,OAGM,GAAN,SAAM,CAPA,IAiEN,EAzDA,YAGA,GAAQ,IAAR,EAAQ,KAAR,GACM,OAAN,QACQ,IAAR,YACY,KAAZ,sBACY,KAAZ,sBAEY,IAAZ,gDACA,mCACA,eACc,EAAd,0BAEc,EAAd,mBAEY,EAAZ,gBACY,KAAZ,WACY,KAAZ,cACY,MAEJ,IAAR,UACY,IAAZ,uBACY,IAAZ,gDACA,mCAEA,eACc,EAAd,0BAEc,EAAd,mBAEY,EAAZ,gBAGY,KAAZ,cACY,KAAZ,cAEY,MAEJ,IAAR,WACY,IAAZ,+BAEA,eACc,EAAd,iCAEc,EAAd,iCAEY,EAAZ,+BAIY,KAAZ,WACY,MAOJ,GADR,eACA,2BAKM,KAAN,QACM,KAAN,QAEA,sCACQ,KAAR,6BAEA,gFACQ,KAAR,8BAEM,KAAN,6EAEI,aAAJ,kBACM,IAEN,EAFA,sBA0BM,OAtBE,EADR,eACA,CACU,MAAV,qCACU,IAAV,kDAIU,MAAV,yDACU,OAAV,uEAGA,CACU,KAAV,qCACU,IAAV,kDAIU,MAAV,yDACU,OAAV,uEAKA,GASI,OAjQJ,SAiQA,KACM,IAAN,sBASA,oDACA,iEAMM,OAHA,EAAN,8CACM,EAAN,iDAEA,CAAQ,EAAR,EAAQ,EAAR,IAGI,aArRJ,WAsRM,IAAN,+DAEM,OAAN,GASI,OAjSJ,SAiSA,KACM,IAAN,sBAKA,oDACA,iEAKM,OAFA,EAAN,8CACM,EAAN,iDACA,CAAQ,EAAR,EAAQ,EAAR,IAEI,YAAJ,cACM,KAAN,sBACA,kBACQ,KAAR,SAGI,QAAJ,WACM,KAAN,eAEI,iBAAJ,WACM,IAAN,OAIM,GAHN,qDACQ,KAAR,gCAEA,8BACQ,IAAR,GACU,WAAV,oBACU,UAAV,oBAEQ,KAAR,yBAEA,oBACU,KAAV,gBACU,KAAV,yDACY,EAAZ,uBAIQ,KAAR,uBACU,SAAV,KAII,iBAAJ,WACM,IAAN,OAIM,GAHN,qDACQ,KAAR,gCAEA,8BACQ,IAAR,6CACA,6CAKA,GACU,qBAAV,EAEU,MAAV,CACY,MAAZ,EACY,MAAZ,8BACY,OAAZ,8BACY,KAAZ,GAEU,WAAV,sBACU,aAAV,CACY,IAAZ,CACc,OAAd,SACc,MAAd,SAEY,IAAZ,CACc,OAAd,SACc,MAAd,WAKQ,KAAR,yBACA,sBACU,KAAV,kBACU,KAAV,YACA,mDACY,EAAZ,yBAIQ,KAAR,uBACU,SAAV,KAII,SAAJ,WAEM,KAAN,sBACM,KAAN,sBAEM,IAAN,qDACA,gCACA,gBACQ,EAAR,aAEA,gBACQ,EAAR,aAEA,gBACQ,EAAR,aAEA,gBACQ,EAAR,aAGA,QACQ,EAAR,KAEA,QACQ,EAAR,KAMA,sCACQ,KAAR,gDAEA,6CACQ,KAAR,iDACQ,KAAR,qFC30BkV,I,wBCQ9UxsC,EAAY,eACd,EACAvD,EACAC,GACA,EACA,KACA,KACA,MAIa,OAAAsD,E,4BClBfjV,EAAOD,QAAU,SAAUkG,GACzB,QAAUtB,GAANsB,EAAiB,MAAM0G,UAAU,yBAA2B1G,GAChE,OAAOA,I,kCCDT,IAAIsvC,EAAQ,EAAQ,QAyFpB,SAASmM,IACL,IAAIC,EAAc,GACdC,EAAc,EACdC,EAAc,EACdC,EAAc,EAElB,SAASj7C,EAAIk7C,EAAOx1C,GACZA,IACAA,EAAKw1C,EACLA,EAAQ,GAGTA,EAAQF,EACPA,EAAWE,EACLA,EAAQD,IACdA,EAAcC,GAGdJ,EAAMI,KACNJ,EAAMI,GAAS,IAGnBJ,EAAMI,GAAO/wC,KAAKzE,GAClBq1C,IAGJ,SAASI,IACL,IAAI,IAAID,EAAQD,EAAaC,GAASF,EAAUE,IAG5C,IAFA,IAAInzC,EAAM+yC,EAAMI,GAERrhD,EAAI,EAAGA,EAAIkO,EAAInJ,OAAQ/E,IAAK,CAChC,IAAI6L,EAAKqC,EAAIlO,GACb6L,KAKZ,SAAS01C,IACL,OAAOL,EAGX,MAAO,CACH/6C,IAAKA,EACLm7C,QAASA,EACTJ,KAAMK,GAnIdjiD,EAAOD,QAAU,SAA6B+H,GAC1CA,EAAsBA,GAAW,GACjC,IAAIC,EAAkBD,EAAQC,SAC1Bm6C,EAAkB3M,EAAMC,UAAU1tC,EAAS,SAAS,GACpDq6C,EAAkB5M,EAAMC,UAAU1tC,EAAS,QAAQ,GAEpDq6C,IAAgBD,IACfn6C,GAAYA,EAASmC,KAAK,0FAC1Bg4C,GAAe,GAGnB,IACIE,EADAT,EAAQD,IAERW,GAAe,EAEnB,SAASC,EAAYP,EAAOx1C,IACpB81C,GAAgBF,GAAeD,GAAiC,IAAjBP,EAAMC,QAGrDW,IAGJZ,EAAM96C,IAAIk7C,EAAOx1C,GAGrB,SAASi2C,IAGLH,GAAe,EACf,MAAOV,EAAMC,OAAQ,CACjB,IAAIa,EAAkBd,EACtBA,EAAQD,IACRe,EAAgBT,UAEpBK,GAAe,EAGnB,SAASK,EAAkBC,GACnBN,SAIqB19C,IAAtBg+C,IACCA,EAAoBT,GAGrBE,IACCQ,EAAYR,GACZA,EAAoB,MAGrBO,EACCJ,IAEAC,KAIR,SAASD,IACLH,EAAoBS,EAAaL,GAUrC,SAASI,EAAYt6C,GAEjB,IAAI0Z,EAAS8P,aACb,OAAO9P,EAAO1Z,GAGlB,SAASu6C,EAAa75C,GAElB,IAAI85C,EAAM,SAASv2C,GAAM,OAAOlC,WAAWkC,EAAI,IAC/C,OAAOu2C,EAAI95C,GAGf,MAAO,CACHnC,IAAKy7C,EACLS,MAAOL,K,qBCrFf,IAAIz7C,EAAY,EAAQ,QACpB+R,EAAW,EAAQ,QACnBgqC,EAAkB,EAAQ,QAC9BhjD,EAAOD,QAAU,SAAUkjD,GACzB,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAGIzhD,EAHA+E,EAAIO,EAAUi8C,GACdz9C,EAASuT,EAAStS,EAAEjB,QACpBM,EAAQi9C,EAAgBI,EAAW39C,GAIvC,GAAIw9C,GAAeE,GAAMA,GAAI,MAAO19C,EAASM,EAG3C,GAFApE,EAAQ+E,EAAEX,KAENpE,GAASA,EAAO,OAAO,OAEtB,KAAM8D,EAASM,EAAOA,IAAS,IAAIk9C,GAAel9C,KAASW,IAC5DA,EAAEX,KAAWo9C,EAAI,OAAOF,GAAel9C,GAAS,EACpD,OAAQk9C,IAAgB,K,kCCnB9B,IAAI78C,EAAS,EAAQ,QACjBe,EAAM,EAAQ,QACd8J,EAAM,EAAQ,QACdoyC,EAAoB,EAAQ,QAC5Bn8C,EAAc,EAAQ,QACtBsG,EAAQ,EAAQ,QAChB6rC,EAAO,EAAQ,QAAkB9xC,EACjCF,EAAO,EAAQ,QAAkBE,EACjCE,EAAK,EAAQ,QAAgBF,EAC7B+7C,EAAQ,EAAQ,QAAkBl+B,KAClCm+B,EAAS,SACTC,EAAUp9C,EAAOm9C,GACjB9/C,EAAO+/C,EACPp/C,EAAQo/C,EAAQlhD,UAEhBmhD,EAAaxyC,EAAI,EAAQ,OAAR,CAA4B7M,KAAWm/C,EACxDG,EAAO,SAAUl+C,OAAOlD,UAGxBqhD,EAAW,SAAUC,GACvB,IAAI39C,EAAKiB,EAAY08C,GAAU,GAC/B,GAAiB,iBAAN39C,GAAkBA,EAAGR,OAAS,EAAG,CAC1CQ,EAAKy9C,EAAOz9C,EAAGmf,OAASk+B,EAAMr9C,EAAI,GAClC,IACI49C,EAAOC,EAAOC,EADdC,EAAQ/9C,EAAGP,WAAW,GAE1B,GAAc,KAAVs+C,GAA0B,KAAVA,GAElB,GADAH,EAAQ59C,EAAGP,WAAW,GACR,KAAVm+C,GAA0B,MAAVA,EAAe,OAAO7yB,SACrC,GAAc,KAAVgzB,EAAc,CACvB,OAAQ/9C,EAAGP,WAAW,IACpB,KAAK,GAAI,KAAK,GAAIo+C,EAAQ,EAAGC,EAAU,GAAI,MAC3C,KAAK,GAAI,KAAK,IAAKD,EAAQ,EAAGC,EAAU,GAAI,MAC5C,QAAS,OAAQ99C,EAEnB,IAAK,IAAoDg+C,EAAhDC,EAASj+C,EAAGL,MAAM,GAAIlF,EAAI,EAAGC,EAAIujD,EAAOz+C,OAAc/E,EAAIC,EAAGD,IAIpE,GAHAujD,EAAOC,EAAOx+C,WAAWhF,GAGrBujD,EAAO,IAAMA,EAAOF,EAAS,OAAO/yB,IACxC,OAAOnO,SAASqhC,EAAQJ,IAE5B,OAAQ79C,GAGZ,IAAKu9C,EAAQ,UAAYA,EAAQ,QAAUA,EAAQ,QAAS,CAC1DA,EAAU,SAAgB7hD,GACxB,IAAIsE,EAAKkI,UAAU1I,OAAS,EAAI,EAAI9D,EAChCyD,EAAO/E,KACX,OAAO+E,aAAgBo+C,IAEjBC,EAAaj2C,GAAM,WAAcpJ,EAAMsI,QAAQ7L,KAAKuE,MAAY6L,EAAI7L,IAASm+C,GAC7EF,EAAkB,IAAI5/C,EAAKkgD,EAAS19C,IAAMb,EAAMo+C,GAAWG,EAAS19C,IAE5E,IAAK,IAMgBhE,EANZmB,EAAO,EAAQ,QAAoBi2C,EAAK51C,GAAQ,6KAMvD2K,MAAM,KAAMkN,EAAI,EAAQlY,EAAKqC,OAAS6V,EAAGA,IACrCnU,EAAI1D,EAAMxB,EAAMmB,EAAKkY,MAAQnU,EAAIq8C,EAASvhD,IAC5CwF,EAAG+7C,EAASvhD,EAAKoF,EAAK5D,EAAMxB,IAGhCuhD,EAAQlhD,UAAY8B,EACpBA,EAAMsK,YAAc80C,EACpB,EAAQ,OAAR,CAAuBp9C,EAAQm9C,EAAQC,K,qBCnEzCxjD,EAAOD,SAAW,EAAQ,UAAsB,EAAQ,OAAR,EAAoB,WAClE,OAA4G,GAArGqB,OAAOC,eAAe,EAAQ,OAAR,CAAyB,OAAQ,IAAK,CAAEE,IAAK,WAAc,OAAO,KAAQ+D,M,mBCDzG,IAAI+a,EAGJA,EAAI,WACH,OAAOhgB,KADJ,GAIJ,IAECggB,EAAIA,GAAK,IAAI3M,SAAS,cAAb,GACR,MAAOlM,GAEc,kBAAX8B,SAAqB+W,EAAI/W,QAOrCtJ,EAAOD,QAAUsgB,G,kCCZjB,IAAIrL,EAAU,EAAQ,QAAuBA,QAE7ChV,EAAOD,QAAU,SAAS+H,GACtBA,EAAsBA,GAAW,GACjC,IAAIC,EAAkBD,EAAQC,SAC1BC,EAAkBF,EAAQE,eAC1BC,EAAkBH,EAAQI,aAAaD,SAEvC6U,GADkBhV,EAAQI,aAAai8C,SACrBr8C,EAAQgV,WAE9B,IAAK9U,EACD,MAAM,IAAIG,MAAM,+CAGpB,IAAKJ,EACD,MAAM,IAAII,MAAM,0CAIpB,IAAIi8C,EAAiBC,IAIjBC,EAAU,uCACVC,EAA0B,iCAG9B,SAASF,IACL,IAAI76C,EAAQ,IACRE,EAAS,IAET86C,EAAQh6C,SAASC,cAAc,OACnC+5C,EAAMn7C,MAAMqB,QAAU,8BAAsC,EAANlB,EAAU,eAAwB,EAAPE,EAAW,iDAE5F,IAAIgpB,EAAYloB,SAASC,cAAc,OACvCioB,EAAUrpB,MAAMqB,QAAU,8BAAgClB,EAAQ,eAAiBE,EAAS,gDAAyD,GAANF,EAAU,aAAuB,GAAPE,EAAW,iDAEpLgpB,EAAU1nB,YAAYw5C,GAEtBh6C,SAAS6nB,KAAK1V,aAAa+V,EAAWloB,SAAS6nB,KAAKxV,YAEpD,IAAI4nC,EAAYj7C,EAAQkpB,EAAUgyB,YAC9BC,EAAaj7C,EAASgpB,EAAUkyB,aAIpC,OAFAp6C,SAAS6nB,KAAKjnB,YAAYsnB,GAEnB,CACHlpB,MAAOi7C,EACP/6C,OAAQi7C,GAIhB,SAASE,EAAkBP,EAASQ,GAChC,SAASC,EAAY17C,EAAOsM,GACxBA,EAASA,GAAU,SAAUtN,GACzBmC,SAAS8P,KAAKtP,YAAY3C,IAG9B,IAAIoT,EAAejR,SAASC,cAAc,SAI1C,OAHAgR,EAAatP,UAAY9C,EACzBoS,EAAa1K,GAAKuzC,EAClB3uC,EAAO8F,GACAA,EAGX,IAAKjR,SAASw6C,eAAeV,GAAU,CACnC,IAAIW,EAA0BH,EAAiB,aAC3CI,EAAgCJ,EAAiB,oBACjDz7C,EAAQ,0DACZA,GAAS,IAAMy7C,EAAiB,mDAChCz7C,GAAS,IAAM67C,EAAgC,0FAA4FD,EAA0B,qBAAuBA,EAA0B,QACtN57C,GAAS,sBAAwB47C,EAA2B,qEAC5D57C,GAAS,cAAgB47C,EAAmC,mEAC5DF,EAAY17C,IAIpB,SAAS87C,EAAkB98C,GACvBA,EAAQ+8C,WAAa,IAAMb,EAA0B,oBAGzD,SAASc,EAASlC,EAAIliD,EAAMqkD,GACxB,GAAInC,EAAGr6C,iBACHq6C,EAAGr6C,iBAAiB7H,EAAMqkD,OACvB,KAAGnC,EAAGx6C,YAGT,OAAOZ,EAASi2C,MAAM,mDAFtBmF,EAAGx6C,YAAY,KAAO1H,EAAMqkD,IAMpC,SAASC,EAAYpC,EAAIliD,EAAMqkD,GAC3B,GAAInC,EAAG71C,oBACH61C,EAAG71C,oBAAoBrM,EAAMqkD,OAC1B,KAAGnC,EAAGh4C,YAGT,OAAOpD,EAASi2C,MAAM,sDAFtBmF,EAAGh4C,YAAY,KAAOlK,EAAMqkD,IAMpC,SAASE,EAAiBn9C,GACtB,OAAOJ,EAASI,GAASqqB,UAAUhW,WAAW,GAAGA,WAAW,GAAGA,WAAW,GAG9E,SAAS+oC,EAAiBp9C,GACtB,OAAOJ,EAASI,GAASqqB,UAAUhW,WAAW,GAAGA,WAAW,GAAGA,WAAW,GAS9E,SAAStU,EAAYC,EAASC,GAC1B,IAAI4U,EAAYjV,EAASI,GAAS6U,UAElC,IAAKA,EAAUlM,KACX,MAAM,IAAI7I,MAAM,6DAGpBF,EAASI,GAAS6U,UAAUlM,KAAK1I,GAUrC,SAASS,EAAejB,EAASO,EAASW,GAStC,SAASC,IACL,GAAInB,EAAQmB,MAAO,CACf,IAAIy8C,EAAOphC,MAAMhiB,UAAUsD,MAAM/E,KAAKsN,WAEtC,GADAu3C,EAAK9hC,QAAQ9G,EAAUvb,IAAI8G,GAAU,YACjCN,EAASu6B,IAAIp0B,MACbnG,EAASu6B,IAAIp0B,MAAM,KAAMw3C,QAEzB,IAAK,IAAIhlD,EAAI,EAAGA,EAAIglD,EAAKjgD,OAAQ/E,IAC7BqH,EAASu6B,IAAIojB,EAAKhlD,KAMlC,SAASilD,EAAWt9C,GAChB,SAASu9C,EAAav9C,GAClB,OAAOA,IAAYA,EAAQmV,cAAc6U,MAAQhqB,EAAQmV,cAAc6U,KAAKhQ,SAASha,GAGzF,OAAKu9C,EAAav9C,IAKuB,OAArCiB,OAAOC,iBAAiBlB,GAOhC,SAASw9C,EAAax9C,GAElB,IAAIqqB,EAAYzqB,EAASI,GAASqqB,UAAUhW,WAAW,GACnDrT,EAAQC,OAAOC,iBAAiBmpB,GACpC,OAAQrpB,EAAMG,QAAwC,IAA/BH,EAAMG,MAAMoC,QAAQ,MAG/C,SAASk6C,IAGL,IAAIC,EAA0Bz8C,OAAOC,iBAAiBlB,GAClDgB,EAA0B,GAU9B,OATAA,EAAMS,SAAwBi8C,EAAaj8C,SAC3CT,EAAMG,MAAwBnB,EAAQoB,YACtCJ,EAAMK,OAAwBrB,EAAQsB,aACtCN,EAAMma,IAAwBuiC,EAAaviC,IAC3Cna,EAAMka,MAAwBwiC,EAAaxiC,MAC3Cla,EAAMoa,OAAwBsiC,EAAatiC,OAC3Cpa,EAAMia,KAAwByiC,EAAaziC,KAC3Cja,EAAM28C,SAAwBD,EAAav8C,MAC3CH,EAAM48C,UAAwBF,EAAar8C,OACpCL,EAGX,SAAS68C,IACL,IAAI78C,EAAQy8C,IACZ79C,EAASI,GAAS4C,UAAY,CAC1BzB,MAAOH,EAAMG,MACbE,OAAQL,EAAMK,QAElBT,EAAM,qBAAsBhB,EAASI,GAAS4C,WAGlD,SAASk7C,IACLl+C,EAASI,GAAS6U,UAAY,GAGlC,SAASkpC,IAEL,GADAn9C,EAAM,uBACDhB,EAASI,GAAd,CAKA,IAAIgB,EAAQy8C,IACZ79C,EAASI,GAASgB,MAAQA,OALtBJ,EAAM,iDAQd,SAASo9C,EAAiBh+C,EAASmB,EAAOE,GACtCzB,EAASI,GAASi+C,UAAY98C,EAC9BvB,EAASI,GAASk+C,WAAc78C,EAGpC,SAAS88C,EAAsBn+C,GAC3B,OAAOm9C,EAAiBn9C,GAASqU,WAAW,GAGhD,SAAS+pC,IACL,OAAO,EAAIrC,EAAe56C,MAAQ,EAGtC,SAASk9C,IACL,OAAO,EAAItC,EAAe16C,OAAS,EAGvC,SAASi9C,EAAen9C,GACpB,OAAOA,EAAQ,GAAKi9C,IAGxB,SAASG,EAAgBl9C,GACrB,OAAOA,EAAS,GAAKg9C,IAGzB,SAASG,EAAer9C,GACpB,OAAe,EAARA,EAAYi9C,IAGvB,SAASK,EAAgBp9C,GACrB,OAAgB,EAATA,EAAag9C,IAGxB,SAASK,EAAmB1+C,EAASmB,EAAOE,GACxC,IAAIs9C,EAAkBxB,EAAiBn9C,GACnC4+C,EAAkBxB,EAAiBp9C,GACnC6+C,EAAkBP,EAAen9C,GACjC29C,EAAkBP,EAAgBl9C,GAClC09C,EAAkBP,EAAer9C,GACjC69C,EAAkBP,EAAgBp9C,GACtCs9C,EAAOjjC,WAAemjC,EACtBF,EAAO/iC,UAAekjC,EACtBF,EAAOljC,WAAeqjC,EACtBH,EAAOhjC,UAAeojC,EAG1B,SAASC,IACL,IAAI50B,EAAYzqB,EAASI,GAASqqB,UAElC,IAAKA,EAAW,CACZA,EAA8BloB,SAASC,cAAc,OACrDioB,EAAU0yB,UAAoBb,EAC9B7xB,EAAUrpB,MAAMqB,QAAc,sHAC9BzC,EAASI,GAASqqB,UAAYA,EAC9ByyB,EAAkBzyB,GAClBrqB,EAAQ2C,YAAY0nB,GAEpB,IAAI60B,EAAmB,WACnBt/C,EAASI,GAASm/C,YAAcv/C,EAASI,GAASm/C,cAGtDnC,EAAS3yB,EAAW,iBAAkB60B,GAItCt/C,EAASI,GAASk/C,iBAAmBA,EAGzC,OAAO70B,EAGX,SAAS+0B,IACL,SAAS59C,IACL,IAAIR,EAAQpB,EAASI,GAASgB,MAE9B,GAAsB,WAAnBA,EAAMS,SAAuB,CAC5BzB,EAAQgB,MAAMS,SAAW,WAEzB,IAAIC,EAAuB,SAAShC,EAAUM,EAASgB,EAAOhH,GAC1D,SAAS2H,EAAkBrI,GACvB,OAAOA,EAAMsI,QAAQ,YAAa,IAGtC,IAAItI,EAAQ0H,EAAMhH,GAEL,SAAVV,GAAiD,MAA7BqI,EAAkBrI,KACrCoG,EAASmC,KAAK,kDAAoD7H,EAAW,IAAMV,EAAQ,kHAAoHU,EAAW,+BAAgCgG,GAC1PA,EAAQgB,MAAMhH,GAAY,IAMlC0H,EAAqBhC,EAAUM,EAASgB,EAAO,OAC/CU,EAAqBhC,EAAUM,EAASgB,EAAO,SAC/CU,EAAqBhC,EAAUM,EAASgB,EAAO,UAC/CU,EAAqBhC,EAAUM,EAASgB,EAAO,SAIvD,SAASq+C,EAA6BpkC,EAAME,EAAKC,EAAQF,GAMrD,OALAD,EAASA,EAAcA,EAAO,KAAd,IAChBE,EAAQA,EAAaA,EAAM,KAAb,IACdC,EAAWA,EAAgBA,EAAS,KAAhB,IACpBF,EAAUA,EAAeA,EAAQ,KAAf,IAEX,SAAWD,EAAO,UAAYE,EAAM,YAAcD,EAAQ,aAAeE,EAAS,IAK7F,GAFAxa,EAAM,sBAEDhB,EAASI,GAAd,CAKAwB,IAEA,IAAI89C,EAAgB1/C,EAASI,GAASqqB,UAEjCi1B,IACDA,EAAgBL,KAWpB,IAAIM,EAA0BxD,EAAe56C,MACzCq+C,EAA0BzD,EAAe16C,OACzCo+C,EAA0B,qIAC1BC,EAA0B,sFAAwFL,IAA+B,EAAIE,KAAmB,EAAIC,IAAmBA,GAAkBD,GACjNI,EAA0B,gHAC1BC,EAA0B,gHAC1BC,EAA0B,uCAC1BC,EAA0B,iDAE1BC,EAA0B59C,SAASC,cAAc,OACjDioB,EAA0BloB,SAASC,cAAc,OACjDu8C,EAA0Bx8C,SAASC,cAAc,OACjD49C,EAA0B79C,SAASC,cAAc,OACjDw8C,EAA0Bz8C,SAASC,cAAc,OACjD69C,EAA0B99C,SAASC,cAAc,OAIrD29C,EAAmBn7C,IAAmB,MAEtCm7C,EAAmB/+C,MAAMqB,QAAao9C,EACtCM,EAAmBhD,UAAmBb,EACtC7xB,EAAU0yB,UAA4Bb,EACtC7xB,EAAUrpB,MAAMqB,QAAsBq9C,EACtCf,EAAO39C,MAAMqB,QAAyBs9C,EACtCK,EAAYh/C,MAAMqB,QAAoBw9C,EACtCjB,EAAO59C,MAAMqB,QAAyBu9C,EACtCK,EAAYj/C,MAAMqB,QAAoBy9C,EAEtCnB,EAAOh8C,YAAYq9C,GACnBpB,EAAOj8C,YAAYs9C,GACnB51B,EAAU1nB,YAAYg8C,GACtBt0B,EAAU1nB,YAAYi8C,GACtBmB,EAAmBp9C,YAAY0nB,GAC/Bi1B,EAAc38C,YAAYo9C,GAU1B/C,EAAS2B,EAAQ,SAAUuB,GAC3BlD,EAAS4B,EAAQ,SAAUuB,GAI3BvgD,EAASI,GAASkgD,eAAiBA,EACnCtgD,EAASI,GAASmgD,eAAiBA,OAtE/Bv/C,EAAM,iDAwDV,SAASs/C,IACLtgD,EAASI,GAASogD,UAAYxgD,EAASI,GAASogD,WAGpD,SAASD,IACLvgD,EAASI,GAASqgD,UAAYzgD,EAASI,GAASqgD,YAYxD,SAASC,IACL,SAASC,EAAiBvgD,EAASmB,EAAOE,GACtC,IAAI2+C,EAA0B7B,EAAsBn+C,GAChD6+C,EAA0BP,EAAen9C,GACzC29C,EAA0BP,EAAgBl9C,GAC9C2+C,EAAYh/C,MAAMG,MAAY09C,EAAc,KAC5CmB,EAAYh/C,MAAMK,OAAYy9C,EAAe,KAGjD,SAAS0B,EAAuB35C,GAC5B,IAAI1F,EAAkBnB,EAAQoB,YAC1BC,EAAkBrB,EAAQsB,aAE9BV,EAAM,uBAAwBO,EAAOE,GAIrC28C,EAAiBh+C,EAASmB,EAAOE,GAKjC1B,EAAenB,IAAI,GAAG,WAClB,GAAKoB,EAASI,GAKd,GAAKygD,IAAL,CAKA,GAAIhhD,EAAQmB,MAAO,CACf,IAAI0N,EAAItO,EAAQoB,YACZwJ,EAAI5K,EAAQsB,aAEZgN,IAAMnN,GAASyJ,IAAMvJ,GACrB3B,EAASmC,KAAK4S,EAAUvb,IAAI8G,GAAU,2DAI9CugD,EAAiBvgD,EAASmB,EAAOE,QAb7BT,EAAM,oEALNA,EAAM,oDAqBdjB,EAAenB,IAAI,GAAG,WACboB,EAASI,GAKTygD,IAKL/B,EAAmB1+C,EAASmB,EAAOE,GAJ/BT,EAAM,+DALNA,EAAM,oDAYViG,GACAlH,EAAenB,IAAI,GAAG,WACboB,EAASI,GAKTygD,IAKL55C,IAJEjG,EAAM,+DALJA,EAAM,oDActB,SAAS6/C,IACL,QAAS7gD,EAASI,GAASqqB,UAG/B,SAASq2B,IACL,SAASC,IACL,YAA+CrkD,IAAxCsD,EAASI,GAAS4gD,kBAG7BhgD,EAAM,mCAEN,IAAI8xB,EAAQ9yB,EAASI,GAGrB,OAAI2gD,KAAmBjuB,EAAMurB,YAAcvrB,EAAM9vB,UAAUzB,OAASuxB,EAAMwrB,aAAexrB,EAAM9vB,UAAUvB,OAC9FT,EAAM,8FAIb8xB,EAAMurB,YAAcvrB,EAAMkuB,mBAAqBluB,EAAMwrB,aAAexrB,EAAMmuB,mBACnEjgD,EAAM,yCAIjBA,EAAM,2CACN8xB,EAAMkuB,kBAAoBluB,EAAMurB,UAChCvrB,EAAMmuB,mBAAqBnuB,EAAMwrB,gBACjCvxC,EAAQ/M,EAASI,GAAS6U,WAAW,SAAU5U,GAC3CA,EAASD,OAIjB,SAAS8gD,IAGL,GAFAlgD,EAAM,6BAEF48C,EAAax9C,GACbY,EAAM,qDADV,CAKAA,EAAM,qBACN,IAAI+9C,EAASxB,EAAiBn9C,GAC1B4+C,EAASxB,EAAiBp9C,GACJ,IAAtB2+C,EAAOjjC,YAAyC,IAArBijC,EAAO/iC,WAAyC,IAAtBgjC,EAAOljC,YAAyC,IAArBkjC,EAAOhjC,YACvFhb,EAAM,yDACN4/C,EAAuBE,KAI/B,SAASK,IAGL,GAFAngD,EAAM,oBAEF48C,EAAax9C,GAEbY,EAAM,wDAFV,CAMA,IAAIO,EAAQnB,EAAQoB,YAChBC,EAASrB,EAAQsB,aAEjBH,IAAUvB,EAASI,GAASi+C,WAAa58C,IAAWzB,EAASI,GAASk+C,YACtEt9C,EAAM,yBACN4/C,EAAuBE,IAEvB9/C,EAAM,iCAAmCO,EAAQ,IAAME,EAAS,OAMxE,GAFAT,EAAM,iDAEDhB,EAASI,GAAd,CAKAJ,EAASI,GAASm/C,WAAa2B,EAC/BlhD,EAASI,GAASogD,SAAWW,EAC7BnhD,EAASI,GAASqgD,SAAWU,EAE7B,IAAI//C,EAAQpB,EAASI,GAASgB,MAC9Bu/C,EAAiBvgD,EAASgB,EAAMG,MAAOH,EAAMK,aATzCT,EAAM,iDAYd,SAASogD,IAGL,GAFApgD,EAAM,gCAEDhB,EAASI,GAAd,CAKA,IAAIgB,EAAQpB,EAASI,GAASgB,MAC9Bg9C,EAAiBh+C,EAASgB,EAAMG,MAAOH,EAAMK,QAC7Cq9C,EAAmB1+C,EAASgB,EAAMG,MAAOH,EAAMK,aAN3CT,EAAM,iDASd,SAASqgD,IACLtgD,EAASX,GAGb,SAASwM,IACL5L,EAAM,iBACNk9C,IACAD,IAEAl+C,EAAenB,IAAI,EAAGu/C,GACtBp+C,EAAenB,IAAI,EAAG4gD,GACtBz/C,EAAenB,IAAI,EAAG8hD,GACtB3gD,EAAenB,IAAI,EAAGwiD,GACtBrhD,EAAenB,IAAI,EAAGyiD,GA1crBtgD,IACDA,EAAWX,EACXA,EAAUP,EACVA,EAAU,MAGdA,EAAUA,GAAW,GAucrBmB,EAAM,wBAEF08C,EAAWt9C,IACXY,EAAM,uBAENq+C,IAEAr+C,EAAM,wCAENhB,EAASI,GAASm/C,WAAa,WAC3Bv+C,EAAM,2BACN4L,MAGJA,IAIR,SAAS3J,EAAU7C,GACf,IAAI0yB,EAAQ9yB,EAASI,GAEhB0yB,IAYLA,EAAMwtB,gBAAkBhD,EAAYC,EAAiBn9C,GAAU,SAAU0yB,EAAMwtB,gBAC/ExtB,EAAMytB,gBAAkBjD,EAAYE,EAAiBp9C,GAAU,SAAU0yB,EAAMytB,gBAC/EztB,EAAMwsB,kBAAoBhC,EAAYxqB,EAAMrI,UAAW,iBAAkBqI,EAAMwsB,kBAE/ExsB,EAAMrI,WAAarqB,EAAQ+C,YAAY2vB,EAAMrI,YAGjD,OAjmBAmyB,EAAkBP,EAASC,GAimBpB,CACHx7C,eAAgBA,EAChBX,YAAaA,EACb8C,UAAWA,K,mBCpoBnB,IAAI6F,EAAK,EACLw4C,EAAK3wC,KAAKwxB,SACdpqC,EAAOD,QAAU,SAAUkC,GACzB,MAAO,UAAUmO,YAAezL,IAAR1C,EAAoB,GAAKA,EAAK,QAAS8O,EAAKw4C,GAAI98C,SAAS,O,kCCFnF,IAAI+8C,EAAmB,EAAQ,QAC3BC,EAAO,EAAQ,QACf3mD,EAAY,EAAQ,QACpBmE,EAAY,EAAQ,QAMxBjH,EAAOD,QAAU,EAAQ,OAAR,CAA0BukB,MAAO,SAAS,SAAUolC,EAAUvlD,GAC7E9D,KAAK8V,GAAKlP,EAAUyiD,GACpBrpD,KAAKspD,GAAK,EACVtpD,KAAKupD,GAAKzlD,KAET,WACD,IAAIuC,EAAIrG,KAAK8V,GACThS,EAAO9D,KAAKupD,GACZ7jD,EAAQ1F,KAAKspD,KACjB,OAAKjjD,GAAKX,GAASW,EAAEjB,QACnBpF,KAAK8V,QAAKxR,EACH8kD,EAAK,IAEaA,EAAK,EAApB,QAARtlD,EAA+B4B,EACvB,UAAR5B,EAAiCuC,EAAEX,GACxB,CAACA,EAAOW,EAAEX,OACxB,UAGHjD,EAAU+mD,UAAY/mD,EAAUwhB,MAEhCklC,EAAiB,QACjBA,EAAiB,UACjBA,EAAiB,Y,qBCjCjB,IAAIl9C,EAAW,EAAQ,QACvBtM,EAAOD,QAAU,SAAUkG,GACzB,IAAKqG,EAASrG,GAAK,MAAM0G,UAAU1G,EAAK,sBACxC,OAAOA,I,qBCHT,IAAIkB,EAAM,EAAQ,QACdF,EAAY,EAAQ,QACpB6iD,EAAe,EAAQ,OAAR,EAA6B,GAC5Cl2C,EAAW,EAAQ,OAAR,CAAyB,YAExC5T,EAAOD,QAAU,SAAUqC,EAAQ2nD,GACjC,IAGI9nD,EAHAyE,EAAIO,EAAU7E,GACd1B,EAAI,EACJyF,EAAS,GAEb,IAAKlE,KAAOyE,EAAOzE,GAAO2R,GAAUzM,EAAIT,EAAGzE,IAAQkE,EAAO6K,KAAK/O,GAE/D,MAAO8nD,EAAMtkD,OAAS/E,EAAOyG,EAAIT,EAAGzE,EAAM8nD,EAAMrpD,SAC7CopD,EAAa3jD,EAAQlE,IAAQkE,EAAO6K,KAAK/O,IAE5C,OAAOkE,I,mBCfTnG,EAAOD,QAAU,SAAUkG,GACzB,MAAqB,kBAAPA,EAAyB,OAAPA,EAA4B,oBAAPA,I,mBCDvDjG,EAAOD,QAAU,SAAUmP,EAAMvN,GAC/B,MAAO,CAAEA,MAAOA,EAAOuN,OAAQA,K,kCCCjC,IAAI86C,EAAO,OAEX,SAASC,EAAU5hD,GAEf,OADAA,EAAQ2hD,GAAQ,GACT/hD,EAASI,GAGpB,SAASJ,EAASI,GACd,OAAOA,EAAQ2hD,GAGnB,SAASE,EAAW7hD,UACTA,EAAQ2hD,GAGnBhqD,EAAOD,QAAU,CACbkqD,UAAWA,EACXhiD,SAAUA,EACViiD,WAAYA,I,qBCnBhB,IAAIxT,EAAY,EAAQ,QACxB12C,EAAOD,QAAU,SAAUwM,EAAInH,EAAMK,GAEnC,GADAixC,EAAUnqC,QACG5H,IAATS,EAAoB,OAAOmH,EAC/B,OAAQ9G,GACN,KAAK,EAAG,OAAO,SAAUH,GACvB,OAAOiH,EAAG1L,KAAKuE,EAAME,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOgH,EAAG1L,KAAKuE,EAAME,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGxE,GAC7B,OAAOwL,EAAG1L,KAAKuE,EAAME,EAAGC,EAAGxE,IAG/B,OAAO,WACL,OAAOwL,EAAG2B,MAAM9I,EAAM+I,c,mBCjB1BnO,EAAOD,QAAU,SAAUkG,GACzB,GAAiB,mBAANA,EAAkB,MAAM0G,UAAU1G,EAAK,uBAClD,OAAOA,I,qBCFT,IAAIC,EAAW,EAAQ,QACnBkB,EAAiB,EAAQ,QACzBF,EAAc,EAAQ,QACtBO,EAAKrG,OAAOC,eAEhBtB,EAAQwH,EAAI,EAAQ,QAAoBnG,OAAOC,eAAiB,SAAwBqF,EAAG3B,EAAG+zC,GAI5F,GAHA5yC,EAASQ,GACT3B,EAAImC,EAAYnC,GAAG,GACnBmB,EAAS4yC,GACL1xC,EAAgB,IAClB,OAAOK,EAAGf,EAAG3B,EAAG+zC,GAChB,MAAOtxC,IACT,GAAI,QAASsxC,GAAc,QAASA,EAAY,MAAMnsC,UAAU,4BAEhE,MADI,UAAWmsC,IAAYpyC,EAAE3B,GAAK+zC,EAAWn3C,OACtC+E,I,mBCbT1G,EAAOD,QAAU,gGAEfqO,MAAM,M,kCCHR,yBAAkgB,EAAG,G,qBCArgB,IAAI9B,EAAW,EAAQ,QACvBtM,EAAOD,QAAU,SAAUkG,GACzB,IAAKqG,EAASrG,GAAK,MAAM0G,UAAU1G,EAAK,sBACxC,OAAOA,I,mBCFT,IAAIG,EAASpG,EAAOD,QAA2B,oBAAVuJ,QAAyBA,OAAOsP,MAAQA,KACzEtP,OAAwB,oBAARlJ,MAAuBA,KAAKwY,MAAQA,KAAOxY,KAE3DsT,SAAS,cAATA,GACc,iBAAP8kC,MAAiBA,IAAMpyC,I,kCCHlC,IAAI4O,EAA0B,EAAQ,QAAsBA,QACxDm1C,EAA0B,EAAQ,QAClCC,EAA0B,EAAQ,QAClCC,EAA0B,EAAQ,QAClCC,EAA0B,EAAQ,QAClCC,EAA0B,EAAQ,QAClC1iD,EAA0B,EAAQ,QAClC2iD,EAA0B,EAAQ,QAClCtiD,EAA0B,EAAQ,QAGlCuiD,EAA0B,EAAQ,QAClCC,EAA0B,EAAQ,QAEtC,SAASC,EAAa9zC,GAClB,OAAOyN,MAAMK,QAAQ9N,SAAuBlS,IAAfkS,EAAIpR,OAGrC,SAASmlD,EAAQnK,GACb,GAAKn8B,MAAMK,QAAQ87B,GAOf,OAAOA,EANP,IAAIpiC,EAAQ,GAIZ,OAHArJ,EAAQyrC,GAAY,SAAU5pC,GAC1BwH,EAAMrN,KAAK6F,MAERwH,EAMf,SAASwsC,EAAUh0C,GACf,OAAOA,GAAwB,IAAjBA,EAAIiH,SAuRtB,SAAS03B,EAAU1tC,EAAS7G,EAAMw0C,GAC9B,IAAI9zC,EAAQmG,EAAQ7G,GAEpB,YAAc0D,IAAVhD,GAAiC,OAAVA,QAAoCgD,IAAjB8wC,EAIvC9zC,EAHI8zC,EA9Pfz1C,EAAOD,QAAU,SAAS+H,GAItB,IAAIgV,EAEJ,GALAhV,EAAUA,GAAW,GAKjBA,EAAQgV,UAGRA,EAAY,CACRvb,IAAK,SAAU8G,GAAW,OAAOP,EAAQgV,UAAUvb,IAAI8G,GAAS,IAChE8gB,IAAKrhB,EAAQgV,UAAUqM,SAExB,CACH,IAAIisB,EAAciV,IACdS,EAAmBR,EAAe,CAClClV,YAAaA,EACbltC,aAAcA,IAElB4U,EAAYguC,EAIhB,IAAI/iD,EAAWD,EAAQC,SAEvB,IAAIA,EAAU,CAEV,IAAIg2C,GAAqB,IAAbh2C,EACZA,EAAWwiD,EAAcxM,GAI7B,IAAI/1C,EAAiBwtC,EAAU1tC,EAAS,iBAAkB0iD,EAAoB,CAAEziD,SAAUA,KAGtFgjD,EAAgB,GACpBA,EAAcC,YAAkBxV,EAAU1tC,EAAS,aAAa,GAChEijD,EAAc9hD,QAAkBusC,EAAU1tC,EAAS,SAAS,GAE5D,IAMImjD,EANAC,EAA0Bd,EAAqBttC,GAC/CquC,EAA0BhB,EAAkB,CAC5CjiD,aAAcA,IAKdkjD,EAAkB5V,EAAU1tC,EAAS,WAAY,UACjDujD,EAAkB,CAClBtjD,SAAUA,EACVC,eAAgBA,EAChBE,aAAcA,EACd4U,UAAWA,GAaf,GAVuB,WAApBsuC,IACKvjD,EAAgBuE,iBAChBrE,EAASmC,KAAK,kFACdkhD,EAAkB,UACXvjD,EAAgBY,KAAK,KAC5BV,EAASmC,KAAK,yEACdkhD,EAAkB,WAIH,WAApBA,EACCH,EAAoBP,EAAoBW,OACrC,IAAuB,WAApBD,EAGN,MAAM,IAAIjjD,MAAM,0BAA4BijD,GAF5CH,EAAoBR,EAAoBY,GAU5C,IAAIC,EAAmB,GASvB,SAASC,EAASzjD,EAAS0jD,EAAUljD,GACjC,SAASmjD,EAAiBpjD,GACtB,IAAI6U,EAAYguC,EAAqB3pD,IAAI8G,GACzC2M,EAAQkI,GAAW,SAA2B5U,GAC1CA,EAASD,MAIjB,SAASD,EAAY4iD,EAAW3iD,EAASC,GACrC4iD,EAAqBrkD,IAAIwB,EAASC,GAE/B0iD,GACC1iD,EAASD,GAWjB,GANIC,IACAA,EAAWkjD,EACXA,EAAW1jD,EACXA,EAAU,KAGV0jD,EACA,MAAM,IAAIrjD,MAAM,kCAGpB,IAAIG,EACA,MAAM,IAAIH,MAAM,sBAGpB,GAAI0iD,EAAUW,GAEVA,EAAW,CAACA,OACT,KAAIb,EAAaa,GAKpB,OAAOzjD,EAASi2C,MAAM,6EAFtBwN,EAAWZ,EAAQY,GAKvB,IAAIE,EAAgB,EAEhBV,EAAYxV,EAAU1tC,EAAS,YAAaijD,EAAcC,WAC1DW,EAAkBnW,EAAU1tC,EAAS,WAAW,eAChDmB,EAAQusC,EAAU1tC,EAAS,QAASijD,EAAc9hD,OAEtD+L,EAAQw2C,GAAU,SAAiCnjD,GAC1CH,EAAaD,SAASI,KACvBH,EAAa+hD,UAAU5hD,GACvByU,EAAUqM,IAAI9gB,IAGlB,IAAI0I,EAAK+L,EAAUvb,IAAI8G,GAIvB,GAFAY,GAASlB,EAASu6B,IAAI,gCAAiCvxB,EAAI1I,IAEvD8iD,EAAarU,aAAazuC,GAE1B,OADAY,GAASlB,EAASu6B,IAAIvxB,EAAI,mBACvBo6C,EAAanU,OAAO3uC,IACnBY,GAASlB,EAASu6B,IAAIvxB,EAAI,oCAI1B3I,EAAY4iD,EAAW3iD,EAASC,GAChCgjD,EAAiBv6C,GAAMu6C,EAAiBv6C,IAAO,QAC/Cu6C,EAAiBv6C,GAAIC,MAAK,WACtB06C,IAEGA,IAAkBF,EAAS/lD,QAC1BkmD,SAMZ1iD,GAASlB,EAASu6B,IAAIvxB,EAAI,wBAE1Bo6C,EAAajU,SAAS7uC,GAAS,GACxB4iD,EAAkBliD,eAAe,CAAEE,MAAOA,GAASZ,GAAS,SAA6BA,GAG5F,GAFAY,GAASlB,EAASu6B,IAAIvxB,EAAI,uBAEtB7I,EAAaD,SAASI,GAAU,CAChC8iD,EAAapU,iBAAiB1uC,GAC9B8iD,EAAajU,SAAS7uC,GAAS,GAC/B4iD,EAAkB7iD,YAAYC,EAASojD,GACvCrjD,EAAY4iD,EAAW3iD,EAASC,GAMhC,IAAIyyB,EAAQ7yB,EAAaD,SAASI,GAClC,GAAI0yB,GAASA,EAAM9vB,UAAW,CAC1B,IAAIzB,EAAQnB,EAAQoB,YAChBC,EAASrB,EAAQsB,aACjBoxB,EAAM9vB,UAAUzB,QAAUA,GAASuxB,EAAM9vB,UAAUvB,SAAWA,GAC9D+hD,EAAiBpjD,GAItBijD,EAAiBv6C,IAChBiE,EAAQs2C,EAAiBv6C,IAAK,SAAS/H,GACnCA,YAKRC,GAASlB,EAASu6B,IAAIvxB,EAAI,uDAGvBu6C,EAAiBv6C,GAExB26C,IACGA,IAAkBF,EAAS/lD,QAC1BkmD,QAKZ1iD,GAASlB,EAASu6B,IAAIvxB,EAAI,uCAG1B3I,EAAY4iD,EAAW3iD,EAASC,GAChCojD,OAGDA,IAAkBF,EAAS/lD,QAC1BkmD,IAIR,SAASzgD,EAAUsgD,GACf,IAAIA,EACA,OAAOzjD,EAASi2C,MAAM,qCAG1B,GAAI6M,EAAUW,GAEVA,EAAW,CAACA,OACT,KAAIb,EAAaa,GAKpB,OAAOzjD,EAASi2C,MAAM,6EAFtBwN,EAAWZ,EAAQY,GAKvBx2C,EAAQw2C,GAAU,SAAUnjD,GACxB6iD,EAAqB9tC,mBAAmB/U,GACxC4iD,EAAkB//C,UAAU7C,GAC5BH,EAAagiD,WAAW7hD,MAIhC,MAAO,CACHkjD,SAAUA,EACVtuC,eAAgBiuC,EAAqBjuC,eACrCG,mBAAoB8tC,EAAqB9tC,mBACzClS,UAAWA,K,kCCnTnB,IAAI0gD,EAAkB,EAAQ,QAC1B5kD,EAAa,EAAQ,QAEzBhH,EAAOD,QAAU,SAAUqC,EAAQ2D,EAAOpE,GACpCoE,KAAS3D,EAAQwpD,EAAgBrkD,EAAEnF,EAAQ2D,EAAOiB,EAAW,EAAGrF,IAC/DS,EAAO2D,GAASpE,I,oBCFvB,SAAU6I,GACR,IAAIqhD,EAAgB,gBAChBC,EAAUthD,EAAS0B,qBAAqB,UAGtC2/C,KAAiBrhD,GACrBpJ,OAAOC,eAAemJ,EAAUqhD,EAAe,CAC7CtqD,IAAK,WAIH,IAAM,MAAM,IAAI4G,MAChB,MAAO4jD,GAIL,IAAIrrD,EAAG4Y,GAAO,+BAAiCxL,KAAKi+C,EAAIC,QAAU,EAAC,IAAQ,GAG3E,IAAItrD,KAAKorD,EACP,GAAGA,EAAQprD,GAAG2T,KAAOiF,GAAgC,eAAzBwyC,EAAQprD,GAAGurD,WACrC,OAAOH,EAAQprD,GAKnB,OAAO,UA1BjB,CA+BG8J,W,qBClCH,IAAI7H,EAAU,EAAQ,QAEtBA,EAAQA,EAAQmD,EAAInD,EAAQqC,EAAG,SAAU,CAAEozC,OAAQ,EAAQ,W,mBCH3Dp4C,EAAOD,QAAU,SAAUkG,GACzB,MAAqB,kBAAPA,EAAyB,OAAPA,EAA4B,oBAAPA,I,qBCDvDjG,EAAOD,QAAU,EAAQ,OAAR,CAAqB,4BAA6B2T,SAASjH,W,qBCA5E,IAAIjC,EAAW,EAAQ,QAAaA,SACpCxK,EAAOD,QAAUyK,GAAYA,EAASsZ,iB,kCCMpC,IAAIpjB,G,OALgB,qBAAX4I,UAEP,EAAQ,SAIL5I,EAAI4I,OAAOkB,SAASqhD,iBAAmBnrD,EAAIA,EAAE2T,IAAIgiC,MAAM,8BAC1D,IAA0B31C,EAAE,KAKjB,I,YCdf,2IAEe,qB,qBCDf,IAAIiC,EAAU,EAAQ,QAClBupD,EAAY,EAAQ,QAAaC,SAErCxpD,EAAQA,EAAQmD,EAAG,SAAU,CAC3BqmD,SAAU,SAAkBlmD,GAC1B,MAAoB,iBAANA,GAAkBimD,EAAUjmD,O,mBCN9CjG,EAAOD,QAAU,oD","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!./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=6594d2a5&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n injectScrollStyle(styleId, detectionContainerClass);\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = \"position: absolute; width: \" + width*2 + \"px; height: \" + height*2 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n var container = document.createElement(\"div\");\n container.style.cssText = \"position: absolute; width: \" + width + \"px; height: \" + height + \"px; overflow: scroll; visibility: none; top: \" + -width*3 + \"px; left: \" + -height*3 + \"px; visibility: hidden; margin: 0; padding: 0;\";\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n document.head.appendChild(element);\n };\n\n var styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!document.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { display: none; }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: \" + containerAnimationClass + \"; animation-name: \" + containerAnimationClass + \"; }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = \"visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;\";\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.position = \"relative\";\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return \"left: \" + left + \"; top: \" + top + \"; right: \" + right + \"; bottom: \" + bottom + \";\";\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;\";\n var containerStyle = \"position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; \" + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth);\n var expandStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var shrinkStyle = \"position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;\";\n var expandChildStyle = \"position: absolute; left: 0; top: 0;\";\n var shrinkChildStyle = \"position: absolute; width: 200%; height: 200%;\";\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.width = expandWidth + \"px\";\n expandChild.style.height = expandHeight + \"px\";\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify the if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) {\n debug(\"Element size changed.\");\n updateDetectorElements(notifyListenersIfNeeded);\n } else {\n debug(\"Element size has not changed (\" + width + \"x\" + height + \").\");\n }\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/./src/helpers/DOM.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/vue-loader/lib/runtime/componentNormalizer.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/./src/components/index.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/./src/components/GridLayout.vue?3308","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","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/_object-assign.js","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/./src/helpers/responsiveUtils.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/./src/helpers/utils.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/./src/components/GridItem.vue?11d8","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/domObjects.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/isWindow.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/window.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/is.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/browser.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/arr.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/clone.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/extend.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/raf.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/normalizeListeners.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Eventable.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/domUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/rect.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/getOriginXY.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/hypot.js","webpack://VueGridLayout/./node_modules/@interactjs/core/BaseEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/defaultOptions.js","webpack://VueGridLayout/./node_modules/@interactjs/core/InteractEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/isNonNativeEvent.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Interactable.js","webpack://VueGridLayout/./node_modules/@interactjs/core/InteractableSet.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/pointerExtend.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/pointerUtils.js","webpack://VueGridLayout/./node_modules/@interactjs/core/events.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactStatic.js","webpack://VueGridLayout/./node_modules/@interactjs/utils/misc.js","webpack://VueGridLayout/./node_modules/@interactjs/core/PointerInfo.js","webpack://VueGridLayout/./node_modules/@interactjs/core/Interaction.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactablePreventDefault.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactionFinder.js","webpack://VueGridLayout/./node_modules/@interactjs/core/interactions.js","webpack://VueGridLayout/./node_modules/@interactjs/core/scope.js","webpack://VueGridLayout/./node_modules/@interactjs/interact/index.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/InteractableMethods.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/base.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/dragAxis.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/hold.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/drag/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/auto-start/index.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/resize/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/drag/index.js","webpack://VueGridLayout/./node_modules/@interactjs/actions/resize/index.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/edgeTarget.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/elements.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/grid.js","webpack://VueGridLayout/./node_modules/@interactjs/snappers/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/Modification.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/base.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/aspectRatio.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/noop.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/pointer.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/edges.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/rect.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/restrict/size.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/pointer.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/size.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/snap/edges.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/all.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/dev-tools/plugin.js","webpack://VueGridLayout/./node_modules/@interactjs/modifiers/index.js","webpack://VueGridLayout/./node_modules/@interactjs/dev-tools/index.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./src/components/GridItem.vue","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/(webpack)/buildin/global.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/modules/es6.object.assign.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/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.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","listenerProxy","isIE","proxy","attachEvent","getObject","contentDocument","defaultView","addEventListener","buildCssTextString","rules","seperator","important","join","trim","makeDetectable","callback","debug","injectObject","OBJECT_STYLE","positionCheckPerformed","style","window","getComputedStyle","width","offsetWidth","height","offsetHeight","mutateDom","alterPositionStyles","position","setProperty","removeRelativeStyles","getNumericalValue","replace","warn","onObjectLoad","getDocument","state","checkForObjectDocumentTimeoutId","clearTimeout","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","currentDir","hasDocument","hasWindow","getDocumentDir","direction","dir","getAttribute","addWindowEventListener","event","removeWindowEventListener","removeEventListener","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","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","list","mediaQuery","alreadyImportedModules","id","push","cof","ARG","tryGet","T","B","callee","getOwnPropertySymbols","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","VueGridLayout","GridLayout","GridItem","install","Vue","installed","forEach","component","plugin","GlobalVue","use","store","uid","USE_SYMBOL","$exports","idCount","generate","method","_vm","_h","$createElement","_c","_self","ref","staticClass","_t","directives","rawName","expression","attrs","placeholder","x","y","w","_defineProperty","obj","configurable","writable","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","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","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","DESCRIPTORS","gOPS","$assign","assign","K","k","aLen","getSymbols","isEnum","__g","max","min","def","tag","stat","FProto","nameRE","Attributes","check","buggy","Array","__proto__","ownKeys","createProperty","getOwnPropertyDescriptors","getDesc","hiddenKeys","getOwnPropertyNames","getBreakpointFromWidth","breakpoints","sorted","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","cols","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","verticalCompact","cloneLayout","layout","breakpointsSorted","breakpointsAbove","compact","correctBounds","gOPN","Reflect","UNSCOPABLES","ArrayProto","bottom","bottomY","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","compareWith","getStatics","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","bounds","collidesWith","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","top","left","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","right","setTopLeft","setTopRight","validateLayout","contextName","subProps","isArray","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","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","collection","class","classObj","resizableHandleClass","_e","getControlPosition","offsetXYFromParentOf","evt","offsetParent","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","domObjects","init","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","Element","HTMLElement","Event","Touch","PointerEvent","blank","win","MSPointerEvent","thing","realWindow","el","ownerDocument","wrap","getWindow","node","isWindow","rootNode","docFrag","nodeType","func","number","bool","_window","nodeName","plainObject","array","browser","supportsTouch","supportsPointerEvent","isIOS7","isIOS","isIe9","isOperaMobile","prefixedMatchesSelector","pEventTypes","wheelEvent","DocumentTouch","pointerEnabled","platform","appVersion","appName","up","down","over","move","cancel","contains","merge","from","findIndex","find","clone","dest","prop","extend","ret","request","lastTime","requestAnimationFrame","cancelAnimationFrame","vendors","vendor","currTime","Date","now","timeToCall","token","normalize","search","reduce","acc","prefix","combinedTypes","fireUntilImmediateStopped","immediatePropagationStopped","types","propagationStopped","eventList","subListener","_element","nodeContains","child","selector","matchesSelector","host","matchesUpTo","limit","getActualElement","correspondingUseElement","getScrollXY","relevantWindow","scrollX","documentElement","scrollY","getElementClientRect","clientRect","getClientRects","getElementRect","scroll","trySelector","getStringOptionResult","getRect","resolveRectLike","functionArgs","returnValue","rectToXY","rect","xywhToTlbr","tlbrToXywh","addEdges","edges","delta","actionOptions","actionName","actionOrigin","origin","originRect","BaseEvent","interaction","currentTarget","interactable","_interaction","timeStamp","_proxy","base","preventDefault","deltaSource","perAction","enabled","actions","phase","preEnd","super","relatedTarget","screenX","screenY","button","buttons","ctrlKey","shiftKey","altKey","metaKey","page","client","x0","y0","t0","dt","duration","clientX0","clientY0","velocity","speed","swipe","dragEnter","dragLeave","axes","getOriginXY","starting","ending","prevEvent","coords","start","cur","pointers","downTime","hypot","getSwipe","angle","atan2","velocityY","velocityX","PI","overlap","isNonNativeEvent","phaselessTypes","substr","phases","pageX","pageY","dx","dy","defaultContext","scopeEvents","_actions","events","_context","_win","_doc","_scopeEvents","_rectChecker","onstart","on","onmove","onend","oninertiastart","prev","off","defaults","_defaults","optionName_","optionName","optionValue","updatePerActionListeners","checker","newValue","action","_backCompatOption","targetNode","eventTarget","testIgnore","ignoreFrom","testAllow","allowFrom","iEvent","fire","typeArg","listenerArg","addRemove","_onOff","actionName_","methodDict","methodName","setPerAction","setting","delegatedEvents","delegated","removeDelegate","scope","selectorMap","addListeners","targetMappings","targetIndex","Interactable","mappingInfo","addDocument","isSelector","found","inContext","pointerExtend","prefixedPropREs","deprecated","webkit","moz","copyCoords","setCoordDeltas","targetObj","setCoordVelocity","setZeroCoords","isNativePointer","pointer","getXY","xy","getPageXY","getClientXY","getPointerId","pointerId","identifier","setCoords","pointerAverage","getTouchPair","touches","changedTouches","average","touchBBox","minX","minY","maxX","maxY","touchDistance","sourceX","sourceY","touchAngle","getPointerType","pointerType","getEventTargets","path","composedPath","newCoords","targets","documents","eventsMethods","addDelegate","delegateListener","delegateUseCapture","supportsOptions","supportsPassive","optionalArg","getOptions","typeIsEmpty","typeListeners","doc","delegates","delegate","matchFound","passive","fakeEvent","originalEvent","stopPropagation","stopImmediatePropagation","param","createInteractStatic","interact","interactables","new","globalEvents","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","closest","usePlugin","isSet","eventType","stop","interactions","pointerMoveTolerance","removeDocument","warnOnce","message","warned","copyAction","axis","PointerInfo","downTarget","_ProxyValues","_ProxyMethods","idCounter","scopeFire","_rects","_scopeFire","prepared","downEvent","downPointer","_latestPointer","pointerIsDown","pointerWasMoved","_interacting","_ending","_stopped","simulation","doMove","signalArg","_id","args","pointerIndex","updatePointer","pointerInfo","interacting","_doPhase","modification","endResult","duplicateMove","getPointerIndex","duplicate","curEventTarget","end","removePointer","endPhaseResult","curPointer","_now","_updateLatestPointer","beforeResult","_createPreparedEvent","_fireEvent","checkAndPreventDefault","docOptions","getDocOptions","onInteractionEvent","docEvents","finder","methodOrder","details","allowResume","firstNonActive","hasPointerId","gesture","some","methodNames","doOnInteractions","releasePointersOnRemovedEls","pointerDown","pointerMove","pointerUp","documentBlur","prevTouchTime","Interaction","interactablePreventDefault","matches","changedTouch","searchDetails","getInteraction","invalidPointer","foundInteraction","onDocSignal","eventMethodName","eventMethod","eventOptions","destroy","random","isInitialized","listenerMaps","Eventable","interactStatic","InteractEvent","_plugins","onWindowUnload","unset","initScope","pluginIsInstalled","before","pluginIdRoot","otherId","getDocIndex","docIndex","raf","getAction","defaultActionChecker","actionChecker","styleCursor","0","1","3","4","InteractableMethods","manualStart","Infinity","maxPerElement","mouseButtons","maxInteractions","autoStart","withinInteractionLimit","cursorElement","prepareOnDown","actionInfo","getActionInfo","prepare","prepareOnMove","startOnMove","setInteractionCursor","clearCursorOnStop","setCursor","validateAction","testIgnoreAllow","validateMatches","matchElements","matchElement","matchAction","pushMatches","forEachMatch","maxActions","autoStartMax","activeInteractions","interactableCount","elementCount","otherAction","cursor","prevCursorElement","cursorChecker","getCursor","beforeStart","absX","abs","absY","targetOptions","drag","startAxis","currentAxis","lockAxis","getDraggable","checkStartAxis","thisAxis","hold","delay","getHoldDuration","autoStartHoldTimer","dragAxis","draggable","beforeMove","opposite","__warnedUseImport","setOnEvents","dragOptions","resize","cursors","initCursors","defaultMargin","resizable","resizeChecker","resizeOptions","resizeEdges","edge","checkResizeEdge","margin","preserveAspectRatio","square","interactableElement","topleft","bottomright","topright","bottomleft","resizeEvent","corrected","previous","deltaRect","invert","invertible","current","startRect","swap","updateEventAxes","resizeAxes","NaN","cursorKey","grid","coordFields","xField","yField","gridFunc","range","limits","offset","gridx","round","gridy","snappersPlugin","snappers","createSnapGrid","states","startOffset","startDelta","createResult","pageCoords","modifierList","getModifierList","prepareStates","getRectOffset","startAll","setAll","fillArg","skipModifiers","unmodifiedRect","newResult","lastModifierCoords","shouldDo","eventProps","rectDelta","prevCoords","prevRect","rectChanged","changed","curCoords","startCoords","curDelta","coordsSet","modifiedCoords","adjustment","applyToInteraction","doPreend","endPosition","beforeEnd","modifierArg","coordsAndDeltas","requireEndOnly","endOnly","setStart","other","actionModifiers","modifiers","_methods","makeModifier","modifier","enable","disable","addEventModifiers","modifiersBase","setAndApply","restoreInteractionCoords","aspectRatio","originalEdges","ratio","equalDelta","linkedEdges","xIsPrimaryAxis","edgeSign","negativeSecondaryEdge","subModification","copyFrom","initialCoords","aspectMethod","setEqualDelta","setRatio","correctedRect","xIsCriticalAxis","newHeight","newWidth","elementRect","restriction","getRestrictionRect","widthDiff","heightDiff","restrict","noInner","noOuter","offsetRect","inner","outer","fixRect","restrictEdges","_","restrictRect","noMin","noMax","minSize","maxSize","restrictSize","offsetWithOrigin","getOrigin","snapOffset","relativePoints","offsets","relativePoint","relativeX","relativeY","snapTarget","inRange","distance","optionsOrigin","snap","targetFields","relative","snapSize","snapEdges","spring","avoid","rubberband","CheckName","links","touchAction","boxSizing","logger","devTools","ignore","checks","parentHasStyle","text","hasStyle","noListeners","moveListeners","styleRe","defaultExport","perform","getInfo","Batch","batch","size","topLevel","bottomLevel","level","process","getSize","asyncProcess","autoProcess","asyncFrameHandler","isProcessing","addFunction","processBatchAsync","processBatch","processingBatch","forceProcessBatch","localAsyncProcess","cancelFrame","requestFrame","force","toAbsoluteIndex","IS_INCLUDES","$this","fromIndex","inheritIfRequired","$trim","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","code","digits","parseInt","g","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","initDocument","targetDocument","injectScrollStyle","container","widthSize","clientWidth","heightSize","clientHeight","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","getExpandElement","getShrinkElement","unshift","isDetached","isInDocument","isUnrendered","getStyle","elementStyle","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","sizeChanged","areElementsInjected","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","px","addToUnscopables","step","iterated","_i","_k","Arguments","arrayIndexOf","names","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","toArray","isElement","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","importantCssRules","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","$defineProperty","currentScript","scripts","err","stack","readyState","_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!./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=27b36423&\"\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","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nimport listToStyles from './listToStyles'\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of \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&\"","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=5b39b04a&\"\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","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","\"use strict\";\n\nvar utils = require(\"./utils\");\n\nmodule.exports = function batchProcessorMaker(options) {\n options = options || {};\n var reporter = options.reporter;\n var asyncProcess = utils.getOption(options, \"async\", true);\n var autoProcess = utils.getOption(options, \"auto\", true);\n\n if(autoProcess && !asyncProcess) {\n reporter && reporter.warn(\"Invalid options combination. auto=true and async=false is invalid. Setting async=true.\");\n asyncProcess = true;\n }\n\n var batch = Batch();\n var asyncFrameHandler;\n var isProcessing = false;\n\n function addFunction(level, fn) {\n if(!isProcessing && autoProcess && asyncProcess && batch.size() === 0) {\n // Since this is async, it is guaranteed to be executed after that the fn is added to the batch.\n // This needs to be done before, since we're checking the size of the batch to be 0.\n processBatchAsync();\n }\n\n batch.add(level, fn);\n }\n\n function processBatch() {\n // Save the current batch, and create a new batch so that incoming functions are not added into the currently processing batch.\n // Continue processing until the top-level batch is empty (functions may be added to the new batch while processing, and so on).\n isProcessing = true;\n while (batch.size()) {\n var processingBatch = batch;\n batch = Batch();\n processingBatch.process();\n }\n isProcessing = false;\n }\n\n function forceProcessBatch(localAsyncProcess) {\n if (isProcessing) {\n return;\n }\n\n if(localAsyncProcess === undefined) {\n localAsyncProcess = asyncProcess;\n }\n\n if(asyncFrameHandler) {\n cancelFrame(asyncFrameHandler);\n asyncFrameHandler = null;\n }\n\n if(localAsyncProcess) {\n processBatchAsync();\n } else {\n processBatch();\n }\n }\n\n function processBatchAsync() {\n asyncFrameHandler = requestFrame(processBatch);\n }\n\n function clearBatch() {\n batch = {};\n batchSize = 0;\n topLevel = 0;\n bottomLevel = 0;\n }\n\n function cancelFrame(listener) {\n // var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;\n var cancel = clearTimeout;\n return cancel(listener);\n }\n\n function requestFrame(callback) {\n // var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) { return window.setTimeout(fn, 20); };\n var raf = function(fn) { return setTimeout(fn, 0); };\n return raf(callback);\n }\n\n return {\n add: addFunction,\n force: forceProcessBatch\n };\n};\n\nfunction Batch() {\n var batch = {};\n var size = 0;\n var topLevel = 0;\n var bottomLevel = 0;\n\n function add(level, fn) {\n if(!fn) {\n fn = level;\n level = 0;\n }\n\n if(level > topLevel) {\n topLevel = level;\n } else if(level < bottomLevel) {\n bottomLevel = level;\n }\n\n if(!batch[level]) {\n batch[level] = [];\n }\n\n batch[level].push(fn);\n size++;\n }\n\n function process() {\n for(var level = bottomLevel; level <= topLevel; level++) {\n var fns = batch[level];\n\n for(var i = 0; i < fns.length; i++) {\n var fn = fns[i];\n fn();\n }\n }\n }\n\n function getSize() {\n return size;\n }\n\n return {\n add: add,\n process: process,\n size: getSize\n };\n}\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * Resize detection strategy that injects divs to elements in order to detect resize events on scroll events.\n * Heavily inspired by: https://github.com/marcj/css-element-queries/blob/master/src/ResizeSensor.js\n */\n\n\"use strict\";\n\nvar forEach = require(\"../collection-utils\").forEach;\n\nmodule.exports = function(options) {\n options = options || {};\n var reporter = options.reporter;\n var batchProcessor = options.batchProcessor;\n var getState = options.stateHandler.getState;\n var hasState = options.stateHandler.hasState;\n var idHandler = options.idHandler;\n\n if (!batchProcessor) {\n throw new Error(\"Missing required dependency: batchProcessor\");\n }\n\n if (!reporter) {\n throw new Error(\"Missing required dependency: reporter.\");\n }\n\n //TODO: Could this perhaps be done at installation time?\n var scrollbarSizes = getScrollbarSizes();\n\n var styleId = \"erd_scroll_detection_scrollbar_style\";\n var detectionContainerClass = \"erd_scroll_detection_container\";\n\n function initDocument(targetDocument) {\n // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome.\n // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements).\n injectScrollStyle(targetDocument, styleId, detectionContainerClass);\n }\n\n initDocument(window.document);\n\n function buildCssTextString(rules) {\n var seperator = options.important ? \" !important; \" : \"; \";\n\n return (rules.join(seperator) + seperator).trim();\n }\n\n function getScrollbarSizes() {\n var width = 500;\n var height = 500;\n\n var child = document.createElement(\"div\");\n child.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width*2 + \"px\", \"height: \" + height*2 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n var container = document.createElement(\"div\");\n container.style.cssText = buildCssTextString([\"position: absolute\", \"width: \" + width + \"px\", \"height: \" + height + \"px\", \"overflow: scroll\", \"visibility: none\", \"top: \" + -width*3 + \"px\", \"left: \" + -height*3 + \"px\", \"visibility: hidden\", \"margin: 0\", \"padding: 0\"]);\n\n container.appendChild(child);\n\n document.body.insertBefore(container, document.body.firstChild);\n\n var widthSize = width - container.clientWidth;\n var heightSize = height - container.clientHeight;\n\n document.body.removeChild(container);\n\n return {\n width: widthSize,\n height: heightSize\n };\n }\n\n function injectScrollStyle(targetDocument, styleId, containerClass) {\n function injectStyle(style, method) {\n method = method || function (element) {\n targetDocument.head.appendChild(element);\n };\n\n var styleElement = targetDocument.createElement(\"style\");\n styleElement.innerHTML = style;\n styleElement.id = styleId;\n method(styleElement);\n return styleElement;\n }\n\n if (!targetDocument.getElementById(styleId)) {\n var containerAnimationClass = containerClass + \"_animation\";\n var containerAnimationActiveClass = containerClass + \"_animation_active\";\n var style = \"/* Created by the element-resize-detector library. */\\n\";\n style += \".\" + containerClass + \" > div::-webkit-scrollbar { \" + buildCssTextString([\"display: none\"]) + \" }\\n\\n\";\n style += \".\" + containerAnimationActiveClass + \" { \" + buildCssTextString([\"-webkit-animation-duration: 0.1s\", \"animation-duration: 0.1s\", \"-webkit-animation-name: \" + containerAnimationClass, \"animation-name: \" + containerAnimationClass]) + \" }\\n\";\n style += \"@-webkit-keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\\n\";\n style += \"@keyframes \" + containerAnimationClass + \" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\";\n injectStyle(style);\n }\n }\n\n function addAnimationClass(element) {\n element.className += \" \" + detectionContainerClass + \"_animation_active\";\n }\n\n function addEvent(el, name, cb) {\n if (el.addEventListener) {\n el.addEventListener(name, cb);\n } else if(el.attachEvent) {\n el.attachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to add event listeners.\");\n }\n }\n\n function removeEvent(el, name, cb) {\n if (el.removeEventListener) {\n el.removeEventListener(name, cb);\n } else if(el.detachEvent) {\n el.detachEvent(\"on\" + name, cb);\n } else {\n return reporter.error(\"[scroll] Don't know how to remove event listeners.\");\n }\n }\n\n function getExpandElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[0];\n }\n\n function getShrinkElement(element) {\n return getState(element).container.childNodes[0].childNodes[0].childNodes[1];\n }\n\n /**\n * Adds a resize event listener to the element.\n * @public\n * @param {element} element The element that should have the listener added.\n * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback.\n */\n function addListener(element, listener) {\n var listeners = getState(element).listeners;\n\n if (!listeners.push) {\n throw new Error(\"Cannot add listener to an element that is not detectable.\");\n }\n\n getState(element).listeners.push(listener);\n }\n\n /**\n * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes.\n * @private\n * @param {object} options Optional options object.\n * @param {element} element The element to make detectable\n * @param {function} callback The callback to be called when the element is ready to be listened for resize changes. Will be called with the element as first parameter.\n */\n function makeDetectable(options, element, callback) {\n if (!callback) {\n callback = element;\n element = options;\n options = null;\n }\n\n options = options || {};\n\n function debug() {\n if (options.debug) {\n var args = Array.prototype.slice.call(arguments);\n args.unshift(idHandler.get(element), \"Scroll: \");\n if (reporter.log.apply) {\n reporter.log.apply(null, args);\n } else {\n for (var i = 0; i < args.length; i++) {\n reporter.log(args[i]);\n }\n }\n }\n }\n\n function isDetached(element) {\n function isInDocument(element) {\n return element === element.ownerDocument.body || element.ownerDocument.body.contains(element);\n }\n\n if (!isInDocument(element)) {\n return true;\n }\n\n // FireFox returns null style in hidden iframes. See https://github.com/wnr/element-resize-detector/issues/68 and https://bugzilla.mozilla.org/show_bug.cgi?id=795520\n if (window.getComputedStyle(element) === null) {\n return true;\n }\n\n return false;\n }\n\n function isUnrendered(element) {\n // Check the absolute positioned container since the top level container is display: inline.\n var container = getState(element).container.childNodes[0];\n var style = window.getComputedStyle(container);\n return !style.width || style.width.indexOf(\"px\") === -1; //Can only compute pixel value when rendered.\n }\n\n function getStyle() {\n // Some browsers only force layouts when actually reading the style properties of the style object, so make sure that they are all read here,\n // so that the user of the function can be sure that it will perform the layout here, instead of later (important for batching).\n var elementStyle = window.getComputedStyle(element);\n var style = {};\n style.position = elementStyle.position;\n style.width = element.offsetWidth;\n style.height = element.offsetHeight;\n style.top = elementStyle.top;\n style.right = elementStyle.right;\n style.bottom = elementStyle.bottom;\n style.left = elementStyle.left;\n style.widthCSS = elementStyle.width;\n style.heightCSS = elementStyle.height;\n return style;\n }\n\n function storeStartSize() {\n var style = getStyle();\n getState(element).startSize = {\n width: style.width,\n height: style.height\n };\n debug(\"Element start size\", getState(element).startSize);\n }\n\n function initListeners() {\n getState(element).listeners = [];\n }\n\n function storeStyle() {\n debug(\"storeStyle invoked.\");\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getStyle();\n getState(element).style = style;\n }\n\n function storeCurrentSize(element, width, height) {\n getState(element).lastWidth = width;\n getState(element).lastHeight = height;\n }\n\n function getExpandChildElement(element) {\n return getExpandElement(element).childNodes[0];\n }\n\n function getWidthOffset() {\n return 2 * scrollbarSizes.width + 1;\n }\n\n function getHeightOffset() {\n return 2 * scrollbarSizes.height + 1;\n }\n\n function getExpandWidth(width) {\n return width + 10 + getWidthOffset();\n }\n\n function getExpandHeight(height) {\n return height + 10 + getHeightOffset();\n }\n\n function getShrinkWidth(width) {\n return width * 2 + getWidthOffset();\n }\n\n function getShrinkHeight(height) {\n return height * 2 + getHeightOffset();\n }\n\n function positionScrollbars(element, width, height) {\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n var shrinkWidth = getShrinkWidth(width);\n var shrinkHeight = getShrinkHeight(height);\n expand.scrollLeft = expandWidth;\n expand.scrollTop = expandHeight;\n shrink.scrollLeft = shrinkWidth;\n shrink.scrollTop = shrinkHeight;\n }\n\n function injectContainerElement() {\n var container = getState(element).container;\n\n if (!container) {\n container = document.createElement(\"div\");\n container.className = detectionContainerClass;\n container.style.cssText = buildCssTextString([\"visibility: hidden\", \"display: inline\", \"width: 0px\", \"height: 0px\", \"z-index: -1\", \"overflow: hidden\", \"margin: 0\", \"padding: 0\"]);\n getState(element).container = container;\n addAnimationClass(container);\n element.appendChild(container);\n\n var onAnimationStart = function () {\n getState(element).onRendered && getState(element).onRendered();\n };\n\n addEvent(container, \"animationstart\", onAnimationStart);\n\n // Store the event handler here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onAnimationStart = onAnimationStart;\n }\n\n return container;\n }\n\n function injectScrollElements() {\n function alterPositionStyles() {\n var style = getState(element).style;\n\n if(style.position === \"static\") {\n element.style.setProperty(\"position\", \"relative\",options.important ? \"important\" : \"\");\n\n var removeRelativeStyles = function(reporter, element, style, property) {\n function getNumericalValue(value) {\n return value.replace(/[^-\\d\\.]/g, \"\");\n }\n\n var value = style[property];\n\n if(value !== \"auto\" && getNumericalValue(value) !== \"0\") {\n reporter.warn(\"An element that is positioned static has style.\" + property + \"=\" + value + \" which is ignored due to the static positioning. The element will need to be positioned relative, so the style.\" + property + \" will be set to 0. Element: \", element);\n element.style[property] = 0;\n }\n };\n\n //Check so that there are no accidental styles that will make the element styled differently now that is is relative.\n //If there are any, set them to 0 (this should be okay with the user since the style properties did nothing before [since the element was positioned static] anyway).\n removeRelativeStyles(reporter, element, style, \"top\");\n removeRelativeStyles(reporter, element, style, \"right\");\n removeRelativeStyles(reporter, element, style, \"bottom\");\n removeRelativeStyles(reporter, element, style, \"left\");\n }\n }\n\n function getLeftTopBottomRightCssText(left, top, bottom, right) {\n left = (!left ? \"0\" : (left + \"px\"));\n top = (!top ? \"0\" : (top + \"px\"));\n bottom = (!bottom ? \"0\" : (bottom + \"px\"));\n right = (!right ? \"0\" : (right + \"px\"));\n\n return [\"left: \" + left, \"top: \" + top, \"right: \" + right, \"bottom: \" + bottom];\n }\n\n debug(\"Injecting elements\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n alterPositionStyles();\n\n var rootContainer = getState(element).container;\n\n if (!rootContainer) {\n rootContainer = injectContainerElement();\n }\n\n // Due to this WebKit bug https://bugs.webkit.org/show_bug.cgi?id=80808 (currently fixed in Blink, but still present in WebKit browsers such as Safari),\n // we need to inject two containers, one that is width/height 100% and another that is left/top -1px so that the final container always is 1x1 pixels bigger than\n // the targeted element.\n // When the bug is resolved, \"containerContainer\" may be removed.\n\n // The outer container can occasionally be less wide than the targeted when inside inline elements element in WebKit (see https://bugs.webkit.org/show_bug.cgi?id=152980).\n // This should be no problem since the inner container either way makes sure the injected scroll elements are at least 1x1 px.\n\n var scrollbarWidth = scrollbarSizes.width;\n var scrollbarHeight = scrollbarSizes.height;\n var containerContainerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\", \"left: 0px\", \"top: 0px\"]);\n var containerStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: hidden\", \"z-index: -1\", \"visibility: hidden\"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth)));\n var expandStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var shrinkStyle = buildCssTextString([\"position: absolute\", \"flex: none\", \"overflow: scroll\", \"z-index: -1\", \"visibility: hidden\", \"width: 100%\", \"height: 100%\"]);\n var expandChildStyle = buildCssTextString([\"position: absolute\", \"left: 0\", \"top: 0\"]);\n var shrinkChildStyle = buildCssTextString([\"position: absolute\", \"width: 200%\", \"height: 200%\"]);\n\n var containerContainer = document.createElement(\"div\");\n var container = document.createElement(\"div\");\n var expand = document.createElement(\"div\");\n var expandChild = document.createElement(\"div\");\n var shrink = document.createElement(\"div\");\n var shrinkChild = document.createElement(\"div\");\n\n // Some browsers choke on the resize system being rtl, so force it to ltr. https://github.com/wnr/element-resize-detector/issues/56\n // However, dir should not be set on the top level container as it alters the dimensions of the target element in some browsers.\n containerContainer.dir = \"ltr\";\n\n containerContainer.style.cssText = containerContainerStyle;\n containerContainer.className = detectionContainerClass;\n container.className = detectionContainerClass;\n container.style.cssText = containerStyle;\n expand.style.cssText = expandStyle;\n expandChild.style.cssText = expandChildStyle;\n shrink.style.cssText = shrinkStyle;\n shrinkChild.style.cssText = shrinkChildStyle;\n\n expand.appendChild(expandChild);\n shrink.appendChild(shrinkChild);\n container.appendChild(expand);\n container.appendChild(shrink);\n containerContainer.appendChild(container);\n rootContainer.appendChild(containerContainer);\n\n function onExpandScroll() {\n getState(element).onExpand && getState(element).onExpand();\n }\n\n function onShrinkScroll() {\n getState(element).onShrink && getState(element).onShrink();\n }\n\n addEvent(expand, \"scroll\", onExpandScroll);\n addEvent(shrink, \"scroll\", onShrinkScroll);\n\n // Store the event handlers here so that they may be removed when uninstall is called.\n // See uninstall function for an explanation why it is needed.\n getState(element).onExpandScroll = onExpandScroll;\n getState(element).onShrinkScroll = onShrinkScroll;\n }\n\n function registerListenersAndPositionElements() {\n function updateChildSizes(element, width, height) {\n var expandChild = getExpandChildElement(element);\n var expandWidth = getExpandWidth(width);\n var expandHeight = getExpandHeight(height);\n expandChild.style.setProperty(\"width\", expandWidth + \"px\", options.important ? \"important\" : \"\");\n expandChild.style.setProperty(\"height\", expandHeight + \"px\", options.important ? \"important\" : \"\");\n }\n\n function updateDetectorElements(done) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped.\n var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight;\n\n debug(\"Storing current size\", width, height);\n\n // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners.\n // Otherwise the if-check in handleScroll is useless.\n storeCurrentSize(element, width, height);\n\n // Since we delay the processing of the batch, there is a risk that uninstall has been called before the batch gets to execute.\n // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch.\n\n batchProcessor.add(0, function performUpdateChildSizes() {\n if (!sizeChanged) {\n return;\n }\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n if (options.debug) {\n var w = element.offsetWidth;\n var h = element.offsetHeight;\n\n if (w !== width || h !== height) {\n reporter.warn(idHandler.get(element), \"Scroll: Size changed before updating detector elements.\");\n }\n }\n\n updateChildSizes(element, width, height);\n });\n\n batchProcessor.add(1, function updateScrollbars() {\n // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then\n // been restored to the original size, which will have changed the scrollbar positions.\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n positionScrollbars(element, width, height);\n });\n\n if (sizeChanged && done) {\n batchProcessor.add(2, function () {\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n if (!areElementsInjected()) {\n debug(\"Aborting because element container has not been initialized\");\n return;\n }\n\n done();\n });\n }\n }\n\n function areElementsInjected() {\n return !!getState(element).container;\n }\n\n function notifyListenersIfNeeded() {\n function isFirstNotify() {\n return getState(element).lastNotifiedWidth === undefined;\n }\n\n debug(\"notifyListenersIfNeeded invoked\");\n\n var state = getState(element);\n\n // Don't notify if the current size is the start size, and this is the first notification.\n if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) {\n return debug(\"Not notifying: Size is the same as the start size, and there has been no notification yet.\");\n }\n\n // Don't notify if the size already has been notified.\n if (state.lastWidth === state.lastNotifiedWidth && state.lastHeight === state.lastNotifiedHeight) {\n return debug(\"Not notifying: Size already notified\");\n }\n\n\n debug(\"Current size not notified, notifying...\");\n state.lastNotifiedWidth = state.lastWidth;\n state.lastNotifiedHeight = state.lastHeight;\n forEach(getState(element).listeners, function (listener) {\n listener(element);\n });\n }\n\n function handleRender() {\n debug(\"startanimation triggered.\");\n\n if (isUnrendered(element)) {\n debug(\"Ignoring since element is still unrendered...\");\n return;\n }\n\n debug(\"Element rendered.\");\n var expand = getExpandElement(element);\n var shrink = getShrinkElement(element);\n if (expand.scrollLeft === 0 || expand.scrollTop === 0 || shrink.scrollLeft === 0 || shrink.scrollTop === 0) {\n debug(\"Scrollbars out of sync. Updating detector elements...\");\n updateDetectorElements(notifyListenersIfNeeded);\n }\n }\n\n function handleScroll() {\n debug(\"Scroll detected.\");\n\n if (isUnrendered(element)) {\n // Element is still unrendered. Skip this scroll event.\n debug(\"Scroll event fired while unrendered. Ignoring...\");\n return;\n }\n\n updateDetectorElements(notifyListenersIfNeeded);\n }\n\n debug(\"registerListenersAndPositionElements invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n getState(element).onRendered = handleRender;\n getState(element).onExpand = handleScroll;\n getState(element).onShrink = handleScroll;\n\n var style = getState(element).style;\n updateChildSizes(element, style.width, style.height);\n }\n\n function finalizeDomMutation() {\n debug(\"finalizeDomMutation invoked.\");\n\n if (!getState(element)) {\n debug(\"Aborting because element has been uninstalled\");\n return;\n }\n\n var style = getState(element).style;\n storeCurrentSize(element, style.width, style.height);\n positionScrollbars(element, style.width, style.height);\n }\n\n function ready() {\n callback(element);\n }\n\n function install() {\n debug(\"Installing...\");\n initListeners();\n storeStartSize();\n\n batchProcessor.add(0, storeStyle);\n batchProcessor.add(1, injectScrollElements);\n batchProcessor.add(2, registerListenersAndPositionElements);\n batchProcessor.add(3, finalizeDomMutation);\n batchProcessor.add(4, ready);\n }\n\n debug(\"Making detectable...\");\n\n if (isDetached(element)) {\n debug(\"Element is detached\");\n\n injectContainerElement();\n\n debug(\"Waiting until element is attached...\");\n\n getState(element).onRendered = function () {\n debug(\"Element is now attached\");\n install();\n };\n } else {\n install();\n }\n }\n\n function uninstall(element) {\n var state = getState(element);\n\n if (!state) {\n // Uninstall has been called on a non-erd element.\n return;\n }\n\n // Uninstall may have been called in the following scenarios:\n // (1) Right between the sync code and async batch (here state.busy = true, but nothing have been registered or injected).\n // (2) In the ready callback of the last level of the batch by another element (here, state.busy = true, but all the stuff has been injected).\n // (3) After the installation process (here, state.busy = false and all the stuff has been injected).\n // So to be on the safe side, let's check for each thing before removing.\n\n // We need to remove the event listeners, because otherwise the event might fire on an uninstall element which results in an error when trying to get the state of the element.\n state.onExpandScroll && removeEvent(getExpandElement(element), \"scroll\", state.onExpandScroll);\n state.onShrinkScroll && removeEvent(getShrinkElement(element), \"scroll\", state.onShrinkScroll);\n state.onAnimationStart && removeEvent(state.container, \"animationstart\", state.onAnimationStart);\n\n state.container && element.removeChild(state.container);\n }\n\n return {\n makeDetectable: makeDetectable,\n addListener: addListener,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","\"use strict\";\n\nvar prop = \"_erd\";\n\nfunction initState(element) {\n element[prop] = {};\n return getState(element);\n}\n\nfunction getState(element) {\n return element[prop];\n}\n\nfunction cleanState(element) {\n delete element[prop];\n}\n\nmodule.exports = {\n initState: initState,\n getState: getState,\n cleanState: cleanState\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","import mod from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=style&index=0&lang=css&\"","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","\"use strict\";\n\nvar forEach = require(\"./collection-utils\").forEach;\nvar elementUtilsMaker = require(\"./element-utils\");\nvar listenerHandlerMaker = require(\"./listener-handler\");\nvar idGeneratorMaker = require(\"./id-generator\");\nvar idHandlerMaker = require(\"./id-handler\");\nvar reporterMaker = require(\"./reporter\");\nvar browserDetector = require(\"./browser-detector\");\nvar batchProcessorMaker = require(\"batch-processor\");\nvar stateHandler = require(\"./state-handler\");\n\n//Detection strategies.\nvar objectStrategyMaker = require(\"./detection-strategy/object.js\");\nvar scrollStrategyMaker = require(\"./detection-strategy/scroll.js\");\n\nfunction isCollection(obj) {\n return Array.isArray(obj) || obj.length !== undefined;\n}\n\nfunction toArray(collection) {\n if (!Array.isArray(collection)) {\n var array = [];\n forEach(collection, function (obj) {\n array.push(obj);\n });\n return array;\n } else {\n return collection;\n }\n}\n\nfunction isElement(obj) {\n return obj && obj.nodeType === 1;\n}\n\n/**\n * @typedef idHandler\n * @type {object}\n * @property {function} get Gets the resize detector id of the element.\n * @property {function} set Generate and sets the resize detector id of the element.\n */\n\n/**\n * @typedef Options\n * @type {object}\n * @property {boolean} callOnAdd Determines if listeners should be called when they are getting added.\n Default is true. If true, the listener is guaranteed to be called when it has been added.\n If false, the listener will not be guarenteed to be called when it has been added (does not prevent it from being called).\n * @property {idHandler} idHandler A custom id handler that is responsible for generating, setting and retrieving id's for elements.\n If not provided, a default id handler will be used.\n * @property {reporter} reporter A custom reporter that handles reporting logs, warnings and errors.\n If not provided, a default id handler will be used.\n If set to false, then nothing will be reported.\n * @property {boolean} debug If set to true, the the system will report debug messages as default for the listenTo method.\n */\n\n/**\n * Creates an element resize detector instance.\n * @public\n * @param {Options?} options Optional global options object that will decide how this instance will work.\n */\nmodule.exports = function(options) {\n options = options || {};\n\n //idHandler is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var idHandler;\n\n if (options.idHandler) {\n // To maintain compatability with idHandler.get(element, readonly), make sure to wrap the given idHandler\n // so that readonly flag always is true when it's used here. This may be removed next major version bump.\n idHandler = {\n get: function (element) { return options.idHandler.get(element, true); },\n set: options.idHandler.set\n };\n } else {\n var idGenerator = idGeneratorMaker();\n var defaultIdHandler = idHandlerMaker({\n idGenerator: idGenerator,\n stateHandler: stateHandler\n });\n idHandler = defaultIdHandler;\n }\n\n //reporter is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var reporter = options.reporter;\n\n if(!reporter) {\n //If options.reporter is false, then the reporter should be quiet.\n var quiet = reporter === false;\n reporter = reporterMaker(quiet);\n }\n\n //batchProcessor is currently not an option to the listenTo function, so it should not be added to globalOptions.\n var batchProcessor = getOption(options, \"batchProcessor\", batchProcessorMaker({ reporter: reporter }));\n\n //Options to be used as default for the listenTo function.\n var globalOptions = {};\n globalOptions.callOnAdd = !!getOption(options, \"callOnAdd\", true);\n globalOptions.debug = !!getOption(options, \"debug\", false);\n\n var eventListenerHandler = listenerHandlerMaker(idHandler);\n var elementUtils = elementUtilsMaker({\n stateHandler: stateHandler\n });\n\n //The detection strategy to be used.\n var detectionStrategy;\n var desiredStrategy = getOption(options, \"strategy\", \"object\");\n var importantCssRules = getOption(options, \"important\", false);\n var strategyOptions = {\n reporter: reporter,\n batchProcessor: batchProcessor,\n stateHandler: stateHandler,\n idHandler: idHandler,\n important: importantCssRules\n };\n\n if(desiredStrategy === \"scroll\") {\n if (browserDetector.isLegacyOpera()) {\n reporter.warn(\"Scroll strategy is not supported on legacy Opera. Changing to object strategy.\");\n desiredStrategy = \"object\";\n } else if (browserDetector.isIE(9)) {\n reporter.warn(\"Scroll strategy is not supported on IE9. Changing to object strategy.\");\n desiredStrategy = \"object\";\n }\n }\n\n if(desiredStrategy === \"scroll\") {\n detectionStrategy = scrollStrategyMaker(strategyOptions);\n } else if(desiredStrategy === \"object\") {\n detectionStrategy = objectStrategyMaker(strategyOptions);\n } else {\n throw new Error(\"Invalid strategy name: \" + desiredStrategy);\n }\n\n //Calls can be made to listenTo with elements that are still being installed.\n //Also, same elements can occur in the elements list in the listenTo function.\n //With this map, the ready callbacks can be synchronized between the calls\n //so that the ready callback can always be called when an element is ready - even if\n //it wasn't installed from the function itself.\n var onReadyCallbacks = {};\n\n /**\n * Makes the given elements resize-detectable and starts listening to resize events on the elements. Calls the event callback for each event for each element.\n * @public\n * @param {Options?} options Optional options object. These options will override the global options. Some options may not be overriden, such as idHandler.\n * @param {element[]|element} elements The given array of elements to detect resize events of. Single element is also valid.\n * @param {function} listener The callback to be executed for each resize event for each element.\n */\n function listenTo(options, elements, listener) {\n function onResizeCallback(element) {\n var listeners = eventListenerHandler.get(element);\n forEach(listeners, function callListenerProxy(listener) {\n listener(element);\n });\n }\n\n function addListener(callOnAdd, element, listener) {\n eventListenerHandler.add(element, listener);\n\n if(callOnAdd) {\n listener(element);\n }\n }\n\n //Options object may be omitted.\n if(!listener) {\n listener = elements;\n elements = options;\n options = {};\n }\n\n if(!elements) {\n throw new Error(\"At least one element required.\");\n }\n\n if(!listener) {\n throw new Error(\"Listener required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n var elementsReady = 0;\n\n var callOnAdd = getOption(options, \"callOnAdd\", globalOptions.callOnAdd);\n var onReadyCallback = getOption(options, \"onReady\", function noop() {});\n var debug = getOption(options, \"debug\", globalOptions.debug);\n\n forEach(elements, function attachListenerToElement(element) {\n if (!stateHandler.getState(element)) {\n stateHandler.initState(element);\n idHandler.set(element);\n }\n\n var id = idHandler.get(element);\n\n debug && reporter.log(\"Attaching listener to element\", id, element);\n\n if(!elementUtils.isDetectable(element)) {\n debug && reporter.log(id, \"Not detectable.\");\n if(elementUtils.isBusy(element)) {\n debug && reporter.log(id, \"System busy making it detectable\");\n\n //The element is being prepared to be detectable. Do not make it detectable.\n //Just add the listener, because the element will soon be detectable.\n addListener(callOnAdd, element, listener);\n onReadyCallbacks[id] = onReadyCallbacks[id] || [];\n onReadyCallbacks[id].push(function onReady() {\n elementsReady++;\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n return;\n }\n\n debug && reporter.log(id, \"Making detectable...\");\n //The element is not prepared to be detectable, so do prepare it and add a listener to it.\n elementUtils.markBusy(element, true);\n return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) {\n debug && reporter.log(id, \"onElementDetectable\");\n\n if (stateHandler.getState(element)) {\n elementUtils.markAsDetectable(element);\n elementUtils.markBusy(element, false);\n detectionStrategy.addListener(element, onResizeCallback);\n addListener(callOnAdd, element, listener);\n\n // Since the element size might have changed since the call to \"listenTo\", we need to check for this change,\n // so that a resize event may be emitted.\n // Having the startSize object is optional (since it does not make sense in some cases such as unrendered elements), so check for its existance before.\n // Also, check the state existance before since the element may have been uninstalled in the installation process.\n var state = stateHandler.getState(element);\n if (state && state.startSize) {\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n if (state.startSize.width !== width || state.startSize.height !== height) {\n onResizeCallback(element);\n }\n }\n\n if(onReadyCallbacks[id]) {\n forEach(onReadyCallbacks[id], function(callback) {\n callback();\n });\n }\n } else {\n // The element has been unisntalled before being detectable.\n debug && reporter.log(id, \"Element uninstalled before being detectable.\");\n }\n\n delete onReadyCallbacks[id];\n\n elementsReady++;\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n });\n }\n\n debug && reporter.log(id, \"Already detecable, adding listener.\");\n\n //The element has been prepared to be detectable and is ready to be listened to.\n addListener(callOnAdd, element, listener);\n elementsReady++;\n });\n\n if(elementsReady === elements.length) {\n onReadyCallback();\n }\n }\n\n function uninstall(elements) {\n if(!elements) {\n return reporter.error(\"At least one element is required.\");\n }\n\n if (isElement(elements)) {\n // A single element has been passed in.\n elements = [elements];\n } else if (isCollection(elements)) {\n // Convert collection to array for plugins.\n // TODO: May want to check so that all the elements in the collection are valid elements.\n elements = toArray(elements);\n } else {\n return reporter.error(\"Invalid arguments. Must be a DOM element or a collection of DOM elements.\");\n }\n\n forEach(elements, function (element) {\n eventListenerHandler.removeAllListeners(element);\n detectionStrategy.uninstall(element);\n stateHandler.cleanState(element);\n });\n }\n\n function initDocument(targetDocument) {\n detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument);\n }\n\n return {\n listenTo: listenTo,\n removeListener: eventListenerHandler.removeListener,\n removeAllListeners: eventListenerHandler.removeAllListeners,\n uninstall: uninstall,\n initDocument: initDocument\n };\n};\n\nfunction getOption(options, name, defaultValue) {\n var value = options[name];\n\n if((value === undefined || value === null) && defaultValue !== undefined) {\n return defaultValue;\n }\n\n return value;\n}\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// document.currentScript polyfill by Adam Miller\n\n// MIT license\n\n(function(document){\n var currentScript = \"currentScript\",\n scripts = document.getElementsByTagName('script'); // Live NodeList collection\n\n // If browser needs currentScript polyfill, add get currentScript() to the document object\n if (!(currentScript in document)) {\n Object.defineProperty(document, currentScript, {\n get: function(){\n\n // IE 6-10 supports script readyState\n // IE 10+ support stack trace\n try { throw new Error(); }\n catch (err) {\n\n // Find the second match for the \"at\" string to get file src url from stack.\n // Specifically works with the format of stack traces in IE.\n var i, res = ((/.*at [^\\(]*\\((.*):.+:.+\\)$/ig).exec(err.stack) || [false])[1];\n\n // For all scripts on the page, if src matches or if ready state is interactive, return the script tag\n for(i in scripts){\n if(scripts[i].src == res || scripts[i].readyState == \"interactive\"){\n return scripts[i];\n }\n }\n\n // If no match, return null\n return null;\n }\n }\n });\n }\n})(document);\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n require('current-script-polyfill')\n }\n\n var i\n if ((i = window.document.currentScript) && (i = i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/))) {\n __webpack_public_path__ = i[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\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/package.json b/package.json index 002eccfb..895c389e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-grid-layout", - "version": "2.3.9", + "version": "2.3.10", "description": "A draggable and resizable grid layout, as a Vue component.", "keywords": [ "grid", diff --git a/website/docs/changelog/README.md b/website/docs/changelog/README.md index 0724d050..2f344dce 100644 --- a/website/docs/changelog/README.md +++ b/website/docs/changelog/README.md @@ -3,7 +3,7 @@ sidebar: auto --- # Changelog -## 2.3.10 (Unreleased) +## 2.3.10 (Oct 12, 2020) * Bumped interact.js to 1.10.0, now imported as ES6 modules to optimize size * fix: resizing a grid item in RTL mode wasn't working (thanks [or-lat](https://github.com/or-lat)) From ff6708a0c4e9f4d6d7bf6de2cf4b8f5f211c342a Mon Sep 17 00:00:00 2001 From: Gustavo Santos Date: Mon, 12 Oct 2020 18:46:08 +0100 Subject: [PATCH 053/111] fix example 07 typo --- website/docs/.vuepress/components/Example07PreventCollision.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/.vuepress/components/Example07PreventCollision.vue b/website/docs/.vuepress/components/Example07PreventCollision.vue index 074b63e4..38a2b281 100644 --- a/website/docs/.vuepress/components/Example07PreventCollision.vue +++ b/website/docs/.vuepress/components/Example07PreventCollision.vue @@ -1,6 +1,6 @@